narrat 2.7.2 → 2.8.0-rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,185 @@
1
+ import { AudioConfig } from '../config/audio-config';
2
+ import { DebuggingConfig, DialogPanelConfig, InteractionTagsConfig, MenuButtonsConfig, NotificationsConfig, SavesConfig, SplashScreenConfig, TransitionsConfig, HudStatsConfig } from '../config/common-config';
3
+ import { ItemsConfig } from '../config/items-config';
4
+ import { QuestsConfig } from '../config/quests-config';
5
+ import { ScreensConfig } from '../config/screens-config';
6
+ import { SkillsConfig } from '../config/skills-config';
7
+ import { ButtonsConfig } from './buttons-config';
8
+ import { LayoutConfig } from './layout-config';
9
+ export interface Config {
10
+ baseAssetsPath: string;
11
+ baseDataPath: string;
12
+ gameTitle: string;
13
+ images: {
14
+ [key: string]: string;
15
+ };
16
+ layout: LayoutConfig;
17
+ gameFlow: {
18
+ labelToJumpOnScriptEnd?: string;
19
+ };
20
+ dialogPanel: DialogPanelConfig;
21
+ splashScreens: SplashScreenConfig;
22
+ screens: ScreensConfig;
23
+ buttons: ButtonsConfig;
24
+ skills: SkillsConfig;
25
+ scripts: string[];
26
+ audio: AudioConfig;
27
+ notifications: NotificationsConfig;
28
+ hudStats: HudStatsConfig;
29
+ items: ItemsConfig;
30
+ interactionTags: InteractionTagsConfig;
31
+ quests: QuestsConfig;
32
+ transitions: TransitionsConfig;
33
+ menuButtons: MenuButtonsConfig;
34
+ debugging: DebuggingConfig;
35
+ saves: SavesConfig;
36
+ }
37
+ export declare const defaultConfig: {
38
+ baseAssetsPath: string;
39
+ baseDataPath: string;
40
+ gameTitle: string;
41
+ images: {};
42
+ layout: {
43
+ minTextWidth?: number | undefined;
44
+ backgrounds: {
45
+ width: number;
46
+ height: number;
47
+ };
48
+ dialogBottomPadding: string | number;
49
+ verticalLayoutThreshold: number;
50
+ portraits: {
51
+ offset?: {
52
+ landscape?: {
53
+ right: number;
54
+ bottom: number;
55
+ } | undefined;
56
+ portrait?: {
57
+ right: number;
58
+ bottom: number;
59
+ } | undefined;
60
+ } | undefined;
61
+ width: number;
62
+ height: number;
63
+ };
64
+ };
65
+ gameFlow: {};
66
+ dialogPanel: {
67
+ overlayMode: boolean;
68
+ rightOffset: number;
69
+ bottomOffset: number;
70
+ width: number;
71
+ height: number;
72
+ textSpeed: number;
73
+ animateText: boolean;
74
+ timeBetweenLines: number;
75
+ };
76
+ splashScreens: {};
77
+ screens: {
78
+ screens: Record<string, {
79
+ buttons?: (string | ({
80
+ anchor?: {
81
+ x: number;
82
+ y: number;
83
+ } | undefined;
84
+ text?: string | undefined;
85
+ tag?: string | undefined;
86
+ cssClass?: string | undefined;
87
+ background?: string | undefined;
88
+ actionType?: string | undefined;
89
+ action: string;
90
+ enabled: boolean;
91
+ position: {
92
+ width?: number | undefined;
93
+ height?: number | undefined;
94
+ left: number;
95
+ top: number;
96
+ };
97
+ } & {
98
+ id: string;
99
+ }))[] | undefined;
100
+ background: string;
101
+ }>;
102
+ };
103
+ buttons: {
104
+ buttons: Record<string, {
105
+ anchor?: {
106
+ x: number;
107
+ y: number;
108
+ } | undefined;
109
+ text?: string | undefined;
110
+ tag?: string | undefined;
111
+ cssClass?: string | undefined;
112
+ background?: string | undefined;
113
+ actionType?: string | undefined;
114
+ action: string;
115
+ enabled: boolean;
116
+ position: {
117
+ width?: number | undefined;
118
+ height?: number | undefined;
119
+ left: number;
120
+ top: number;
121
+ };
122
+ }>;
123
+ };
124
+ skills: {
125
+ skills: Record<string, {
126
+ hidden?: boolean | undefined;
127
+ description: string;
128
+ name: string;
129
+ startingLevel: number;
130
+ icon: string;
131
+ }>;
132
+ skillChecks: {
133
+ rollRange: number;
134
+ skillMultiplier: number;
135
+ failureChance: number;
136
+ difficultyText: [number, string][];
137
+ };
138
+ skillOptions: {
139
+ xpPerLevel: number;
140
+ notifyLevelUp: boolean;
141
+ };
142
+ };
143
+ scripts: never[];
144
+ audio: AudioConfig;
145
+ notifications: {
146
+ timeOnScreen: number;
147
+ alsoPrintInDialogue: boolean;
148
+ };
149
+ hudStats: {};
150
+ items: {
151
+ items: Record<string, {
152
+ onUse?: {
153
+ label: string;
154
+ action: string;
155
+ } | undefined;
156
+ tag?: string | undefined;
157
+ category?: string | undefined;
158
+ description: string;
159
+ name: string;
160
+ icon: string;
161
+ }>;
162
+ categories: {
163
+ title: string;
164
+ id: string;
165
+ }[];
166
+ };
167
+ interactionTags: {
168
+ default: {
169
+ onlyInteractOutsideOfScripts: boolean;
170
+ };
171
+ };
172
+ quests: {
173
+ quests: {};
174
+ };
175
+ transitions: {};
176
+ menuButtons: {};
177
+ debugging: {
178
+ showScriptFinishedMessage: boolean;
179
+ };
180
+ saves: {
181
+ mode: string;
182
+ slots: number;
183
+ };
184
+ };
185
+ export declare const defaultConfigTyped: Config;
@@ -0,0 +1,37 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const ItemConfigSchema: import("@sinclair/typebox").TObject<{
3
+ name: import("@sinclair/typebox").TString;
4
+ description: import("@sinclair/typebox").TString;
5
+ icon: import("@sinclair/typebox").TString;
6
+ onUse: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
7
+ action: import("@sinclair/typebox").TString;
8
+ label: import("@sinclair/typebox").TString;
9
+ }>>;
10
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
11
+ category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
12
+ }>;
13
+ export declare type ItemConfig = Static<typeof ItemConfigSchema>;
14
+ export declare const ItemCategorySchema: import("@sinclair/typebox").TObject<{
15
+ id: import("@sinclair/typebox").TString;
16
+ title: import("@sinclair/typebox").TString;
17
+ }>;
18
+ export declare type ItemCategory = Static<typeof ItemCategorySchema>;
19
+ export declare const ItemsConfigSchema: import("@sinclair/typebox").TObject<{
20
+ categories: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
21
+ id: import("@sinclair/typebox").TString;
22
+ title: import("@sinclair/typebox").TString;
23
+ }>>;
24
+ items: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
25
+ name: import("@sinclair/typebox").TString;
26
+ description: import("@sinclair/typebox").TString;
27
+ icon: import("@sinclair/typebox").TString;
28
+ onUse: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
29
+ action: import("@sinclair/typebox").TString;
30
+ label: import("@sinclair/typebox").TString;
31
+ }>>;
32
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
33
+ category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
34
+ }>>;
35
+ }>;
36
+ export declare type ItemsConfig = Static<typeof ItemsConfigSchema>;
37
+ export declare const defaultItemsConfig: ItemsConfig;
@@ -0,0 +1,26 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const LayoutConfigSchema: import("@sinclair/typebox").TObject<{
3
+ backgrounds: import("@sinclair/typebox").TObject<{
4
+ width: import("@sinclair/typebox").TNumber;
5
+ height: import("@sinclair/typebox").TNumber;
6
+ }>;
7
+ dialogBottomPadding: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>;
8
+ minTextWidth: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
9
+ verticalLayoutThreshold: import("@sinclair/typebox").TNumber;
10
+ portraits: import("@sinclair/typebox").TObject<{
11
+ width: import("@sinclair/typebox").TNumber;
12
+ height: import("@sinclair/typebox").TNumber;
13
+ offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
14
+ landscape: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
15
+ right: import("@sinclair/typebox").TNumber;
16
+ bottom: import("@sinclair/typebox").TNumber;
17
+ }>>;
18
+ portrait: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
19
+ right: import("@sinclair/typebox").TNumber;
20
+ bottom: import("@sinclair/typebox").TNumber;
21
+ }>>;
22
+ }>>;
23
+ }>;
24
+ }>;
25
+ export declare type LayoutConfig = Static<typeof LayoutConfigSchema>;
26
+ export declare const defaultLayoutConfig: LayoutConfig;
@@ -0,0 +1,36 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const ObjectiveDataSchema: import("@sinclair/typebox").TObject<{
3
+ description: import("@sinclair/typebox").TString;
4
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
5
+ }>;
6
+ export declare type ObjectiveData = Static<typeof ObjectiveDataSchema>;
7
+ export declare const QuestDataSchema: import("@sinclair/typebox").TObject<{
8
+ title: import("@sinclair/typebox").TString;
9
+ description: import("@sinclair/typebox").TString;
10
+ objectives: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
11
+ description: import("@sinclair/typebox").TString;
12
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
13
+ }>>;
14
+ }>;
15
+ export declare type QuestData = Static<typeof QuestDataSchema>;
16
+ export declare const QuestsListSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
17
+ title: import("@sinclair/typebox").TString;
18
+ description: import("@sinclair/typebox").TString;
19
+ objectives: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
20
+ description: import("@sinclair/typebox").TString;
21
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
22
+ }>>;
23
+ }>>;
24
+ export declare type QuestsList = Static<typeof QuestsListSchema>;
25
+ export declare const QuestsConfigSchema: import("@sinclair/typebox").TObject<{
26
+ quests: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
27
+ title: import("@sinclair/typebox").TString;
28
+ description: import("@sinclair/typebox").TString;
29
+ objectives: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
30
+ description: import("@sinclair/typebox").TString;
31
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
32
+ }>>;
33
+ }>>;
34
+ }>;
35
+ export declare type QuestsConfig = Static<typeof QuestsConfigSchema>;
36
+ export declare const defaultQuestsConfig: QuestsConfig;
@@ -0,0 +1,128 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const InlineButtonConfigSchema: import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
3
+ enabled: import("@sinclair/typebox").TBoolean;
4
+ background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
5
+ text: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
6
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
7
+ position: import("@sinclair/typebox").TObject<{
8
+ left: import("@sinclair/typebox").TNumber;
9
+ top: import("@sinclair/typebox").TNumber;
10
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
11
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
12
+ }>;
13
+ anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
14
+ x: import("@sinclair/typebox").TNumber;
15
+ y: import("@sinclair/typebox").TNumber;
16
+ }>>;
17
+ action: import("@sinclair/typebox").TString;
18
+ actionType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
19
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
20
+ }>, import("@sinclair/typebox").TObject<{
21
+ id: import("@sinclair/typebox").TString;
22
+ }>]>;
23
+ export declare type InlineButtonConfig = Static<typeof InlineButtonConfigSchema>;
24
+ export declare const ScreenConfigSchema: import("@sinclair/typebox").TObject<{
25
+ background: import("@sinclair/typebox").TString;
26
+ buttons: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
27
+ enabled: import("@sinclair/typebox").TBoolean;
28
+ background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
29
+ text: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
30
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
31
+ position: import("@sinclair/typebox").TObject<{
32
+ left: import("@sinclair/typebox").TNumber;
33
+ top: import("@sinclair/typebox").TNumber;
34
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
35
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
36
+ }>;
37
+ anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
38
+ x: import("@sinclair/typebox").TNumber;
39
+ y: import("@sinclair/typebox").TNumber;
40
+ }>>;
41
+ action: import("@sinclair/typebox").TString;
42
+ actionType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
43
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
44
+ }>, import("@sinclair/typebox").TObject<{
45
+ id: import("@sinclair/typebox").TString;
46
+ }>]>]>>>;
47
+ }>;
48
+ export declare type ScreenConfig = Static<typeof ScreenConfigSchema>;
49
+ export declare const ScreensListSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
50
+ background: import("@sinclair/typebox").TString;
51
+ buttons: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
52
+ enabled: import("@sinclair/typebox").TBoolean;
53
+ background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
54
+ text: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
55
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
56
+ position: import("@sinclair/typebox").TObject<{
57
+ left: import("@sinclair/typebox").TNumber;
58
+ top: import("@sinclair/typebox").TNumber;
59
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
60
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
61
+ }>;
62
+ anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
63
+ x: import("@sinclair/typebox").TNumber;
64
+ y: import("@sinclair/typebox").TNumber;
65
+ }>>;
66
+ action: import("@sinclair/typebox").TString;
67
+ actionType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
68
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
69
+ }>, import("@sinclair/typebox").TObject<{
70
+ id: import("@sinclair/typebox").TString;
71
+ }>]>]>>>;
72
+ }>>;
73
+ export declare type ScreensList = Static<typeof ScreensListSchema>;
74
+ export declare const ScreensConfigSchema: import("@sinclair/typebox").TObject<{
75
+ screens: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
76
+ background: import("@sinclair/typebox").TString;
77
+ buttons: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
78
+ enabled: import("@sinclair/typebox").TBoolean;
79
+ background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
80
+ text: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
81
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
82
+ position: import("@sinclair/typebox").TObject<{
83
+ left: import("@sinclair/typebox").TNumber;
84
+ top: import("@sinclair/typebox").TNumber;
85
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
86
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
87
+ }>;
88
+ anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
89
+ x: import("@sinclair/typebox").TNumber;
90
+ y: import("@sinclair/typebox").TNumber;
91
+ }>>;
92
+ action: import("@sinclair/typebox").TString;
93
+ actionType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
94
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
95
+ }>, import("@sinclair/typebox").TObject<{
96
+ id: import("@sinclair/typebox").TString;
97
+ }>]>]>>>;
98
+ }>>;
99
+ }>;
100
+ export declare type ScreensConfig = Static<typeof ScreensConfigSchema>;
101
+ export declare const ScreensInputConfigSchema: import("@sinclair/typebox").TObject<{
102
+ screens: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
103
+ background: import("@sinclair/typebox").TString;
104
+ buttons: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TIntersect<[import("@sinclair/typebox").TObject<{
105
+ enabled: import("@sinclair/typebox").TBoolean;
106
+ background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
107
+ text: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
108
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
109
+ position: import("@sinclair/typebox").TObject<{
110
+ left: import("@sinclair/typebox").TNumber;
111
+ top: import("@sinclair/typebox").TNumber;
112
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
113
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
114
+ }>;
115
+ anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
116
+ x: import("@sinclair/typebox").TNumber;
117
+ y: import("@sinclair/typebox").TNumber;
118
+ }>>;
119
+ action: import("@sinclair/typebox").TString;
120
+ actionType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
121
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
122
+ }>, import("@sinclair/typebox").TObject<{
123
+ id: import("@sinclair/typebox").TString;
124
+ }>]>]>>>;
125
+ }>>>;
126
+ }>;
127
+ export declare type ScreensInputConfig = Static<typeof ScreensInputConfigSchema>;
128
+ export declare const defaultScreensConfig: ScreensConfig;
@@ -0,0 +1,70 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const SkillConfigSchema: import("@sinclair/typebox").TObject<{
3
+ name: import("@sinclair/typebox").TString;
4
+ description: import("@sinclair/typebox").TString;
5
+ startingLevel: import("@sinclair/typebox").TNumber;
6
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
7
+ icon: import("@sinclair/typebox").TString;
8
+ }>;
9
+ export declare type SkillConfig = Static<typeof SkillConfigSchema>;
10
+ export declare const SkillsListConfigSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
11
+ name: import("@sinclair/typebox").TString;
12
+ description: import("@sinclair/typebox").TString;
13
+ startingLevel: import("@sinclair/typebox").TNumber;
14
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
15
+ icon: import("@sinclair/typebox").TString;
16
+ }>>;
17
+ export declare type SkillsListConfig = Static<typeof SkillsListConfigSchema>;
18
+ export declare const SkillOptionsSchema: import("@sinclair/typebox").TObject<{
19
+ xpPerLevel: import("@sinclair/typebox").TNumber;
20
+ notifyLevelUp: import("@sinclair/typebox").TBoolean;
21
+ }>;
22
+ export declare type SkillOptions = Static<typeof SkillOptionsSchema>;
23
+ export declare const SkillChecksConfigSchema: import("@sinclair/typebox").TObject<{
24
+ rollRange: import("@sinclair/typebox").TNumber;
25
+ skillMultiplier: import("@sinclair/typebox").TNumber;
26
+ failureChance: import("@sinclair/typebox").TNumber;
27
+ difficultyText: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>>;
28
+ }>;
29
+ export declare type SkillChecksConfig = Static<typeof SkillChecksConfigSchema>;
30
+ export declare const SkillsConfigSchema: import("@sinclair/typebox").TObject<{
31
+ skills: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
32
+ name: import("@sinclair/typebox").TString;
33
+ description: import("@sinclair/typebox").TString;
34
+ startingLevel: import("@sinclair/typebox").TNumber;
35
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
36
+ icon: import("@sinclair/typebox").TString;
37
+ }>>;
38
+ skillChecks: import("@sinclair/typebox").TObject<{
39
+ rollRange: import("@sinclair/typebox").TNumber;
40
+ skillMultiplier: import("@sinclair/typebox").TNumber;
41
+ failureChance: import("@sinclair/typebox").TNumber;
42
+ difficultyText: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>>;
43
+ }>;
44
+ skillOptions: import("@sinclair/typebox").TObject<{
45
+ xpPerLevel: import("@sinclair/typebox").TNumber;
46
+ notifyLevelUp: import("@sinclair/typebox").TBoolean;
47
+ }>;
48
+ }>;
49
+ export declare type SkillsConfig = Static<typeof SkillsConfigSchema>;
50
+ export declare const SkillsInputConfigSchema: import("@sinclair/typebox").TObject<{
51
+ skills: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
52
+ name: import("@sinclair/typebox").TString;
53
+ description: import("@sinclair/typebox").TString;
54
+ startingLevel: import("@sinclair/typebox").TNumber;
55
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
56
+ icon: import("@sinclair/typebox").TString;
57
+ }>>>;
58
+ skillChecks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
59
+ rollRange: import("@sinclair/typebox").TNumber;
60
+ skillMultiplier: import("@sinclair/typebox").TNumber;
61
+ failureChance: import("@sinclair/typebox").TNumber;
62
+ difficultyText: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>>;
63
+ }>>;
64
+ skillOptions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
65
+ xpPerLevel: import("@sinclair/typebox").TNumber;
66
+ notifyLevelUp: import("@sinclair/typebox").TBoolean;
67
+ }>>;
68
+ }>;
69
+ export declare type SkillsInputConfig = Static<typeof SkillsInputConfigSchema>;
70
+ export declare const defaultSkillsConfig: SkillsConfig;