import type { CSSProperties, ExtractPropTypes, PropType, Ref, SetupContext } from 'vue';
export declare const CLOSE_EVENT = "close";
export declare const OPEN_EVENT = "open";
export declare const CLOSED_EVENT = "closed";
export declare const OPENED_EVENT = "opened";
export declare const useDialogEmits: string[];
export declare const useDialogProps: {
    appendToBody: {
        type: BooleanConstructor;
        default: boolean;
    };
    beforeClose: {
        type: PropType<(...args: any[]) => unknown>;
    };
    destroyOnClose: {
        type: BooleanConstructor;
        default: boolean;
    };
    center: {
        type: BooleanConstructor;
        default: boolean;
    };
    customClass: {
        type: StringConstructor;
        default: string;
    };
    closeOnClickModal: {
        type: BooleanConstructor;
        default: boolean;
    };
    closeOnPressEscape: {
        type: BooleanConstructor;
        default: boolean;
    };
    fullscreen: {
        type: BooleanConstructor;
        default: boolean;
    };
    lockScroll: {
        type: BooleanConstructor;
        default: boolean;
    };
    modal: {
        type: BooleanConstructor;
        default: boolean;
    };
    showClose: {
        type: BooleanConstructor;
        default: boolean;
    };
    title: {
        type: StringConstructor;
        default: string;
    };
    openDelay: {
        type: NumberConstructor;
        default: number;
    };
    closeDelay: {
        type: NumberConstructor;
        default: number;
    };
    top: {
        type: StringConstructor;
        default: string;
    };
    modelValue: {
        type: BooleanConstructor;
        required: boolean;
    };
    modalClass: StringConstructor;
    width: {
        type: (NumberConstructor | StringConstructor)[];
        default: string;
        validator: (val: string | number) => boolean;
    };
    zIndex: {
        type: NumberConstructor;
    };
};
export default function (props: ExtractPropTypes<typeof useDialogProps>, ctx: SetupContext, targetRef: Ref<HTMLElement>): {
    afterEnter: () => void;
    afterLeave: () => void;
    beforeLeave: () => void;
    handleClose: () => void;
    onModalClick: () => void;
    closed: Ref<boolean>;
    dialogRef: any;
    style: import("vue").ComputedRef<CSSProperties>;
    rendered: Ref<boolean>;
    modalRef: Ref<HTMLElement>;
    visible: Ref<boolean>;
    zIndex: Ref<number>;
};
