import { AppState, NormalizedZoomValue } from "./types";
export declare const getDefaultAppState: () => Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>) => {
    theme?: string | undefined;
    name?: string | undefined;
    activeTool?: ({
        lastActiveTool: import("./types").LastActiveTool;
        locked: boolean;
    } & {
        type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
        customType: null;
    }) | ({
        lastActiveTool: import("./types").LastActiveTool;
        locked: boolean;
    } & {
        type: "custom";
        customType: string;
    }) | undefined;
    scrollX?: number | undefined;
    scrollY?: number | undefined;
    viewBackgroundColor?: string | undefined;
    zoom?: Readonly<{
        value: NormalizedZoomValue;
    }> | undefined;
    shouldCacheIgnoreZoom?: boolean | undefined;
    editingGroupId?: string | null | undefined;
    zenModeEnabled?: boolean | undefined;
    showWelcomeScreen?: boolean | undefined;
    penMode?: boolean | undefined;
    penDetected?: boolean | undefined;
    exportBackground?: boolean | undefined;
    exportEmbedScene?: boolean | undefined;
    exportWithDarkMode?: boolean | undefined;
    exportScale?: number | undefined;
    currentItemStrokeColor?: string | undefined;
    currentItemBackgroundColor?: string | undefined;
    currentItemFillStyle?: "hachure" | "cross-hatch" | "solid" | undefined;
    currentItemStrokeWidth?: number | undefined;
    currentItemStrokeStyle?: "solid" | "dashed" | "dotted" | undefined;
    currentItemRoughness?: number | undefined;
    currentItemOpacity?: number | undefined;
    currentItemFontFamily?: number | undefined;
    currentItemFontSize?: number | undefined;
    currentItemTextAlign?: string | undefined;
    currentItemStartArrowhead?: "bar" | "arrow" | "dot" | "triangle" | null | undefined;
    currentItemEndArrowhead?: "bar" | "arrow" | "dot" | "triangle" | null | undefined;
    currentItemRoundness?: "round" | "sharp" | undefined;
    cursorButton?: "up" | "down" | undefined;
    scrolledOutside?: boolean | undefined;
    openMenu?: "canvas" | "shape" | null | undefined;
    openSidebar?: "library" | "customSidebar" | null | undefined;
    isSidebarDocked?: boolean | undefined;
    lastPointerDownWith?: "mouse" | "pen" | "touch" | undefined;
    selectedElementIds?: {
        [id: string]: boolean;
    } | undefined;
    previousSelectedElementIds?: {
        [id: string]: boolean;
    } | undefined;
    gridSize?: number | null | undefined;
    selectedGroupIds?: {
        [groupId: string]: boolean;
    } | undefined;
    showStats?: boolean | undefined;
    currentChartType?: "bar" | "line" | undefined;
    selectedLinearElement?: import("./element/linearElementEditor").LinearElementEditor | null | undefined;
};
export declare const cleanAppStateForExport: (appState: Partial<AppState>) => {
    viewBackgroundColor?: string | undefined;
    gridSize?: number | null | undefined;
};
export declare const clearAppStateForDatabase: (appState: Partial<AppState>) => {
    viewBackgroundColor?: string | undefined;
    gridSize?: number | null | undefined;
};
export declare const isEraserActive: ({ activeTool, }: {
    activeTool: AppState["activeTool"];
}) => boolean;
export declare const isHandToolActive: ({ activeTool, }: {
    activeTool: AppState["activeTool"];
}) => boolean;
