import type { FullToken, GenerateStyle, GenStyleFn } from '../../theme/internal';
type WidthKey<Token extends NotificationToken> = {
    [Key in keyof Token]: Token[Key] extends number | string ? Key : never;
}[keyof Token];
interface SharedStyleConfig<Token extends NotificationToken> {
    listWidthKey?: WidthKey<Token>;
    stackVisibleCount?: number;
    itemStyle?: GenerateStyle<Token>;
}
/** Component only token. Which will handle additional calculation of alias token */
export interface ComponentToken {
    /**
     * @desc 提醒框 z-index
     * @descEN z-index of Notification
     */
    zIndexPopup: number;
    /**
     * @desc 提醒框宽度
     * @descEN Width of Notification
     */
    width: number | string;
    /**
     * @desc 提醒框进度条背景色
     * @descEN Background color of Notification progress bar
     */
    progressBg: string;
    /**
     * @desc 成功提醒框容器背景色
     * @descEN Background color of success notification container
     */
    colorSuccessBg?: string;
    /**
     * @desc 错误提醒框容器背景色
     * @descEN Background color of error notification container
     */
    colorErrorBg?: string;
    /**
     * @desc 信息提醒框容器背景色
     * @descEN Background color of info notification container
     */
    colorInfoBg?: string;
    /**
     * @desc 警告提醒框容器背景色
     * @descEN Background color of warning notification container
     */
    colorWarningBg?: string;
}
/**
 * @desc Notification 组件的 Token
 * @descEN Token for Notification component
 */
export interface NotificationToken extends FullToken<'Notification'> {
    /**
     * @desc 提醒框背景色
     * @descEN Background color of Notification
     */
    notificationBg: string;
    /**
     * @desc 提醒框内边距
     * @descEN Padding of Notification
     */
    notificationPadding: string;
    /**
     * @desc 提醒框垂直内边距
     * @descEN Vertical padding of Notification
     */
    notificationPaddingVertical: number | string;
    /**
     * @desc 提醒框水平内边距
     * @descEN Horizontal padding of Notification
     */
    notificationPaddingHorizontal: number;
    /**
     * @desc 提醒框图标尺寸
     * @descEN Icon size of Notification
     */
    notificationIconSize: number | string;
    /**
     * @desc 提醒框关闭按钮尺寸
     * @descEN Close button size of Notification
     */
    notificationCloseButtonSize: number | string;
    /**
     * @desc 提醒框底部外边距
     * @descEN Bottom margin of Notification
     */
    notificationMarginBottom: number;
    /**
     * @desc 提醒框边缘外边距
     * @descEN Edge margin of Notification
     */
    notificationMarginEdge: number;
    /**
     * @desc 提醒框进度条高度
     * @descEN Height of Notification progress bar
     */
    notificationProgressHeight: number;
    /**
     * @desc 提醒框入场动画偏移
     * @descEN Motion offset of Notification
     */
    notificationMotionOffset: number;
}
/** Derive internal Notification style tokens from alias and component tokens. */
export declare const prepareNotificationToken: (token: Parameters<GenStyleFn<'Notification'>>[0]) => NotificationToken;
/** Register the PurePanel sub-style component for Notification. */
export declare const PurePanelStyle: import("react").FunctionComponent<import("@ant-design/cssinjs-utils/lib/util/genStyleUtils").SubStyleComponentProps>;
/** Compose the shared list, item, and placement styles. */
export declare const sharedGenerateStyle: <Token extends NotificationToken>(token: Token, config: SharedStyleConfig<Token>) => ReturnType<GenerateStyle<Token>>;
/** Register the main style hook for Notification. */
declare const _default: (prefixCls: string, rootCls?: string) => readonly [string, string];
export default _default;
