import { ExtractPropTypes, PropType, VNode, Component } from 'vue';
export declare enum Duration {
    NORMAL = 2000,
    LONG = 3500
}
export type ToastPositionT = 'top' | 'bottom' | 'center';
export declare const toastProps: {
    /**
     * @zh-CN 消息是否可见
     * @en-US Message is visible.
     */
    readonly visible: {
        readonly type: BooleanConstructor;
        readonly default: undefined;
    };
    /**
     * @zh-CN 非受控模式，消息是否默认可见
     * @en-US Non-controlled mode, message is visible by default
     * @default true
     */
    readonly defaultVisible: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    /**
     * @zh-CN 提示信息
     * @en-US Instructional message.
     */
    readonly message: {
        readonly type: StringConstructor;
    };
    /**
     * @zh-CN 持续时间
     * @en-US Duration.
     */
    readonly duration: {
        readonly type: NumberConstructor;
    };
    /**
     * @zh-CN 长提示
     * @en-US Long reminder.
     */
    readonly long: {
        readonly type: BooleanConstructor;
    };
    /**
     * @zh-CN 定位方向
     * @en-US Determine the direction.
     */
    readonly position: {
        readonly type: PropType<ToastPositionT>;
        readonly default: "bottom";
    };
    /**
     * @zh-CN 关闭前的钩子函数
     * @en-US Hook function before closing
     */
    readonly beforeClose: {
        readonly type: PropType<() => Promise<boolean> | boolean>;
    };
};
export declare const toastListProps: {
    /**
     * @zh-CN 消息列表位置
     * @en-US Position.
     */
    readonly position: {
        readonly type: PropType<ToastPositionT>;
        readonly default: "bottom";
    };
    /**
     * @zh-CN 消息列表销毁前的钩子函数
     * @en-US Hook function before the destruction of the message list.
     */
    readonly onDestroy: {
        readonly type: PropType<() => void>;
    };
};
export type ToastPropsT = ExtractPropTypes<typeof toastProps>;
export type ToastListPropsT = ExtractPropTypes<typeof toastListProps>;
export type ToastParamsT = Partial<ToastPropsT & {
    content: string | VNode | Component;
    position: ToastPositionT;
    targetOffset: number;
    targetAlign: 'center' | 'left' | 'right';
    onDurationEnd: () => void;
    onClose: (ev?: MouseEvent) => void;
}>;
