import { ComputedRef, Ref } from "vue";
import { DesignPanelRef, DesignWidget, Widget } from "@/types";
import { Modal } from "@/services/design.service";
import { PrintOption } from "@/utils/print";
export declare function useDesignPanel(designPanel?: Ref<DesignPanelRef | null>): {
    designModal: ComputedRef<Modal>;
    getPageRect: () => {
        x: number;
        y: number;
        width: number;
        height: number;
        cwidth: number;
        cheight: number;
        padding: [number, number, number, number];
    };
    onLayout: (callback: (event: any) => void) => void;
    createWidget: (widget: Widget) => void;
    getPageWidgets: () => DesignWidget[] | undefined;
    getYWidgets: () => import("yjs").Array<import("../services/synchronize.service").YWidget> | undefined;
    updateWidget: (widget: DesignWidget) => void;
    delWidget: (id: string) => void;
    leftJustify: () => void;
    rightJustify: () => void;
    topJustify: () => void;
    bottomJustify: () => void;
    rowBetween: () => void;
    columnBetween: () => void;
    print: (option?: Partial<PrintOption>) => void;
    changePageSize: (width?: number, height?: number, padding?: [number, number, number, number]) => void;
};
