import { CanvasEventCallbacks } from "../lib/type/components/events";
import { ScreenShotOptions } from "../lib/type/components/screenshot";
import { UserParamStoreDataType } from "../lib/type/components/stores";
import { UserToolbarItem } from "../lib/type/components/toolbar";
import { CanvasElementSnapshot } from "../lib/type/components/canvas";
import type { CustomCanvasElementAdapter } from "../lib/type/components/customElement";
declare class UserParamStore {
    private initialState;
    enableWebRtc: boolean;
    menuBarHeight: number;
    clickCutFullScreen: boolean;
    imgSrc: UserParamStoreDataType["imgSrc"];
    loadCrossImg: boolean;
    proxyUrl: UserParamStoreDataType["proxyUrl"];
    useCORS: boolean;
    h2cIgnoreElementsFn: UserParamStoreDataType["h2cIgnoreElementsFn"];
    position: UserParamStoreDataType["position"];
    wrcReplyTime: number;
    cropBoxInfo: UserParamStoreDataType["cropBoxInfo"];
    toolPosition: UserParamStoreDataType["toolPosition"];
    wrcImgPosition: UserParamStoreDataType["wrcImgPosition"];
    hiddenScrollBar: UserParamStoreDataType["hiddenScrollBar"];
    wrcWindowMode: boolean;
    customRightClickEvent: UserParamStoreDataType["customRightClickEvent"];
    screenFlow: UserParamStoreDataType["screenFlow"];
    private canvasWidth;
    private canvasHeight;
    showScreenData: boolean;
    screenShotDom: UserParamStoreDataType["screenShotDom"];
    destroyContainer: boolean;
    maskColor: UserParamStoreDataType["maskColor"];
    writeBase64: boolean;
    exportOptions: UserParamStoreDataType["exportOptions"];
    cutBoxBdColor: string;
    maxUndoNum: number;
    useRatioArrow: boolean;
    imgAutoFit: boolean;
    useCustomImgSize: boolean;
    customImgSize: UserParamStoreDataType["customImgSize"];
    userToolbar: UserParamStoreDataType["userToolbar"];
    h2cCrossImgLoadErrFn: UserParamStoreDataType["h2cCrossImgLoadErrFn"];
    saveCallback: UserParamStoreDataType["saveCallback"];
    saveImgTitle: UserParamStoreDataType["saveImgTitle"];
    canvasEvents: UserParamStoreDataType["canvasEvents"];
    customElementAdapters: UserParamStoreDataType["customElementAdapters"];
    renderOptions: UserParamStoreDataType["renderOptions"];
    canvasElements: UserParamStoreDataType["canvasElements"];
    domRenderEngine: UserParamStoreDataType["domRenderEngine"];
    snapdom: UserParamStoreDataType["snapdom"];
    snapdomOptions: UserParamStoreDataType["snapdomOptions"];
    captureCursor: UserParamStoreDataType["captureCursor"];
    private readonly applyInitialState;
    constructor();
    setWebRtcStatus(status: boolean): void;
    setMenuBarHeight(height: number): void;
    setClickCutFullScreenStatus(status: boolean): void;
    setImgSrc(src: string): void;
    setLoadCrossImg(val: boolean): void;
    setProxyUrl(url: string): void;
    setUseCORS(state: boolean): void;
    setH2cIgnoreElementsFn(callback: UserParamStoreDataType["h2cIgnoreElementsFn"]): void;
    setPosition(position: UserParamStoreDataType["position"]): void;
    setWrcReplyTime(time: number): void;
    setCropBoxInfo(info: UserParamStoreDataType["cropBoxInfo"]): void;
    setToolPosition(toolPosition: UserParamStoreDataType["toolPosition"]): void;
    setWrcImgPosition(imgPosition: UserParamStoreDataType["wrcImgPosition"]): void;
    setHiddenScrollBar(barInfo: UserParamStoreDataType["hiddenScrollBar"]): void;
    setWrcWindowMode(windowInfo: boolean): void;
    setCustomRightClickEvent(data: UserParamStoreDataType["customRightClickEvent"]): void;
    setScreenShotDom(dom: HTMLElement): void;
    setCutBoxBdColor(color: string): void;
    setScreenFlow(stream: MediaStream): void;
    getCanvasSize(): {
        canvasWidth: number;
        canvasHeight: number;
    };
    setCanvasSize(width: number, height: number): void;
    setShowScreenDataStatus(status: boolean): void;
    setMaskColor(color: {
        r: number;
        g: number;
        b: number;
        a: number;
    }): void;
    setWriteImgState(state: boolean): void;
    setExportOptions(options: ScreenShotOptions["exportOptions"]): void;
    setSaveCallback(saveFn: (code: number, msg: string, base64: string) => void): void;
    setMaxUndoNum(num: number): void;
    setRatioArrow(state: boolean): void;
    setImgAutoFit(state: boolean): void;
    setUseCustomImgSize(state: boolean, sizeInfo?: {
        w: number;
        h: number;
    }): void;
    getCustomImgSize(): {
        useCustomImgSize: boolean;
        customImgSize: import("../lib/type/components/screenshot").ImageSize;
    };
    setSaveImgTitle(title: string): void;
    setDestroyContainerState(state: boolean): void;
    setUserToolbar(toolbar: Array<UserToolbarItem>): void;
    setH2cCrossImgLoadErrFn(fn: ScreenShotOptions["h2cImgLoadErrCallback"]): void;
    setCanvasEvents(event: CanvasEventCallbacks): void;
    setCustomElementAdapters(adapters: Array<CustomCanvasElementAdapter>): void;
    getCustomElementAdapter(toolId?: number, toolName?: string): CustomCanvasElementAdapter | undefined;
    setCanvasElements(elements: Array<CanvasElementSnapshot>): void;
    getCanvasElements(): any;
    setRenderOptions(position: UserParamStoreDataType["renderOptions"]): void;
    setDomRenderEngine(engine: UserParamStoreDataType["domRenderEngine"]): void;
    setSnapDomRenderer(renderer: UserParamStoreDataType["snapdom"]): void;
    setSnapDomOptions(options: UserParamStoreDataType["snapdomOptions"]): void;
    setCaptureCursor(cursor: UserParamStoreDataType["captureCursor"]): void;
    getCanvasEvents(): CanvasEventCallbacks | null;
    reset(): void;
}
declare const userParamStore: UserParamStore;
export default userParamStore;
