import type { Object3D, Scene, WebGLRenderer } from 'three'; import { Group } from 'three'; import type { ISheetObject } from '@theatre/core'; import type { ObjectConfig } from './editableFactoryConfigUtils'; export type TransformControlsMode = 'translate' | 'rotate' | 'scale'; export type TransformControlsSpace = 'world' | 'local'; export type ViewportShading = 'wireframe' | 'flat' | 'solid' | 'rendered'; export type BaseSheetObjectType = ISheetObject; export declare const allRegisteredObjects: WeakSet; export interface Editable { type: string; sheetObject: ISheetObject; objectConfig: ObjectConfig; visibleOnlyInEditor: boolean; } export type EditableSnapshot = Editable> = { proxyObject?: Object3D | null; } & T; export interface SerializedEditable { type: string; } export interface EditableState { editables: Record; } export type EditorStore = { scene: Scene | null; gl: WebGLRenderer | null; helpersRoot: Group; editables: Record>; canvasName: string; sceneSnapshot: Scene | null; editablesSnapshot: Record | null; init: (scene: Scene, gl: WebGLRenderer) => void; addEditable: (theatreKey: string, editable: Editable) => void; removeEditable: (theatreKey: string) => void; createSnapshot: () => void; setSnapshotProxyObject: (proxyObject: Object3D | null, theatreKey: string) => void; }; export declare const editorStore: import("zustand").StoreApi; export type BindFunction = (options: { allowImplicitInstancing?: boolean; gl: WebGLRenderer; scene: Scene; }) => void; export declare const bindToCanvas: BindFunction; //# sourceMappingURL=store.d.ts.map