blockbench-types 3.8.0 → 4.2.0

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blockbench-types",
3
- "version": "3.8.0",
3
+ "version": "4.2.0",
4
4
  "description": "Blockbench typescript types",
5
5
  "main": "",
6
6
  "types": "types/index.d.ts",
@@ -19,8 +19,8 @@
19
19
  "homepage": "https://github.com/JannisX11/blockbench-types#readme",
20
20
  "dependencies": {
21
21
  "@types/jquery": "^3.5.4",
22
- "three": "^0.120.0",
23
- "vue": "^2.6.12",
24
- "wintersky": "^0.2.0"
22
+ "three": "^0.129.0",
23
+ "vue": "^2.6.14",
24
+ "wintersky": "^1.1.0"
25
25
  }
26
26
  }
@@ -8,7 +8,7 @@ interface AnimationOptions {
8
8
  snapping?: number
9
9
  }
10
10
 
11
- class Animation {
11
+ declare class Animation {
12
12
  constructor(data: AnimationOptions);
13
13
  extend(data: AnimationOptions): this;
14
14
  getUndoCopy(options: any, save: any): {
@@ -62,3 +62,65 @@ namespace Animator {
62
62
 
63
63
 
64
64
  }
65
+
66
+ interface AddChannelOptions {
67
+ name?: string
68
+ transform?: boolean
69
+ mutable?: boolean
70
+ max_data_points?: number
71
+ }
72
+ declare class GeneralAnimator {
73
+ constructor(uuid: string, animation: Animation)
74
+ keyframes: Keyframe[]
75
+ select(): this
76
+ addToTimeline(): this
77
+ addKeyframe(data: KeyframeOptions, uuid: string): Keyframe
78
+ createKeyframe(): Keyframe
79
+ getOrMakeKeyframe(): {before: Keyframe, result: Keyframe}
80
+ toggleMuted(channel: string): this
81
+ scrollTo(): this
82
+
83
+ static addChannel(channel: string, options: AddChannelOptions)
84
+ }
85
+
86
+ declare class BoneAnimator extends GeneralAnimator {
87
+ name: string
88
+ uuid: string
89
+ rotations: Keyframe[]
90
+ position: Keyframe[]
91
+ scale: Keyframe[]
92
+ getGroup(): Group
93
+ select
94
+ fillValues
95
+ pushKeyframe
96
+ doRender
97
+ displayRotation
98
+ displayPosition
99
+ displayScale
100
+ interpolate
101
+ displayFrame
102
+ }
103
+ declare class NullObjectAnimator extends GeneralAnimator {
104
+ name: string
105
+ uuid: string
106
+ rotations: Keyframe[]
107
+ position: Keyframe[]
108
+ scale: Keyframe[]
109
+ getElement(): NullObject
110
+ select
111
+ doRender
112
+ displayPosition
113
+ displayIK
114
+ displayFrame
115
+ }
116
+ declare class EffectAnimator extends GeneralAnimator {
117
+ name: string
118
+ uuid: string
119
+ rotations: Keyframe[]
120
+ position: Keyframe[]
121
+ scale: Keyframe[]
122
+ pushKeyframe(keyframe): this
123
+ displayFrame(in_loop): this
124
+ startPreviousSounds
125
+ }
126
+
package/types/canvas.d.ts CHANGED
@@ -1,12 +1,52 @@
1
+ interface UpdateViewOptions {
2
+ /**
3
+ * List of elements to update
4
+ */
5
+ elements?: OutlinerElement[]
6
+ /**
7
+ * Which aspects of the elements to update
8
+ */
9
+ element_aspects?: {
10
+ /**
11
+ * Update visibility of elements
12
+ */
13
+ visibility?: boolean
14
+ /**
15
+ * Update the position and geometry
16
+ */
17
+ geometry?: boolean
18
+ /**
19
+ * Update the mesh faces
20
+ */
21
+ faces?: boolean
22
+ /**
23
+ * Update the UV mapping
24
+ */
25
+ uv?: boolean
26
+ /**
27
+ * Update the painting grid
28
+ */
29
+ painting_grid?: boolean
30
+ }
31
+ /**
32
+ * Groups to update
33
+ */
34
+ groups?: Group[]
35
+ /**
36
+ * Whether to update the selection (updates the selection outlines and interface)
37
+ */
38
+ selection?: boolean
39
+ }
40
+
1
41
  declare const Canvas: {
2
42
  materials: {
3
- [uuid: string]: THREE.Material
43
+ [uuid: UUID]: THREE.Material
4
44
  };
5
45
  meshes: {
6
- [uuid: string]: THREE.Mesh
46
+ [uuid: UUID]: THREE.Mesh
7
47
  };
8
48
  bones: {
9
- [uuid: string]: THREE.Object3D
49
+ [uuid: UUID]: THREE.Object3D
10
50
  };
11
51
  /**
12
52
  * The material used for all selection outlines
@@ -34,6 +74,11 @@ declare const Canvas: {
34
74
  * Clear all elements from the scene
35
75
  */
36
76
  clear(): void;
77
+ /**
78
+ * Updates selected aspects of the preview
79
+ * @param options
80
+ */
81
+ updateView(options: UpdateViewOptions): void;
37
82
  /**
38
83
  * Regenerate all elements in the scene. Very unoptimized, use with care
39
84
  */
@@ -138,4 +183,4 @@ declare const TickUpdates: {
138
183
  keyframes: undefined | true
139
184
  keyframe_selection: undefined | true
140
185
  keybind_conflicts: undefined | true
141
- }
186
+ }
package/types/format.d.ts CHANGED
@@ -13,12 +13,17 @@ interface FormatOptions {
13
13
  centered_grid?: boolean
14
14
  rotate_cubes?: boolean
15
15
  integer_size?: boolean
16
+ meshes?: boolean
17
+ texture_meshes?: boolean
16
18
  locators?: boolean
17
19
  canvas_limit?: boolean
18
20
  rotation_limit?: boolean
19
21
  uv_rotation?: boolean
20
22
  display_mode?: boolean
21
23
  animation_mode?: boolean
24
+ animation_files?: boolean
25
+ pose_mode?: boolean
26
+ texture_folder?: boolean
22
27
 
23
28
  codec?: Codec
24
29
  onActivation?(): void
package/types/index.d.ts CHANGED
@@ -7,22 +7,29 @@
7
7
  /// <reference types="./animation" />
8
8
  /// <reference types="./canvas" />
9
9
  /// <reference types="./codec" />
10
+ /// <reference types="./file_system" />
10
11
  /// <reference types="./format" />
12
+ /// <reference types="./global" />
11
13
  /// <reference types="./interface" />
14
+ /// <reference types="./panel" />
12
15
  /// <reference types="./keyframe" />
13
16
  /// <reference types="./legacy" />
14
17
  /// <reference types="./menu" />
15
18
  /// <reference types="./outliner" />
19
+ /// <reference types="./plugin" />
16
20
  /// <reference types="./preview" />
21
+ /// <reference types="./project" />
17
22
  /// <reference types="./settings" />
18
23
  /// <reference types="./textures" />
19
24
  /// <reference types="./timeline" />
25
+ /// <reference types="./undo" />
20
26
  /// <reference types="./util" />
21
27
 
22
28
 
23
29
  declare class Deletable {
24
30
  delete: () => void
25
31
  }
32
+ type UUID = string
26
33
 
27
34
  /**
28
35
  * True if Blockbench runs as a native app
@@ -199,25 +206,6 @@ declare class Plugin {
199
206
 
200
207
  type Condition = any
201
208
 
202
- interface PanelOptions {
203
- id: string
204
- icon: string
205
- menu?: any
206
- growable?: boolean
207
- name: string
208
- selection_only?: boolean
209
- condition?: Condition
210
- onResize: () => void
211
- toolbars: object
212
- component: Vue.Component
213
- default_side: any
214
- insert_before: any
215
- insert_after: any
216
- }
217
- declare class Panel {
218
- constructor (options: PanelOptions)
219
- }
220
-
221
209
 
222
210
  interface PropertyOptions {
223
211
  default?: any
@@ -268,3 +256,22 @@ declare function updateSelection(): void
268
256
  * @param arguments Array of arguments that replace anchors (%0, etc.) in the translation. Items can be strings or anything that can be converted to strings
269
257
  */
270
258
  declare function tl(key: string, arguments?: any[]): string
259
+
260
+ declare namespace Language {
261
+ /**
262
+ * Translation data for the current language
263
+ */
264
+ const data: {
265
+ [key: string]: string
266
+ }
267
+ /**
268
+ * Two letter code indicating the currently selected language
269
+ */
270
+ const code: string
271
+ /**
272
+ * Add translations for custom translation strings
273
+ * @param language Two letter language code, e. G. 'en'
274
+ * @param strings Object listing the translation keys and values
275
+ */
276
+ function addTranslations(language: string, strings: {[key: string]: string})
277
+ }
@@ -1,7 +1,7 @@
1
1
  interface DialogFormElement {
2
2
  label: string
3
3
  description?: string
4
- type: 'text' | 'number' | 'checkbox' | 'select' | 'radio' | 'textarea' | 'vector' | 'color' | 'file' | 'folder' | 'save' | 'info'
4
+ type: 'text' | 'number' | 'checkbox' | 'select' | 'radio' | 'textarea' | 'vector' | 'color' | 'file' | 'folder' | 'save' | 'info'
5
5
  nocolon?: boolean
6
6
  readonly?: boolean
7
7
  value?: any
@@ -14,29 +14,47 @@ interface DialogFormElement {
14
14
  height?: number
15
15
  options?: object
16
16
  }
17
+
18
+ type FormResultValue = string|number|boolean|[]
19
+
20
+ interface ActionInterface {
21
+ name: string
22
+ description?: string
23
+ icon: string,
24
+ click: (event: Event) => void
25
+ condition: Condition
26
+ }
17
27
  interface DialogOptions {
18
28
  title: string
19
29
  id: string
20
30
  /**
21
- * Array of HTML object strings for each line of content in the dialog.
22
- */
23
- lines: string[]
24
- /**
25
- * If false, the confirm button of the dialog is disabled
31
+ * Default button to press to confirm the dialog. Defaults to the first button.
26
32
  */
27
- confirmEnabled?: boolean
33
+ confirmIndex?: number
28
34
  /**
29
- * If false, the cancel button of the dialog is disabled
35
+ * Default button to press to cancel the dialog. Defaults to the last button.
30
36
  */
31
- cancelEnabled?: boolean
37
+ cancelIndex?: number
32
38
  /**
33
39
  * Function to execute when the user confirms the dialog
34
40
  */
35
41
  onConfirm?: (formResult: object) => void
36
42
  /**
37
- * Function to execute when the user cancels the dialog
43
+ * Function to execute when the user cancels the dialog
38
44
  */
39
45
  onCancel?: () => void
46
+ /**
47
+ * Triggered when the user presses a specific button
48
+ */
49
+ onButton?: (button_index: number, event?: Event) => void
50
+ /**
51
+ * Function to run when anything in the form is changed
52
+ */
53
+ onFormChange?: (form_result: {[key: string]: FormResultValue}) => void
54
+ /**
55
+ * Array of HTML object strings for each line of content in the dialog.
56
+ */
57
+ lines?: (string|HTMLElement)[]
40
58
  /**
41
59
  * Creates a form in the dialog
42
60
  */
@@ -46,20 +64,91 @@ interface DialogOptions {
46
64
  /**
47
65
  * Vue component
48
66
  */
49
- component: Vue.Component
67
+ component?: Vue.Component
68
+ /**
69
+ * Order that the different interface types appear in the dialog. Default is 'form', 'lines', 'component'.
70
+ */
71
+ part_order?: string[]
72
+ form_first?: boolean
73
+ /**
74
+ * Creates a dialog sidebar
75
+ */
76
+ sidebar?: DialogSidebarOptions
77
+ /**
78
+ * Menu in the handle bar
79
+ */
80
+ title_menu?: Menu
81
+ /**
82
+ * If true, the dialog will only have one button to close it
83
+ */
84
+ singleButton?: boolean
85
+ /**
86
+ * List of buttons
87
+ */
88
+ buttons?: string[]
89
+ }
90
+
91
+ interface DialogSidebarOptions {
92
+ pages?: {
93
+ [key: string]: string | {label: string, icon: IconString, color?: string}
94
+ }
95
+ page?: string
96
+ actions?: (Action|ActionInterface|string)[],
97
+ onPageSwitch?: (page: string) => void
98
+ }
99
+ declare class DialogSidebar {
100
+ constructor(options: DialogSidebarOptions)
101
+
102
+ pages: {
103
+ [key: string]: string
104
+ }
105
+ page: string
106
+ actions: (Action|string)[]
107
+ onPageSwitch(page: string): void
108
+ build(): void
109
+ toggle(state?: boolean): void
110
+ setPage(page: string): void
50
111
  }
51
112
 
52
113
  declare class Dialog {
53
114
  constructor (options: DialogOptions)
115
+
116
+ id: string
117
+ component: Vue.Component
118
+ sidebar: DialogSidebar | null
119
+
120
+
54
121
  show: () => Dialog
55
122
  hide: () => Dialog
56
123
  /**
57
124
  * Triggers the confirm event of the dialog.
58
125
  */
59
- confirm: () => void
126
+ confirm: (event?: Event) => void
60
127
  /**
61
128
  * Triggers the cancel event of the dialog.
62
129
  */
63
- cancel: () => void
130
+ cancel: (event?: Event) => void
131
+ /**
132
+ * Closes the dialog using the index of the pressed button
133
+ */
134
+ close: (button: number, event?: Event) => void
135
+ /**
136
+ * If the dialog contains a form, return the current values of the form
137
+ */
138
+ getFormResult(): {
139
+ [key: string]: FormResultValue
140
+ }
141
+ /**
142
+ * Set the values of the dialog form inputs
143
+ */
144
+ setFormValues(values: {[key: string]: FormResultValue}): void
145
+ /**
146
+ * Delete the dialog object, causing it to be re-build from scratch on next open
147
+ */
148
+ delete(): void
64
149
 
150
+ /**
151
+ * Currently opened dialog
152
+ */
153
+ static open: Dialog | null
65
154
  }
package/types/menu.d.ts CHANGED
@@ -1,7 +1,21 @@
1
1
  interface CustomMenuItem {
2
2
  name: string
3
+ id: string
4
+ icon: IconString
5
+ color?: string
6
+ description?: string
7
+ /**
8
+ * Keybind or string to display in the menu, won't work as an actual keybinding by default
9
+ */
10
+ keybind?: Keybind | string
11
+ /**
12
+ * Adds a search bar to the menu or submenu
13
+ */
14
+ searchable?: boolean
15
+ children?: MenuItem[] | (() => MenuItem[])
16
+ click?: (context?: any, event: Event)
3
17
  }
4
- type MenuItem = CustomMenuItem | Action | string;
18
+ type MenuItem = CustomMenuItem | Action | BarSelect | string;
5
19
 
6
20
  /**
7
21
  * Creates a new context menu
@@ -37,6 +51,10 @@ declare class Menu extends Deletable {
37
51
  */
38
52
  declare class BarMenu extends Menu {
39
53
  constructor(id: string, structure: MenuItem[], condition?: any)
54
+ /**
55
+ * Visually highlights an action within the menu, until the user opens the menu
56
+ */
57
+ highlight(action: Action): void
40
58
  }
41
59
 
42
60
  declare namespace MenuBar {
@@ -7,7 +7,7 @@ type ArrayVector2 = [number, number]
7
7
  */
8
8
  declare class OutlinerNode {
9
9
  constructor ()
10
- uuid: string
10
+ uuid: UUID
11
11
  export: boolean
12
12
  locked: boolean
13
13
  parent: Group | 'root'
@@ -0,0 +1,54 @@
1
+ interface PanelOptions {
2
+ id: string
3
+ name: string
4
+ icon: string
5
+ menu?: any
6
+ growable?: boolean
7
+ selection_only?: boolean
8
+ condition?: Condition
9
+ display_condition?: Condition
10
+ expand_button: boolean
11
+ toolbars: {
12
+ [id: string]: Toolbar
13
+ }
14
+ default_position: {
15
+ slot: string
16
+ float_position: [number, number]
17
+ float_size: [number, number]
18
+ height: number
19
+ folded: boolean
20
+ }
21
+ component: Vue.Component
22
+ default_side: 'right' | 'left'
23
+ insert_before: string
24
+ insert_after: string
25
+ onResize: () => void
26
+ onFold: () => void
27
+ }
28
+ type PanelEvent = 'drag' | 'fold' | 'change_zindex' | 'move_to' | 'moved_to' | 'update'
29
+
30
+ declare class Panel {
31
+ constructor (id: string, options: PanelOptions)
32
+ constructor (options: PanelOptions)
33
+ isVisible(): boolean
34
+ isInSidebar(): boolean
35
+ slot: string
36
+ folded: boolean
37
+ fold(state?: boolean): this
38
+ /**
39
+ * If the panel is floating, move it up to the front
40
+ */
41
+ moveToFront(): this
42
+ moveTo(slot: string, ref_panel?: Panel, before?: boolean): this
43
+ update(dragging?: boolean): this
44
+ dispatchEvent(event_name: PanelEvent, data?: any): void
45
+ /**
46
+ * Add an event listener
47
+ */
48
+ on(event_name: PanelEvent, callback: (data?) => void): void
49
+ removeListener(event_name: PanelEvent, callback: (data?) => void): void
50
+ delete(): void
51
+ }
52
+
53
+ declare function updateInterfacePanels(): void
54
+ declare function setActivePanel(panel_id: string): void
package/types/plugin.d.ts CHANGED
@@ -10,19 +10,43 @@ interface PluginOptions {
10
10
  */
11
11
  about?: string
12
12
  icon: string
13
+ /**
14
+ * Plugin tags that will show up in the plugin store. You can provide up to 3 tags.
15
+ */
16
+ tags?: [string, string?, string?]
17
+ /**
18
+ * Where the plugin can be installed. Desktop refers to the electron app, web refers to the web app and PWA
19
+ */
13
20
  variant: 'both' | 'desktop' | 'web'
21
+ /**
22
+ * Minimum Blockbench version in which the plugin can be installed
23
+ */
14
24
  min_version?: string
25
+ /**
26
+ * Maximum Blockbench version in which the plugin can be installed
27
+ */
15
28
  max_version?: string
29
+ /**
30
+ * Set to true if the plugin must finish loading before a project is opened, i. e. because it adds a format
31
+ */
32
+ await_loading?: string
33
+ /**
34
+ * Runs when the plugin loads
35
+ */
16
36
  onload?(): void
37
+ /**
38
+ * Runs when the plugin unloads
39
+ */
17
40
  onunload?(): void
41
+ /**
42
+ * Runs when the user manually installs the plugin
43
+ */
18
44
  oninstall?(): void
45
+ /**
46
+ * Runs when the user manually uninstalls the plugin
47
+ */
19
48
  onuninstall?(): void
20
49
  }
21
-
22
- /**
23
- * Blockbench Plugin
24
- * @deprecated This won't work in 3.8.4 or earlier
25
- */
26
50
  declare class BBPlugin {
27
51
  constructor(id: string, options: PluginOptions)
28
52
 
@@ -44,6 +68,7 @@ declare class BBPlugin {
44
68
  variant: 'both' | 'desktop' | 'web'
45
69
  min_version: string
46
70
  max_version: string
71
+ tags: string[]
47
72
  onload(): void
48
73
  onunload(): void
49
74
  oninstall(): void
@@ -0,0 +1,118 @@
1
+ interface ModelProjectOptions {
2
+ format: ModelFormat
3
+ }
4
+
5
+ declare class ModelProject {
6
+ constructor(options: ModelProjectOptions)
7
+
8
+ box_uv: boolean
9
+ texture_width: number
10
+ texture_height: number
11
+ name: string
12
+ uuid: UUID
13
+ selected: boolean
14
+ /**
15
+ * When set to true, the project tab can no longer be selected or unselected
16
+ */
17
+ locked: boolean
18
+ thumbnail: string
19
+ saved: boolean
20
+ /**
21
+ * The path under which a project file is saved, if available
22
+ */
23
+ save_path: string
24
+ /**
25
+ * The path under which an exported file is saved, if available
26
+ */
27
+ export_path: string
28
+ added_models: number
29
+ undo: UndoSystem
30
+ BedrockEntityManager?: {}
31
+ format: ModelFormat
32
+ mode: string
33
+ view_mode: string
34
+ display_uv: string
35
+ previews: {
36
+ [key: string]: {}
37
+ }
38
+ EditSession: EditSession
39
+
40
+ elements: OutlinerElement[]
41
+ groups: Group[]
42
+ selected_elements: OutlinerElement[]
43
+ selected_group: Group | null;
44
+ selected_vertices: {
45
+ [element_key: string]: string[]
46
+ };
47
+ selected_faces: []
48
+ textures: Texture[]
49
+ selected_texture: Texture | null;
50
+ outliner: OutlinerNode[]
51
+ animations: Animation[]
52
+ timeline_animators: []
53
+ display_settings: {
54
+ [slot: string]: {
55
+ translation: [number, number, number]
56
+ rotation: [number, number, number]
57
+ scale: [number, number, number]
58
+ mirror: [boolean, boolean, boolean]
59
+ }
60
+ };
61
+
62
+ get model_3d(): THREE.Object3D;
63
+ get materials(): {
64
+ [uuid: UUID]: THREE.ShaderMaterial
65
+ };
66
+ get nodes_3d(): {
67
+ [uuid: UUID]: THREE.Object3D
68
+ };
69
+
70
+ getDisplayName(): string;
71
+ openSettings(): void;
72
+ whenNextOpen(callback: () => void): void;
73
+ select(): boolean;
74
+ unselect(): void;
75
+ close(force: any): Promise<boolean>;
76
+
77
+ static all: ModelProject[]
78
+ }
79
+
80
+ declare const Project: ModelProject | null
81
+
82
+ declare function setupProject(format: ModelFormat | string): boolean;
83
+ declare function newProject(format: ModelFormat | string): boolean;
84
+ declare function setProjectResolution(width: number, height: number, modify_uv?: boolean): void;
85
+ declare function updateProjectResolution(): void;
86
+
87
+ declare class EditSession {
88
+ constructor()
89
+
90
+ active: boolean
91
+ hosting: boolean
92
+ clients: {}
93
+ client_count: number
94
+ data_queue: []
95
+ chat_history: []
96
+ Project: ModelProject | null
97
+
98
+ updateClientCound(): void
99
+ start(username?: string): void
100
+ join(username: string, token: string)
101
+ quit(): void
102
+ setState(active: boolean): void
103
+ copyToken(): void;
104
+ initNewModel(force?: boolean): void;
105
+ initConnection(conn: any): void;
106
+ sendAll(type: string, data: any): void;
107
+ sendEdit(entry: UndoEntry): void;
108
+ receiveData(tag: object): void;
109
+ processData(tag: object): void;
110
+ catchUp(): void;
111
+ /**
112
+ * Send a chat message
113
+ * @param text Text to send. If omitted, the current text in the chat panel input is sent
114
+ */
115
+ sendChat(text?: string): void;
116
+ addChatMessage(message: any): any;
117
+ processChatMessage(data: any): void;
118
+ }
@@ -0,0 +1,60 @@
1
+ interface UndoAspects {
2
+ selection?: boolean
3
+ elements?: OutlinerElement[]
4
+ outliner?: boolean
5
+ group?: Group
6
+ textures?: Texture[]
7
+ texture_order?: boolean
8
+ selected_texture?: boolean
9
+ settings?: {}
10
+ uv_mode?: boolean
11
+ animations?: Animation[]
12
+ keyframes?: Keyframe[]
13
+ display_slots?: string[]
14
+ exploded_view?: boolean
15
+ }
16
+ type UndoSave = {
17
+ aspects: UndoAspects
18
+ selection?: []
19
+ selection_group?: UUID
20
+ elements?: {}
21
+ outliner?: []
22
+ group?: {}
23
+ textures?: {}
24
+ texture_order?: UUID[]
25
+ selected_texture?: UUID | null
26
+ settings?: {}
27
+ uv_mode?: {
28
+ box_uv: boolean
29
+ width: number
30
+ height: number
31
+ }
32
+ animations?: {}
33
+ keyframes?: {}
34
+ display_slots?: {}
35
+ exploded_views?: boolean
36
+ }
37
+ type UndoEntry = {
38
+ before: UndoSave
39
+ post: UndoSave
40
+ action: string
41
+ time: number
42
+ }
43
+
44
+ declare class UndoSystem {
45
+ constructor();
46
+ initEdit(aspects: UndoAspects): any;
47
+ finishEdit(action: string, aspects?: UndoAspects): {
48
+ before: any;
49
+ post: any;
50
+ action: any;
51
+ time: number;
52
+ };
53
+ cancelEdit(): void;
54
+ addKeyframeCasualties(keyframes: Keyframe[]): void;
55
+ undo(remote?: boolean): void;
56
+ redo(remote?: boolean): void;
57
+ remoteEdit(entry: UndoEntry): void;
58
+ loadSave(save: UndoSave, reference: UndoSave, mode?: string): void;
59
+ }
60
+ declare let Undo: UndoSystem;
package/types/util.d.ts CHANGED
@@ -19,7 +19,6 @@ declare class oneLiner {
19
19
  }
20
20
 
21
21
  declare const templog: (...args: any) => void
22
- }
23
22
 
24
23
  /**
25
24
  * If the input event is a touch event, convert touch event to a compatible mouse event