import { ExtractPropTypes, PropType, Component } from 'vue';
import { ColorT, SizeT, VariantT, RoundT } from '../_utils/types';
import { BaseScrollerPropsT } from '../scrollbar';
export declare const DialogSizeTypes: readonly ["exlarge", "large", "medium", "small", "auto"];
export type DialogSizeT = (typeof DialogSizeTypes)[number];
export interface DialogActionT {
    id: string | number;
    color?: ColorT;
    variant?: VariantT;
    size?: SizeT;
    label?: string;
    round?: RoundT;
    icon?: Component;
    disabled?: boolean;
    loading?: boolean;
    onClick: () => void;
}
export declare const dialogProps: {
    /**
     * @zh-CN 是否隐藏对话框的关闭按钮
     * @en-US Whether to hide the close button of the dialog
     */
    hideClose: {
        type: BooleanConstructor;
    };
    /**
     * @zh-CN 对话框尺寸
     * @en-US Dialog size
     */
    size: {
        type: PropType<DialogSizeT>;
        default: string;
    };
    /**
     * @zh-CN 对话框底部按钮
     * @en-US Dialog bottom button
     */
    actions: {
        type: PropType<DialogActionT[]>;
    };
    /**
     * @zh-CN 是否禁用响应式
     * @en-US Whether to disable responsive
     */
    noResponsive: {
        type: BooleanConstructor;
    };
    /**
     * @zh-CN 移动端是否渲染为半屏（宽度占满，高度占一半）
     * @en-US Whether to render as half screen (width full, height half) on mobile phone
     */
    phoneHalfFull: {
        type: BooleanConstructor;
    };
    /**
     * @zh-CN 是否使用scrollbar，值为 false 不使用，值为 true 或 scrollbar 的配置对象则使用
     * @en-US Whether to use scrollbar, value false not use, value true or scrollbar configuration object to use
     */
    scrollbar: {
        type: PropType<boolean | Partial<BaseScrollerPropsT>>;
        default: boolean;
    };
    visible: {
        type: BooleanConstructor;
        default: boolean;
    };
    wrapper: {
        type: PropType<string | HTMLElement | null>;
        default: string;
    };
    unmountOnHide: {
        type: BooleanConstructor;
        default: boolean;
    };
    mainClass: {
        type: PropType<string | any[]>;
        default: string;
    };
    mainTransition: {
        type: StringConstructor;
        default: string;
    };
    maskTransition: {
        type: StringConstructor;
        default: string;
    };
    transitionOrign: {
        type: PropType<"mouse" | "css">;
        default: string;
    };
    mask: {
        type: BooleanConstructor;
        default: boolean;
    };
    maskClose: {
        type: BooleanConstructor;
        default: boolean;
    };
    buttonClose: {
        type: BooleanConstructor;
        default: boolean;
    };
    beforeShow: {
        type: PropType<() => Promise<boolean> | boolean>;
    };
    beforeHide: {
        type: PropType<() => Promise<boolean> | boolean>;
    };
};
export type DialogPropsT = ExtractPropTypes<typeof dialogProps>;
