import { ExtractPropTypes, PropType } from 'vue';
import { SizeT } from '../_utils/types';
export declare const loadingProps: {
    /**
     * @zh-CN loading文本
     * @en-US loading text
     */
    label: {
        type: StringConstructor;
    };
    /**
     * @zh-CN 加载尺寸
     * @en-US loading size
     */
    size: {
        type: PropType<SizeT | "mini">;
        default: string;
    };
    /**
     * @zh-CN 自定义loading图标
     * @en-US Custom loading icon
     */
    icon: {
        type: ObjectConstructor;
    };
    /**
     * @zh-CN 自定义loading图标是否旋转
     * @en-US Whether the custom loading icon is rotating
     */
    iconRotating: {
        type: BooleanConstructor;
    };
    visible: {
        type: BooleanConstructor;
        default: boolean;
    };
    wrapper: {
        type: PropType<string | HTMLElement | null>;
        default: string;
    };
    unmountOnHide: {
        type: BooleanConstructor;
        default: boolean;
    };
    mainClass: {
        type: PropType<string | {
            [k: string]: boolean;
        } | Array<{
            [k: string]: boolean;
        } | string>>;
    };
    mainTransition: {
        type: StringConstructor;
        default: string;
    };
    maskTransition: {
        type: StringConstructor;
        default: string;
    };
    transitionOrign: {
        type: PropType<"mouse" | "css">;
        default: string;
    };
    mask: {
        type: BooleanConstructor;
        default: boolean;
    };
    buttonClose: {
        type: BooleanConstructor;
        default: boolean;
    };
    beforeShow: {
        type: PropType<() => Promise<boolean> | boolean>;
    };
    beforeHide: {
        type: PropType<() => Promise<boolean> | boolean>;
    };
};
export type LoadingPropsT = ExtractPropTypes<typeof loadingProps>;
