import * as React from 'react';
export declare const CheckboxGroupContext: React.Context<{
    inGroup: true;
} | null>;
/**
 * CheckboxGroup — 多選 Checkbox 的 layout primitive
 *
 * ── Canonical 鐵律(2026-04-21 user 明示 + codified)──
 *
 * **垂直 CheckboxGroup 的 item 之間沒有外部 gap**。間距完全靠每個 Checkbox 內部的
 * `SelectionItem py = (field-height - 1lh) / 2` 公式生成 —— 單行高度對齊 field-height,
 * 多 row stacked 時 row-to-row 自然有 py × 2 的呼吸空間。
 *
 * **禁止**外層加 `gap-y-*` / `space-y-*` / margin —— 會 double padding,違反 canonical。
 *
 * ── 對齊 RadioGroup canonical ──
 * 本 DS `RadioGroup` wrapper 用 `grid`(無 gap;radio-group.tsx 自加——Radix primitive
 * 本身 unstyled,無預設 layout);本元件垂直也用 `grid`(無 gap),
 * horizontal 用 `flex flex-wrap gap-4`(短 label 並排才需水平 gap)。
 *
 * ── 為什麼 vertical 不給 gap 也能好看 ──
 * SelectionItem py 的公式讓每個 Checkbox row 的「單行高度 = field-height」。row 堆疊時
 * 相鄰 row 的 py 相加 = 2×py ≈ 10-12px 真實 row-to-row 視覺呼吸空間。Atlassian / Ant /
 * Chakra / GitHub CheckboxGroup 皆同流派 —— row 高度定義 gap,不加外部 gap。
 *
 * ── 本 session 曾經的錯誤 + 釐清 ──
 * 早先曾以為「gap 要加」是因為「row 黏在一起」——但實際根因是 `Checkbox` 在 Field
 * context 內誤吞自己的 label(見 checkbox.tsx 的 CheckboxGroupContext 修正)。
 * label 回來後 row 自然撐開,不需要 gap。修正後的 canonical 鐵律:**zero gap,
 * 間距由 SelectionItem py 獨家擁有**。
 *
 * ── fieldLayout:block ──
 * 在 `<Field orientation="horizontal">` 內,control area auto `items-start` +
 * padding-top 公式對齊第一個 item 的 label 第一行(見 field.spec.md)。
 *
 * ── 用法範例 ──
 *   <CheckboxGroup>
 *     <Checkbox label="待處理" defaultChecked />
 *     <Checkbox label="進行中" defaultChecked />
 *     <Checkbox label="已完成" />
 *   </CheckboxGroup>
 *
 *   <CheckboxGroup orientation="horizontal">
 *     <Checkbox label="Email" />
 *     <Checkbox label="Push" />
 *     <Checkbox label="SMS" />
 *   </CheckboxGroup>
 */
export interface CheckboxGroupProps extends React.HTMLAttributes<HTMLDivElement> {
    /**
     * 排列方向。
     * - `vertical`(預設):多選項目堆疊,row 間距由 SelectionItem 擁有(外層 0 gap)
     * - `horizontal`:選項並排,gap-4 分隔(短 label 場景,如「Email / Push / SMS」)
     */
    orientation?: 'vertical' | 'horizontal';
}
declare const CheckboxGroup: React.ForwardRefExoticComponent<CheckboxGroupProps & React.RefAttributes<HTMLDivElement>>;
export { CheckboxGroup };
//# sourceMappingURL=checkbox-group.d.ts.map