narrat 2.7.1 → 2.8.0-rc1

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.
Files changed (36) hide show
  1. package/dist/components/SkillsWindow.vue.d.ts +8 -2
  2. package/dist/components/hud.vue.d.ts +8 -2
  3. package/dist/components/inventory/item-details.vue.d.ts +4 -4
  4. package/dist/components/inventory-ui.vue.d.ts +13 -3
  5. package/dist/config/audio-config.d.ts +58 -0
  6. package/dist/config/buttons-config.d.ts +42 -0
  7. package/dist/config/common-config.d.ts +80 -0
  8. package/dist/config/config-input.d.ts +193 -0
  9. package/dist/config/config-output.d.ts +181 -0
  10. package/dist/config/items-config.d.ts +37 -0
  11. package/dist/config/layout-config.d.ts +26 -0
  12. package/dist/config/quests-config.d.ts +36 -0
  13. package/dist/config/screens-config.d.ts +166 -0
  14. package/dist/config/skills-config.d.ts +70 -0
  15. package/dist/config.d.ts +132 -224
  16. package/dist/constants.d.ts +2 -0
  17. package/dist/main.d.ts +1 -2
  18. package/dist/narrat.es.js +23303 -18266
  19. package/dist/narrat.es.js.map +1 -1
  20. package/dist/narrat.umd.js +123 -116
  21. package/dist/narrat.umd.js.map +1 -1
  22. package/dist/stores/config-store.d.ts +6 -0
  23. package/dist/stores/hud-stats-store.d.ts +2 -4
  24. package/dist/stores/inventory-store.d.ts +12 -2
  25. package/dist/stores/main-store.d.ts +97 -9
  26. package/dist/stores/quest-log.d.ts +2 -4
  27. package/dist/stores/screens-store.d.ts +2 -2
  28. package/dist/stores/skills.d.ts +2 -4
  29. package/dist/stores/sprites-store.d.ts +4 -0
  30. package/dist/stores/vm-store.d.ts +1 -0
  31. package/dist/utils/audio-loader.d.ts +3 -3
  32. package/dist/utils/data-helpers.d.ts +1 -1
  33. package/dist/utils/images-loader.d.ts +1 -1
  34. package/dist/utils/object-iterators.d.ts +1 -0
  35. package/package.json +4 -1
  36. package/dist/defaultConfig.d.ts +0 -2
@@ -1,4 +1,4 @@
1
- import { SkillData } from '../config';
1
+ import { SkillConfig } from '../config/skills-config';
2
2
  import { SkillsState } from '../stores/skills';
3
3
  declare const _default: import("vue").DefineComponent<{}, {
4
4
  skills: import("vue").ComputedRef<SkillsState>;
@@ -7,7 +7,13 @@ declare const _default: import("vue").DefineComponent<{}, {
7
7
  }, {
8
8
  skillsToDisplay(): SkillsState;
9
9
  skillConf(): {
10
- [key: string]: SkillData;
10
+ [key: string]: {
11
+ hidden?: boolean | undefined;
12
+ description: string;
13
+ name: string;
14
+ startingLevel: number;
15
+ icon: string;
16
+ };
11
17
  };
12
18
  xpPerLevel(): number;
13
19
  }, {
@@ -1,8 +1,14 @@
1
- import { HudStatConfig } from '../config';
1
+ import { HudStatData } from '../config/common-config';
2
2
  import { HudStatsState } from '../stores/hud-stats-store';
3
3
  declare const _default: import("vue").DefineComponent<{}, {}, {}, {
4
4
  statsConfig(): {
5
- [key: string]: HudStatConfig;
5
+ [key: string]: {
6
+ name: string;
7
+ icon: string;
8
+ startingValue: number;
9
+ maxValue: number;
10
+ minValue: number;
11
+ };
6
12
  };
7
13
  stats(): HudStatsState;
8
14
  hudStyle(): any;
@@ -6,8 +6,8 @@ declare const _default: {
6
6
  $props: Partial<{}> & Omit<Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
7
7
  item: ItemState;
8
8
  }>>> & {
9
- onClose?: ((...args: any[]) => any) | undefined;
10
9
  onUse?: ((...args: any[]) => any) | undefined;
10
+ onClose?: ((...args: any[]) => any) | undefined;
11
11
  } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>;
12
12
  $attrs: {
13
13
  [x: string]: unknown;
@@ -25,8 +25,8 @@ declare const _default: {
25
25
  $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
26
26
  item: ItemState;
27
27
  }>>> & {
28
- onClose?: ((...args: any[]) => any) | undefined;
29
28
  onUse?: ((...args: any[]) => any) | undefined;
29
+ onClose?: ((...args: any[]) => any) | undefined;
30
30
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "use")[], string, {}> & {
31
31
  beforeCreate?: ((() => void) | (() => void)[]) | undefined;
32
32
  created?: ((() => void) | (() => void)[]) | undefined;
@@ -50,8 +50,8 @@ declare const _default: {
50
50
  } & Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
51
51
  item: ItemState;
52
52
  }>>> & {
53
- onClose?: ((...args: any[]) => any) | undefined;
54
53
  onUse?: ((...args: any[]) => any) | undefined;
54
+ onClose?: ((...args: any[]) => any) | undefined;
55
55
  } & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties;
56
56
  __isFragment?: undefined;
57
57
  __isTeleport?: undefined;
@@ -59,8 +59,8 @@ declare const _default: {
59
59
  } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
60
60
  item: ItemState;
61
61
  }>>> & {
62
- onClose?: ((...args: any[]) => any) | undefined;
63
62
  onUse?: ((...args: any[]) => any) | undefined;
63
+ onClose?: ((...args: any[]) => any) | undefined;
64
64
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "use")[], "use" | "close", {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
65
65
  $slots: {};
66
66
  });
@@ -1,4 +1,4 @@
1
- import { ItemData } from '../config';
1
+ import { ItemConfig } from '../config/items-config';
2
2
  import { ItemState } from '../stores/inventory-store';
3
3
  import { InventorySectionProps } from './inventory/inventory-section.vue';
4
4
  declare const _default: import("vue").DefineComponent<{}, {
@@ -12,9 +12,19 @@ declare const _default: import("vue").DefineComponent<{}, {
12
12
  itemsToDisplay(): ItemState[];
13
13
  chosenItem(): null | ItemState;
14
14
  canUseChosenItem(): boolean;
15
- chosenItemConf(): null | ItemData;
15
+ chosenItemConf(): null | ItemConfig;
16
16
  itemConf(): {
17
- [key: string]: ItemData;
17
+ [key: string]: {
18
+ tag?: string | undefined;
19
+ onUse?: {
20
+ label: string;
21
+ action: string;
22
+ } | undefined;
23
+ category?: string | undefined;
24
+ description: string;
25
+ name: string;
26
+ icon: string;
27
+ };
18
28
  };
19
29
  sections(): InventorySectionProps[];
20
30
  }, {
@@ -0,0 +1,58 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const AudioFileConfigSchema: import("@sinclair/typebox").TObject<{
3
+ src: import("@sinclair/typebox").TString;
4
+ path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
5
+ volume: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
6
+ rate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
7
+ html5: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
8
+ }>;
9
+ export declare type AudioFileConfig = Static<typeof AudioFileConfigSchema>;
10
+ export declare const AudioRecordConfigSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
11
+ src: import("@sinclair/typebox").TString;
12
+ path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
13
+ volume: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
14
+ rate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
15
+ html5: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
16
+ }>>;
17
+ export declare type AudioRecordConfig = Static<typeof AudioRecordConfigSchema>;
18
+ export declare const AudioOptionsSchema: import("@sinclair/typebox").TObject<{
19
+ volume: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
20
+ defaultMusic: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
21
+ musicFadeInTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
22
+ musicFadeOutTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
23
+ musicFadeInDelay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
24
+ }>;
25
+ export declare type AudioOptions = Static<typeof AudioOptionsSchema>;
26
+ declare const AudioTriggersSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>;
27
+ export declare type AudioTriggers = Static<typeof AudioTriggersSchema>;
28
+ export declare const AudioInputConfigSchema: import("@sinclair/typebox").TObject<{
29
+ files: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
30
+ src: import("@sinclair/typebox").TString;
31
+ path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
32
+ volume: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
33
+ rate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
34
+ html5: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
35
+ }>>;
36
+ audioTriggers: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>;
37
+ options: import("@sinclair/typebox").TObject<{
38
+ volume: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
39
+ defaultMusic: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
40
+ musicFadeInTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
41
+ musicFadeOutTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
42
+ musicFadeInDelay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
43
+ }>;
44
+ }>;
45
+ export declare type AudioInputConfig = Static<typeof AudioInputConfigSchema>;
46
+ export interface AudioConfig {
47
+ files: AudioRecordConfig;
48
+ audioTriggers: AudioTriggers;
49
+ options: {
50
+ volume: number;
51
+ defaultMusic?: string;
52
+ musicFadeInTime: number;
53
+ musicFadeOutTime: number;
54
+ musicFadeInDelay: number;
55
+ };
56
+ }
57
+ export declare const defaultAudioConfig: AudioConfig;
58
+ export {};
@@ -0,0 +1,42 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const ButtonConfigSchema: 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
+ }>;
21
+ export declare type ButtonConfig = Static<typeof ButtonConfigSchema>;
22
+ export declare const ButtonsConfigSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
23
+ enabled: import("@sinclair/typebox").TBoolean;
24
+ background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
25
+ text: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
26
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
27
+ position: import("@sinclair/typebox").TObject<{
28
+ left: import("@sinclair/typebox").TNumber;
29
+ top: import("@sinclair/typebox").TNumber;
30
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
31
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
32
+ }>;
33
+ anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
34
+ x: import("@sinclair/typebox").TNumber;
35
+ y: import("@sinclair/typebox").TNumber;
36
+ }>>;
37
+ action: import("@sinclair/typebox").TString;
38
+ actionType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
39
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
40
+ }>>;
41
+ export declare type ButtonsConfig = Static<typeof ButtonsConfigSchema>;
42
+ export declare const defaultButtonsConfig: ButtonsConfig;
@@ -0,0 +1,80 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const DialogPanelConfigSchema: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
3
+ animateText: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
4
+ textSpeed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
5
+ timeBetweenLines: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
6
+ overlayMode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
7
+ rightOffset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
8
+ bottomOffset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
9
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
10
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
11
+ }>>;
12
+ export declare type DialogPanelConfig = Static<typeof DialogPanelConfigSchema>;
13
+ export declare const SplashScreenConfigSchema: import("@sinclair/typebox").TObject<{
14
+ engineSplashScreen: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
15
+ skip: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
16
+ fadeDuration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
17
+ timeBeforeFadeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
18
+ overrideText: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
19
+ overrideLogo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
20
+ }>>;
21
+ gameSplashScreen: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
22
+ startButtonText: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
23
+ }>>;
24
+ }>;
25
+ export declare type SplashScreenConfig = Static<typeof SplashScreenConfigSchema>;
26
+ export declare const NotificationsConfigSchema: import("@sinclair/typebox").TObject<{
27
+ timeOnScreen: import("@sinclair/typebox").TNumber;
28
+ alsoPrintInDialogue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
29
+ }>;
30
+ export declare type NotificationsConfig = Static<typeof NotificationsConfigSchema>;
31
+ export declare const HudStatDataSchema: import("@sinclair/typebox").TObject<{
32
+ name: import("@sinclair/typebox").TString;
33
+ icon: import("@sinclair/typebox").TString;
34
+ startingValue: import("@sinclair/typebox").TNumber;
35
+ maxValue: import("@sinclair/typebox").TNumber;
36
+ minValue: import("@sinclair/typebox").TNumber;
37
+ }>;
38
+ export declare type HudStatData = Static<typeof HudStatDataSchema>;
39
+ export declare const HudStatsConfigSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
40
+ name: import("@sinclair/typebox").TString;
41
+ icon: import("@sinclair/typebox").TString;
42
+ startingValue: import("@sinclair/typebox").TNumber;
43
+ maxValue: import("@sinclair/typebox").TNumber;
44
+ minValue: import("@sinclair/typebox").TNumber;
45
+ }>>;
46
+ export declare type HudStatsConfig = Static<typeof HudStatsConfigSchema>;
47
+ export declare const InteractionTagsConfigSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
48
+ onlyInteractOutsideOfScripts: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
49
+ }>>;
50
+ export declare type InteractionTagsConfig = Static<typeof InteractionTagsConfigSchema>;
51
+ export declare const TransitionSettingsSchema: import("@sinclair/typebox").TObject<{
52
+ delay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
53
+ duration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
54
+ }>;
55
+ export declare type TransitionSettings = Static<typeof TransitionSettingsSchema>;
56
+ export declare const TransitionsConfigSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
57
+ delay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
58
+ duration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
59
+ }>>;
60
+ export declare type TransitionsConfig = Static<typeof TransitionsConfigSchema>;
61
+ export declare const MenuButtonConfigSchema: import("@sinclair/typebox").TObject<{
62
+ text: import("@sinclair/typebox").TString;
63
+ }>;
64
+ export declare type MenuButtonConfig = Static<typeof MenuButtonConfigSchema>;
65
+ export declare const MenuButtonsConfigSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
66
+ text: import("@sinclair/typebox").TString;
67
+ }>>;
68
+ export declare type MenuButtonsConfig = Static<typeof MenuButtonsConfigSchema>;
69
+ export declare const DebuggingConfigSchema: import("@sinclair/typebox").TObject<{
70
+ showScriptFinishedMessage: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
71
+ }>;
72
+ export declare type DebuggingConfig = Static<typeof DebuggingConfigSchema>;
73
+ export declare const SavesConfigSchema: import("@sinclair/typebox").TObject<{
74
+ mode: import("@sinclair/typebox").TString;
75
+ slots: import("@sinclair/typebox").TNumber;
76
+ }>;
77
+ export declare type SavesConfig = Static<typeof SavesConfigSchema>;
78
+ export declare const ScriptsConfigSchema: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
79
+ export declare type ScriptsConfig = Static<typeof ScriptsConfigSchema>;
80
+ export declare const defaultScriptsConfig: never[];
@@ -0,0 +1,193 @@
1
+ import { Static } from '@sinclair/typebox';
2
+ export declare const ConfigInputSchema: import("@sinclair/typebox").TObject<{
3
+ baseAssetsPath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
4
+ baseDataPath: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
5
+ gameTitle: import("@sinclair/typebox").TString;
6
+ images: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
7
+ layout: import("@sinclair/typebox").TObject<{
8
+ backgrounds: import("@sinclair/typebox").TObject<{
9
+ width: import("@sinclair/typebox").TNumber;
10
+ height: import("@sinclair/typebox").TNumber;
11
+ }>;
12
+ dialogBottomPadding: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>;
13
+ minTextWidth: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
14
+ verticalLayoutThreshold: import("@sinclair/typebox").TNumber;
15
+ portraits: import("@sinclair/typebox").TObject<{
16
+ width: import("@sinclair/typebox").TNumber;
17
+ height: import("@sinclair/typebox").TNumber;
18
+ offset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
19
+ landscape: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
20
+ right: import("@sinclair/typebox").TNumber;
21
+ bottom: import("@sinclair/typebox").TNumber;
22
+ }>>;
23
+ portrait: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
24
+ right: import("@sinclair/typebox").TNumber;
25
+ bottom: import("@sinclair/typebox").TNumber;
26
+ }>>;
27
+ }>>;
28
+ }>;
29
+ }>;
30
+ gameFlow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
31
+ labelToJumpOnScriptEnd: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
32
+ }>>;
33
+ dialogPanel: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
34
+ animateText: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
35
+ textSpeed: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
36
+ timeBetweenLines: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
37
+ overlayMode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
38
+ rightOffset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
39
+ bottomOffset: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
40
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
41
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
42
+ }>>>;
43
+ splashScreens: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
44
+ engineSplashScreen: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
45
+ skip: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
46
+ fadeDuration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
47
+ timeBeforeFadeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
48
+ overrideText: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
49
+ overrideLogo: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
50
+ }>>;
51
+ gameSplashScreen: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
52
+ startButtonText: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
53
+ }>>;
54
+ }>>;
55
+ screens: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
56
+ screens: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
57
+ background: import("@sinclair/typebox").TString;
58
+ 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<{
59
+ enabled: import("@sinclair/typebox").TBoolean;
60
+ background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
61
+ text: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
62
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
63
+ position: import("@sinclair/typebox").TObject<{
64
+ left: import("@sinclair/typebox").TNumber;
65
+ top: import("@sinclair/typebox").TNumber;
66
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
67
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
68
+ }>;
69
+ anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
70
+ x: import("@sinclair/typebox").TNumber;
71
+ y: import("@sinclair/typebox").TNumber;
72
+ }>>;
73
+ action: import("@sinclair/typebox").TString;
74
+ actionType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
75
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
76
+ }>, import("@sinclair/typebox").TObject<{
77
+ id: import("@sinclair/typebox").TString;
78
+ }>]>]>>>;
79
+ }>>>;
80
+ buttons: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
81
+ enabled: import("@sinclair/typebox").TBoolean;
82
+ background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
83
+ text: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
84
+ cssClass: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
85
+ position: import("@sinclair/typebox").TObject<{
86
+ left: import("@sinclair/typebox").TNumber;
87
+ top: import("@sinclair/typebox").TNumber;
88
+ width: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
89
+ height: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
90
+ }>;
91
+ anchor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
92
+ x: import("@sinclair/typebox").TNumber;
93
+ y: import("@sinclair/typebox").TNumber;
94
+ }>>;
95
+ action: import("@sinclair/typebox").TString;
96
+ actionType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
97
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
98
+ }>>>;
99
+ }>]>;
100
+ skills: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
101
+ skills: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
102
+ name: import("@sinclair/typebox").TString;
103
+ description: import("@sinclair/typebox").TString;
104
+ startingLevel: import("@sinclair/typebox").TNumber;
105
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
106
+ icon: import("@sinclair/typebox").TString;
107
+ }>>>;
108
+ skillChecks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
109
+ rollRange: import("@sinclair/typebox").TNumber;
110
+ skillMultiplier: import("@sinclair/typebox").TNumber;
111
+ failureChance: import("@sinclair/typebox").TNumber;
112
+ difficultyText: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TTuple<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString]>>;
113
+ }>>;
114
+ skillOptions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
115
+ xpPerLevel: import("@sinclair/typebox").TNumber;
116
+ notifyLevelUp: import("@sinclair/typebox").TBoolean;
117
+ }>>;
118
+ }>]>>;
119
+ scripts: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>]>;
120
+ audio: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
121
+ files: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
122
+ src: import("@sinclair/typebox").TString;
123
+ path: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
124
+ volume: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
125
+ rate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
126
+ html5: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
127
+ }>>;
128
+ audioTriggers: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>;
129
+ options: import("@sinclair/typebox").TObject<{
130
+ volume: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
131
+ defaultMusic: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
132
+ musicFadeInTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
133
+ musicFadeOutTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
134
+ musicFadeInDelay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
135
+ }>;
136
+ }>]>;
137
+ notifications: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
138
+ timeOnScreen: import("@sinclair/typebox").TNumber;
139
+ alsoPrintInDialogue: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
140
+ }>>;
141
+ hudStats: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
142
+ name: import("@sinclair/typebox").TString;
143
+ icon: import("@sinclair/typebox").TString;
144
+ startingValue: import("@sinclair/typebox").TNumber;
145
+ maxValue: import("@sinclair/typebox").TNumber;
146
+ minValue: import("@sinclair/typebox").TNumber;
147
+ }>>;
148
+ items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
149
+ categories: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
150
+ id: import("@sinclair/typebox").TString;
151
+ title: import("@sinclair/typebox").TString;
152
+ }>>;
153
+ items: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
154
+ name: import("@sinclair/typebox").TString;
155
+ description: import("@sinclair/typebox").TString;
156
+ icon: import("@sinclair/typebox").TString;
157
+ onUse: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
158
+ action: import("@sinclair/typebox").TString;
159
+ label: import("@sinclair/typebox").TString;
160
+ }>>;
161
+ tag: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
162
+ category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
163
+ }>>;
164
+ }>]>>;
165
+ interactionTags: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
166
+ onlyInteractOutsideOfScripts: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
167
+ }>>;
168
+ quests: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
169
+ quests: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
170
+ title: import("@sinclair/typebox").TString;
171
+ description: import("@sinclair/typebox").TString;
172
+ objectives: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
173
+ description: import("@sinclair/typebox").TString;
174
+ hidden: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
175
+ }>>;
176
+ }>>;
177
+ }>]>>;
178
+ transitions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
179
+ delay: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
180
+ duration: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
181
+ }>>>;
182
+ menuButtons: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TObject<{
183
+ text: import("@sinclair/typebox").TString;
184
+ }>>>;
185
+ debugging: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
186
+ showScriptFinishedMessage: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
187
+ }>>;
188
+ saves: import("@sinclair/typebox").TObject<{
189
+ mode: import("@sinclair/typebox").TString;
190
+ slots: import("@sinclair/typebox").TNumber;
191
+ }>;
192
+ }>;
193
+ export declare type ConfigInput = Static<typeof ConfigInputSchema>;