/**
 * @internal — DS-internal 單元(per `.claude/rules/ui-development.md` Public vs Internal canonical;spec frontmatter `isInternal`)。
 * 不進 root barrel front-door;由 Alert / Toast wrap 消費,end-user app 請用 wrapper 元件。
 */
import * as React from 'react';
/**
 * Notice — Toast / Alert 共用的視覺佈局層
 *
 * ── Typography: md tier ──
 * title: text-body (14px) leading-compact — 有 description 時加 font-medium
 * description: text-body (14px) leading-compact + text-fg-secondary (neutral-8)
 * 14px 配 14px — 視覺層級靠 font-weight + color 區分,不靠 font-size。
 *
 * ── Padding（固定,不隨 density 變） ──
 * px = px-4（16px）
 * py = py-3（12px）
 * gap = gap-2（8px）
 * Toast/Alert 是浮動通知,不是工作區域元件——density 控制表單/選單的緊湊度,
 * 通知的尺寸應該固定,不隨 density 縮放。
 *
 * ── Icon: md tier ──
 * icon size: 16px（ICON_SIZE.md）
 *
 * ── Dismiss X(chrome corner close,Cat 3 Action group region)──
 * 用 Button iconOnly dismiss **size="xs"** — 非 Inline Action、非自刻 button。
 * Rationale(Notification banner family canonical):
 * - Notice / Alert / Toast 屬 **notification banner family**(ephemeral、px-4 py-3 固定不隨 density),
 *   dismiss 是邊角小 affordance,xs 視覺不搶眼不跟 content 競爭。見 `overlay-surface.spec.md`
 *   「Chrome dismiss size canonical」(overlay header 走 sm native + 負 margin trick;xs 只用於 notification banner family)
 * - Close 左側可加 refresh / share(action group region),皆統一 xs
 * - `dismiss` prop 自動套 variant="text" + fg-muted override
 * SSOT:patterns/element-anatomy/inline-action.spec.md「Dismiss canonical — X close only」
 *      + components/Alert/alert.spec.md「Chrome corner close X canonical」。
 */
export type NoticeVariant = 'neutral' | 'info' | 'success' | 'warning' | 'error';
export declare const SUBTLE_ICON_COLOR: Record<NoticeVariant, string>;
export interface NoticeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
    variant?: NoticeVariant;
    title: React.ReactNode;
    description?: React.ReactNode;
    endContent?: React.ReactNode;
    dismissible?: boolean;
    onDismiss?: () => void;
    /** ARIA label for the dismiss button. Override for i18n. Default: "關閉通知" */
    dismissAriaLabel?: string;
    iconClassName?: string;
    /**
     * ARIA role 由 wrapping consumer 決定(Alert / Toast / 自管 host),Notice 預設不帶 role。
     * Notice 是 layout primitive,Alert / Toast 是 live region 擁有者——避免 nested live region
     * 造成 screen reader 重複朗讀。明文傳遞才覆寫。
     */
    role?: 'status' | 'alert';
    /**
     * 對應 role 的 aria-live 策略,wrapping consumer 決定;Notice 預設 undefined 不帶 live region。
     */
    'aria-live'?: 'polite' | 'assertive' | 'off';
}
declare const Notice: React.ForwardRefExoticComponent<NoticeProps & React.RefAttributes<HTMLDivElement>>;
export declare function useInverseTheme(): 'dark' | 'light';
export declare const noticeMeta: {
    readonly component: "Notice";
    readonly family: 2;
    readonly variants: {};
    readonly sizes: {};
    readonly states: readonly ["default"];
    readonly tokens: {
        readonly bg: readonly [];
        readonly fg: readonly ["text-error-text", "text-fg-muted", "text-fg-secondary", "text-info-text", "text-success-text", "text-warning-text"];
        readonly ring: readonly [];
    };
};
export { Notice };
//# sourceMappingURL=notice.d.ts.map