import { SelectionBorderNode } from "../lib/type/components/cropBox";
import { CanvasElementSnapshot } from "../lib/type/components/canvas";
import { DrawingStoreDataType } from "../lib/type/components/stores";
import { CanvasElement, TextElement } from "../lib/type/editor/canvasElements";
import { CropBoxBorderOption } from "../lib/constants/cropBoxOptions";
declare class DrawingDataStore {
    private initialState;
    dpr: number;
    getFullScreenStatus: boolean;
    selectionBorderNodes: Array<SelectionBorderNode>;
    captureStream: DrawingStoreDataType["captureStream"];
    history: Array<Record<string, any>>;
    movePosition: DrawingStoreDataType["movePosition"];
    borderOption: DrawingStoreDataType["borderOption"];
    mouseInsideCropBox: boolean;
    tempGraphPosition: DrawingStoreDataType["tempGraphPosition"];
    textInputPosition: DrawingStoreDataType["textInputPosition"];
    drawGraphPrevX: number;
    drawGraphPrevY: number;
    drawStatus: boolean;
    degreeOfBlur: number;
    resetAllStore: boolean;
    canUndo: boolean;
    canvasElements: DrawingStoreDataType["canvasElements"];
    activeElementId: DrawingStoreDataType["activeElementId"];
    rectOperateIndex: DrawingStoreDataType["rectOperateIndex"];
    editingTextElementId: DrawingStoreDataType["editingTextElementId"];
    pendingEditingTextElement: DrawingStoreDataType["pendingEditingTextElement"];
    private readonly applyInitialState;
    constructor();
    updateDpr(dpr: number): void;
    updateFullScreenStatus(status: boolean): void;
    resetCompState(): void;
    updateCanUndo(canUndo: boolean): void;
    updateSelectionBorderNodes(borderArr: Array<SelectionBorderNode>): void;
    updateCaptureStream(captureStream: MediaStream): void;
    updateMovePosition(moveStartX: number, moveStartY: number): void;
    updateBorderOption(borderOption: CropBoxBorderOption | null): void;
    updateMouseInsideCropBox(insideState: boolean): void;
    updateTempGraphPosition(startX: number, startY: number, width: number, height: number): void;
    updateTextInputPosition(mouseX: number, mouseY: number): void;
    updateDrawGraphPrevInfo(x: number, y: number): void;
    updateDrawStatus(status: boolean): void;
    shiftHistory(): Record<string, any> | undefined;
    popHistory(): Record<string, any> | undefined;
    undoHistory(screenShortCanvas: CanvasRenderingContext2D | null | undefined, disableUndo: () => void): void;
    addElement(element: CanvasElementSnapshot): void;
    removeElement(id: CanvasElementSnapshot["id"]): void;
    updateCanvasElement(element: CanvasElement): void;
    clearEmptyCanvasElements(callback: (filteredLength: number) => void): void;
    replaceCanvasElements(elements: Array<CanvasElementSnapshot>): void;
    checkMouseInElement(x: number, y: number, callback: (elementId: string | null) => void): void;
    resetCanvasElementNodeState(): void;
    findTextElementAt(x: number, y: number): CanvasElementSnapshot | null;
    redrawCanvasElements(): void;
    getCanvasElement(id: CanvasElementSnapshot["id"]): CanvasElementSnapshot | undefined;
    updateActiveElementId(id: CanvasElementSnapshot["id"] | null): void;
    updateRectOperateIndex(index: number | null): void;
    updateEditingTextElementId(id: string | null): void;
    updatePendingEditingTextElement(element: TextElement | null): void;
    pushHistory(item: Record<string, any>): void;
    reset(): void;
}
declare const drawingDataStore: DrawingDataStore;
export default drawingDataStore;
