import { AddEvent, RemoveEvent, SceneType, SetEvent, TimeoutEvent, UpdateEvent, UpsertEvent } from './events'; import { Node } from '../interfaces'; export interface SceneOps { rawUpdate: (value: object) => void; set: (event: SetEvent) => void; add: (event: AddEvent) => void; update: (event: UpdateEvent) => void; upsert: (event: UpsertEvent) => void; removeByKey: (event: RemoveEvent) => void; timeout: (event: TimeoutEvent) => void; getNode: (key: string | undefined) => Node | undefined; groupSelection: (params: { selectedKeys: string[]; insertAtKey: string; }) => string | null; ungroupSelection: (params: { selectedKeys: string[]; }) => boolean; } export interface SceneStoreType extends Omit { tag: 'Scene'; ops: SceneOps; } export declare const useSceneStore: import('zustand').UseBoundStore>;