import { UndoStack } from "./UndoStack"; export type { UndoStack }; declare type DispatcherDeclarationType = (...args: any[]) => () => void; declare type DispatchersDeclarationMap = Record; declare type Dispatcher = (...args: Parameters) => void; declare type DispatchersMap = { [Decl in keyof Declarations]: Dispatcher; }; 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; 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