import type { MessageType, MessagePlacementType } from './interface';
/// <reference types="node" />
import type { DefineComponent, PropType, VNode, RendererNode, RendererElement, Component, ComputedOptions, MethodOptions, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, EmitsOptions, isVNode } from 'vue';
import type { CSSProperties, ComputedRef, Ref } from 'vue';
import type { InstallType, HandleEventInterface, UtilsIsStringInterface, OrdinaryFunctionInterface as a,  ClassListInterface as b } from '../../_interface';
declare const _sfc_main: DefineComponent<{
    readonly id: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly message: {
        readonly type: PropType<string | VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }>>;
        readonly default: () => string;
        readonly required: true;
    };
    readonly type: {
        readonly type: PropType<MessageType>;
        readonly default: () => MessageType;
        readonly validator: (val: MessageType) => boolean;
    };
    readonly close: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly duration: {
        readonly type: NumberConstructor;
        readonly default: () => number;
    };
    readonly round: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly icon: {
        readonly type: PropType<VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }>>;
        readonly default: () => null;
    };
    readonly color: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly background: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly offset: {
        readonly type: NumberConstructor;
        readonly default: () => number;
    };
    readonly placement: {
        readonly type: PropType<MessagePlacementType>;
        readonly default: () => MessagePlacementType;
        readonly validator: (val: MessagePlacementType) => boolean;
    };
    readonly zIndex: {
        readonly type: NumberConstructor;
        readonly default: () => null;
    };
    readonly closeBtn: {
        readonly type: PropType<string | VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }>>;
        readonly default: () => null;
    };
    readonly closeEnd: {
        readonly type: FunctionConstructor;
        readonly default: () => null;
    };
}, {
    prop: {
        readonly id?: unknown;
        readonly message?: unknown;
        readonly type?: unknown;
        readonly close?: unknown;
        readonly duration?: unknown;
        readonly round?: unknown;
        readonly icon?: unknown;
        readonly color?: unknown;
        readonly background?: unknown;
        readonly offset?: unknown;
        readonly placement?: unknown;
        readonly zIndex?: unknown;
        readonly closeBtn?: unknown;
        readonly closeEnd?: unknown;
    } & {
        type: MessageType;
        close: boolean;
        round: boolean;
        background: string;
        color: string;
        closeEnd: Function;
        icon: VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }>;
        zIndex: number;
        message: string | VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }>;
        duration: number;
        id: string;
        offset: number;
        placement: MessagePlacementType;
        closeBtn: string | VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }>;
    } & {};
    messageRef: Ref<HTMLDivElement | undefined>;
    messageHeight: Ref<number>;
    visible: Ref<boolean>;
    isTop: ComputedRef<boolean>;
    siblingOffset: ComputedRef<number>;
    offset: ComputedRef<number>;
    bottom: ComputedRef<number>;
    classList: ComputedRef<b>;
    styleList: ComputedRef<CSSProperties>;
    timer: Ref<NodeJS.Timeout | undefined>;
    clearTimer: a;
    closeMessage: a;
    closeMessageEnd: a;
    startTime: a;
    isVNode: typeof isVNode;
    FSvgIcon: InstallType<DefineComponent<{
        readonly icon: {
            readonly type: PropType<VNode<RendererNode, RendererElement, {
                [key: string]: any;
            }> | Component<any, any, any, ComputedOptions, MethodOptions>>;
            readonly default: () => null;
        };
        readonly color: {
            readonly type: StringConstructor;
            readonly default: () => string;
        };
        readonly size: {
            readonly type: PropType<string | number>;
            readonly default: () => string;
        };
        readonly click: {
            readonly type: PropType<HandleEventInterface>;
            readonly default: () => null;
        };
    }, {
        prop: {
            readonly icon?: unknown;
            readonly color?: unknown;
            readonly size?: unknown;
            readonly click?: unknown;
        } & {
            color: string;
            size: string | number;
            icon: VNode<RendererNode, RendererElement, {
                [key: string]: any;
            }> | Component<any, any, any, ComputedOptions, MethodOptions>;
            click: HandleEventInterface;
        } & {};
        handleClick: HandleEventInterface;
        styleList: ComputedRef<CSSProperties>;
    }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<{
        readonly icon?: unknown;
        readonly color?: unknown;
        readonly size?: unknown;
        readonly click?: unknown;
    } & {
        color: string;
        size: string | number;
        icon: VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>;
        click: HandleEventInterface;
    } & {}>, {
        color: string;
        size: string | number;
        icon: VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>;
        click: HandleEventInterface;
    }>>;
    FCloseBtn: InstallType<DefineComponent<{
        readonly size: {
            readonly type: PropType<string | number>;
            readonly default: () => string;
        };
        readonly round: {
            readonly type: BooleanConstructor;
            readonly default: () => boolean;
        };
        readonly disabled: {
            readonly type: BooleanConstructor;
            readonly default: () => boolean;
        };
        readonly color: {
            readonly type: StringConstructor;
            readonly default: () => string;
        };
        readonly icon: {
            readonly type: PropType<VNode<RendererNode, RendererElement, {
                [key: string]: any;
            }> | Component<any, any, any, ComputedOptions, MethodOptions>>;
            readonly default: () => null;
        };
        readonly click: {
            readonly type: PropType<HandleEventInterface>;
            readonly default: () => null;
        };
    }, {
        prop: {
            readonly size?: unknown;
            readonly round?: unknown;
            readonly disabled?: unknown;
            readonly color?: unknown;
            readonly icon?: unknown;
            readonly click?: unknown;
        } & {
            round: boolean;
            color: string;
            size: string | number;
            disabled: boolean;
            icon: VNode<RendererNode, RendererElement, {
                [key: string]: any;
            }> | Component<any, any, any, ComputedOptions, MethodOptions>;
            click: HandleEventInterface;
        } & {};
        handleClick: HandleEventInterface;
        classList: ComputedRef<b>;
        FSvgIcon: InstallType<DefineComponent<{
            readonly icon: {
                readonly type: PropType<VNode<RendererNode, RendererElement, {
                    [key: string]: any;
                }> | Component<any, any, any, ComputedOptions, MethodOptions>>;
                readonly default: () => null;
            };
            readonly color: {
                readonly type: StringConstructor;
                readonly default: () => string;
            };
            readonly size: {
                readonly type: PropType<string | number>;
                readonly default: () => string;
            };
            readonly click: {
                readonly type: PropType<HandleEventInterface>;
                readonly default: () => null;
            };
        }, {
            prop: {
                readonly icon?: unknown;
                readonly color?: unknown;
                readonly size?: unknown;
                readonly click?: unknown;
            } & {
                color: string;
                size: string | number;
                icon: VNode<RendererNode, RendererElement, {
                    [key: string]: any;
                }> | Component<any, any, any, ComputedOptions, MethodOptions>;
                click: HandleEventInterface;
            } & {};
            handleClick: HandleEventInterface;
            styleList: ComputedRef<CSSProperties>;
        }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<{
            readonly icon?: unknown;
            readonly color?: unknown;
            readonly size?: unknown;
            readonly click?: unknown;
        } & {
            color: string;
            size: string | number;
            icon: VNode<RendererNode, RendererElement, {
                [key: string]: any;
            }> | Component<any, any, any, ComputedOptions, MethodOptions>;
            click: HandleEventInterface;
        } & {}>, {
            color: string;
            size: string | number;
            icon: VNode<RendererNode, RendererElement, {
                [key: string]: any;
            }> | Component<any, any, any, ComputedOptions, MethodOptions>;
            click: HandleEventInterface;
        }>>;
        FIconCrossVue: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
    }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<{
        readonly size?: unknown;
        readonly round?: unknown;
        readonly disabled?: unknown;
        readonly color?: unknown;
        readonly icon?: unknown;
        readonly click?: unknown;
    } & {
        round: boolean;
        color: string;
        size: string | number;
        disabled: boolean;
        icon: VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>;
        click: HandleEventInterface;
    } & {}>, {
        round: boolean;
        color: string;
        size: string | number;
        disabled: boolean;
        icon: VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>;
        click: HandleEventInterface;
    }>>;
    isString: UtilsIsStringInterface;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, string[], string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<{
    readonly id?: unknown;
    readonly message?: unknown;
    readonly type?: unknown;
    readonly close?: unknown;
    readonly duration?: unknown;
    readonly round?: unknown;
    readonly icon?: unknown;
    readonly color?: unknown;
    readonly background?: unknown;
    readonly offset?: unknown;
    readonly placement?: unknown;
    readonly zIndex?: unknown;
    readonly closeBtn?: unknown;
    readonly closeEnd?: unknown;
} & {
    type: MessageType;
    close: boolean;
    round: boolean;
    background: string;
    color: string;
    closeEnd: Function;
    icon: VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }>;
    zIndex: number;
    message: string | VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }>;
    duration: number;
    id: string;
    offset: number;
    placement: MessagePlacementType;
    closeBtn: string | VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }>;
} & {}> & {
    [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
}, {
    type: MessageType;
    close: boolean;
    round: boolean;
    background: string;
    color: string;
    closeEnd: Function;
    icon: VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }>;
    zIndex: number;
    message: string | VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }>;
    duration: number;
    id: string;
    offset: number;
    placement: MessagePlacementType;
    closeBtn: string | VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }>;
}>;
export default _sfc_main;
