import type { CSSProperties } from 'vue';
import type { CSSMotionProps } from '../_util/components/transition';
import type { Key } from '../_util/type';
import type { HolderReadyCallback, NoticeContent, Placement } from './type';
export declare function getUuid(): string;
export interface HookNotificationProps {
    prefixCls?: string;
    transitionName?: string;
    animation?: string | CSSMotionProps | ((placement?: Placement) => CSSMotionProps);
    maxCount?: number;
    closeIcon?: any;
    hashId?: string;
    remove: (key: Key) => void;
    notices: NotificationState;
    getStyles?: (placement?: Placement) => CSSProperties;
    getClassName?: (placement?: Placement) => string;
    onAllRemoved?: VoidFunction;
    getContainer?: () => HTMLElement;
}
type NotificationState = {
    notice: NoticeContent & {
        userPassKey?: Key;
    };
    holderCallback?: HolderReadyCallback;
}[];
declare const Notification: import("vue").DefineComponent<HookNotificationProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<HookNotificationProps>, {
    closeIcon?: any;
}, {}>;
export default Notification;
