import * as React from 'react';
export interface BulkActionBarLabels {
    count: (n: number) => string;
    clear: string;
    hiddenSuffix: (hidden: number) => string;
    toolbarAriaLabel: string;
}
export declare const BULK_ACTION_BAR_DEFAULT_LABELS: BulkActionBarLabels;
export interface BulkActionBarProps extends React.HTMLAttributes<HTMLDivElement> {
    /** 已選 ID,length === 0 時自動隱藏(回傳 null) */
    selection: readonly string[];
    /** Clear 觸發,user 點 X icon 或 Esc(consumer 在 page-level 監聽) */
    onClear?: () => void;
    /** 批次 actions(consumer 提供 md Button,variant=tertiary 或 tertiary+danger;不用 primary) */
    actions?: React.ReactNode;
    /** Filter 模式:hidden 數量,顯示在 count 區 inline「{N} 已選 · {M} 個被 filter 隱藏」 */
    hiddenByFilter?: number;
    /**
     * 「擴選整個 dataset」狀態(2026-05-13 ship,per user 抓 Alert「已選 5370」但 BulkActionBar
     * 仍顯「已選 50 項」regression):
     * - undefined / null(default):count 走 `selection.length`(page-level 視覺選取)
     * - number:count 走此數值(整個 dataset 擴選後 user 已選的真總數)
     *
     * Canonical pattern:consumer 把 BulkActionBar 跟「Alert info banner(提示擴選 dataset)」
     * 一起 mount,Alert 點「點此選取全部 N 個」→ setTotalSelected(N) → BulkActionBar count 同步。
     * 對齊 Gmail / Linear / Notion 全選 dataset hint pattern。
     * 詳 `bulk-action-bar.spec.md`「Extend dataset pattern」段。
     */
    totalSelected?: number | null;
    /** i18n labels(Partial,merge with default) */
    labels?: Partial<BulkActionBarLabels>;
}
declare const BulkActionBar: React.ForwardRefExoticComponent<BulkActionBarProps & React.RefAttributes<HTMLDivElement>>;
export declare const bulkActionBarMeta: {
    readonly component: "BulkActionBar";
    readonly family: null;
    readonly variants: {};
    readonly sizes: {};
    readonly states: readonly ["default"];
    readonly tokens: {
        readonly fg: readonly ["text-foreground", "text-fg-muted"];
        readonly border: readonly ["border-divider"];
    };
};
export { BulkActionBar };
//# sourceMappingURL=bulk-action-bar.d.ts.map