/// <reference types="react" />
import './BucketButtonGroup.less';
/**
 * 通用「桶 → 底层 key 数组」按钮组，HUD 抽屉里的支付状态 / 预约状态快筛都走这个组件。
 *
 * 设计动机：
 *   - 业务方在抽屉里只关心少量"业务桶"（如未支付 / 已支付 / 在场），但底层枚举更细
 *     （`partially_paid` / `payment_processing` / `arrived` / `started` …）；
 *   - 直接渲染所有底层 key 会有 7+ 个按钮把抽屉撑爆，且语义不连贯；
 *   - 桶 → 底层 key 多对一映射在前端组件里完成，写入 `searchParams.filter.values.<field>`
 *     仍是底层 key 数组，与 Filter modal 的 multi-select / 后端查询参数完全兼容。
 *
 * "选中"判定：桶 keys 任一在 value 中即视为选中（容忍历史/边角态 key）。
 * "切换"行为：选中 → 剔除该桶所有 key；未选中 → 加入该桶所有 key（保留 value 中已有非桶 key）。
 */
export interface BucketDef {
    /** 桶唯一 id，仅用于 React key */
    id: string;
    /** 按钮文案（已经过国际化） */
    label: string;
    /** 该桶承载的底层 enum key 集合 */
    keys: string[];
}
export interface BucketButtonGroupProps {
    /** 由外层 Form 注入：底层 key 数组 */
    value?: string[];
    /** 由外层 Form 注入：底层 key 数组变更回调 */
    onChange?: (v: string[]) => void;
    /** 桶定义，按 UI 顺序 */
    buckets: BucketDef[];
}
export declare function BucketButtonGroup(props: BucketButtonGroupProps): JSX.Element;
export default BucketButtonGroup;
