///
export type NotificationPlacement = 'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight';
export type IconType = 'success' | 'info' | 'error' | 'warning';
export type BaseClosableType = {
closeIcon?: React.ReactNode;
} & React.AriaAttributes;
export type ClosableType = boolean | BaseClosableType;
export interface NotificationArgsProps {
message: React.ReactNode;
description?: React.ReactNode;
btn?: React.ReactNode;
key?: React.Key;
onClose?: () => void;
duration?: number | null;
showProgress?: boolean;
pauseOnHover?: boolean;
icon?: React.ReactNode;
placement?: NotificationPlacement;
style?: React.CSSProperties;
className?: string;
readonly type?: IconType;
onClick?: () => void;
closeIcon?: React.ReactNode;
closable?: ClosableType;
props?: React.HTMLProps;
role?: 'alert' | 'status';
}
type StaticFn = (args: NotificationArgsProps) => void;
export interface NotificationInstance {
success: StaticFn;
error: StaticFn;
info: StaticFn;
warning: StaticFn;
open: StaticFn;
destroy(key?: React.Key): void;
}
export interface GlobalConfigProps {
top?: number;
bottom?: number;
duration?: number;
showProgress?: boolean;
pauseOnHover?: boolean;
prefixCls?: string;
getContainer?: () => HTMLElement | ShadowRoot;
placement?: NotificationPlacement;
closeIcon?: React.ReactNode;
closable?: ClosableType;
rtl?: boolean;
maxCount?: number;
props?: React.HTMLProps;
}
export interface NotificationConfig {
top?: number;
bottom?: number;
prefixCls?: string;
getContainer?: () => HTMLElement | ShadowRoot;
placement?: NotificationPlacement;
maxCount?: number;
rtl?: boolean;
stack?: boolean | {
threshold?: number;
};
duration?: number;
showProgress?: boolean;
pauseOnHover?: boolean;
}
export declare const DEFAULT_TOP = 24;
export declare const DEFAULT_BOTTOM = 24;
export declare const DEFAULT_OFFSET = 24;
export declare const DEFAULT_DURATION = 4.5;
export declare const DEFAULT_PLACEMENT: NotificationPlacement;
export declare const NOTIFICATION_PREFIX_CLS: string;
export declare function getPlacementStyle(placement: NotificationPlacement, top?: number, bottom?: number): {
left: string;
transform: string;
right: string;
top: number;
bottom: string;
} | {
left: number;
top: number;
bottom: string;
transform?: undefined;
right?: undefined;
} | {
right: number;
top: number;
bottom: string;
left?: undefined;
transform?: undefined;
} | {
left: string;
transform: string;
right: string;
top: string;
bottom: number;
} | {
left: number;
top: string;
bottom: number;
transform?: undefined;
right?: undefined;
} | {
right: number;
top: string;
bottom: number;
left?: undefined;
transform?: undefined;
};
export {};
//# sourceMappingURL=protocol.d.ts.map