import { SerializedNode, Pen, Theme, ThemeMode } from '@infinite-canvas-tutorial/ecs';
import { API } from './API';
export declare enum Task {
    SHOW_LAYERS_PANEL = "show-layers-panel",
    SHOW_PROPERTIES_PANEL = "show-properties-panel"
}
/**
 * Prefer flat objects.
 * @see https://docs.excalidraw.com/docs/@excalidraw/excalidraw/api/props/initialdata
 */
export interface AppState {
    theme: Theme;
    cameraZoom: number;
    penbarAll: Pen[];
    penbarSelected: Pen[];
    taskbarAll: Task[];
    taskbarSelected: Task[];
    layersSelected: SerializedNode['id'][];
}
export declare const appStateContext: {
    __context__: AppState;
};
export declare const nodesContext: {
    __context__: SerializedNode[];
};
export declare const apiContext: {
    __context__: API;
};
export declare const getDefaultAppState: () => {
    theme: {
        mode: ThemeMode;
        colors: {
            light: {};
            dark: {};
        };
    };
    cameraZoom: number;
    penbarAll: Pen[];
    penbarSelected: Pen[];
    taskbarAll: Task[];
    taskbarSelected: any[];
    layersSelected: any[];
};
