import { UndoStack } from "./UndoStack"; export type { UndoStack }; declare type DispatcherType = (...args: any[]) => () => void; declare type DispatchersMap = Record; declare type StateMap = Record>; export interface StateDescriptor { name: string; getState: (...args: GetStateArgs) => StateShape; dispatchers: Dispatchers; } export interface State { subscribe: (fn: () => void) => void; unsubscribe: (fn: () => void) => void; getState: (...args: GetStateArgs) => [StateShape, Dispatchers]; forceUpdate: () => void; dispatchers: Dispatchers; } export interface ProjectState { states: StateMap; undoStack: UndoStack; createState: (stateDesc: StateDescriptor) => State; forceUpdateAll: () => void; } export declare const createProjectState: () => ProjectState; //# sourceMappingURL=index.d.ts.map