import type { ExtractPropTypes, PropType } from 'vue';
export declare const modelessDialogProps: {
    borderless: BooleanConstructor;
    outlineless: BooleanConstructor;
    collapsed: BooleanConstructor;
    fullscreen: {
        type: PropType<boolean | Record<"top" | "bottom" | "right" | "left", string>>;
        default: boolean;
    };
    radius: StringConstructor;
    headerHeight: StringConstructor;
    padding: StringConstructor;
    bodyPadding: StringConstructor;
    footerPadding: StringConstructor;
    headerClass: StringConstructor;
    headerStyle: StringConstructor;
    bodyClass: StringConstructor;
    bodyStyle: StringConstructor;
    footerClass: StringConstructor;
    footerStyle: StringConstructor;
    fullBody: BooleanConstructor;
    beforeClose: {
        type: PropType<(...args: any[]) => unknown>;
    };
    showClose: {
        type: BooleanConstructor;
        default: boolean;
    };
    showMaximize: {
        type: BooleanConstructor;
        default: boolean;
    };
    showCollapse: {
        type: BooleanConstructor;
        default: boolean;
    };
    customClass: {
        type: StringConstructor;
        default: string;
    };
    animationName: {
        type: StringConstructor;
        default: string;
    };
    openDelay: {
        type: NumberConstructor;
        default: number;
    };
    closeDelay: {
        type: NumberConstructor;
        default: number;
    };
    top: {
        type: StringConstructor;
        default: string;
    };
    title: {
        type: StringConstructor;
        default: string;
    };
    modelValue: {
        type: BooleanConstructor;
        required: boolean;
    };
    height: {
        type: StringConstructor;
    };
    width: {
        type: StringConstructor;
    };
    zIndex: {
        type: (StringConstructor | NumberConstructor)[];
    };
    boundings: {
        type: PropType<number[]>;
        validator: (value: any) => boolean;
    };
    resize: BooleanConstructor;
    drag: {
        type: BooleanConstructor;
        default: boolean;
    };
    id: StringConstructor;
    useDock: BooleanConstructor;
    snapshot: {
        type: PropType<string | boolean | {
            type: string;
            url: string;
        }>;
        default: boolean;
    };
};
export declare type ModelessDialogProps = ExtractPropTypes<typeof modelessDialogProps>;
export declare const modelessDialogEmits: {
    open: () => boolean;
    opened: () => boolean;
    close: () => boolean;
    closed: () => boolean;
    destroy: () => boolean;
    resize: () => boolean;
    'update:modelValue': (value: boolean) => boolean;
    collapse: (value: boolean) => boolean;
    maximize: (value: boolean) => boolean;
};
export declare type ModelessDialogEmits = typeof modelessDialogEmits;
export interface ModelessInsance {
    close: () => void;
    toggleShow: (shown?: boolean) => void;
    toggleCollapse: (collapsable?: boolean) => void;
    toggleMaximize: (maximizable?: boolean) => void;
    isShown: () => boolean;
    isClosed: () => boolean;
    isCollapsed: () => boolean;
    isMaximized: () => boolean;
    title: string;
    snapshot: boolean | string | {
        type: string;
        url: string;
    };
}
export interface ModelessProxy {
    visible: boolean;
    collapse: boolean;
    maximize: boolean;
    shown: boolean;
    panelClass: Record<string, unknown>;
    headerClass: unknown;
    bodyClass: unknown;
    footerClass: unknown;
    panelStyle: string[];
    collapseDialog: (collapsable?: boolean) => void;
    maximizeDialog: (maximizable?: boolean) => void;
}
