import * as React from "react";
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
import { type VariantProps } from "class-variance-authority";
import type { FieldMode, FieldVariant } from "../../components/Field/field-types";
import type { LucideIcon } from "lucide-react";
import type { AvatarData } from "../../components/Avatar/avatar";
declare const checkboxVariants: (props?: ({
    size?: "sm" | "md" | "lg" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
export interface CheckboxProps extends React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>, VariantProps<typeof checkboxVariants> {
    /**
     * Inline label。提供時 Checkbox 自動透過 SelectionItem 包裝，
     * 套用 text-body / text-foreground / disabled 色 的 codified 樣式。
     * 在 <Field> context 內時此 prop 會被忽略（由 FieldLabel 接管）。
     */
    label?: React.ReactNode;
    /**
     * Inline description（secondary 文字）。須與 label 搭配使用。
     * 套用 text-body / text-fg-secondary 樣式。
     * 在 <Field> context 內時此 prop 會被忽略（由 FieldDescription 接管）。
     */
    description?: React.ReactNode;
    /** 可選左側 icon(label 前)— 2026-06-12 M30 修:轉發 SelectionItem 既有 canonical 槽(selection-item.tsx jsDoc 為 SSOT;與 avatar 互斥)*/
    icon?: LucideIcon;
    /** 可選左側 avatar(label 前)— 同上,SelectionItem 槽轉發 */
    avatar?: AvatarData;
    /**
     * readonly 模式：鎖定互動但維持 checked/unchecked 視覺正確。
     * 與 disabled 的差異：readonly 不降色（可讀），disabled 降色（弱化）。
     * 用於表單 readonly 呈現、DataTable cell 非編輯態。
     */
    readOnly?: boolean;
    /**
     * Field mode(2026-05-05 Phase B3 align):
     *   edit     — 一般可互動 checkbox(預設)
     *   display  — **純展示**:渲染 ✓ / —(無互動 primitive、無 input chrome);
     *              對齊 Carbon read-only / DataTable boolean cell 場景。取代既有 BooleanDisplay。
     *   readonly — 同 readOnly prop:checkbox 視覺保留 + 鎖互動 + a11y readonly signal
     *   disabled — 同 disabled prop:降色 + 鎖互動
     */
    mode?: FieldMode;
    /**
     * Visual chrome — checkbox 本體無 input wrapper variant,本 prop 對 checkbox 主體無視覺影響;
     * 為對齊 Field 4-mode + chrome 透傳契約而保留(M19 一致性)。
     */
    variant?: FieldVariant;
}
declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLButtonElement>>;
export declare const checkboxMeta: {
    readonly component: "Checkbox";
    readonly family: null;
    readonly variants: {};
    readonly sizes: {
        readonly sm: {
            readonly fieldHeight: 28;
            readonly iconSize: 12;
            readonly typography: "body";
        };
        readonly md: {
            readonly fieldHeight: 32;
            readonly iconSize: 12;
            readonly typography: "body";
        };
        readonly lg: {
            readonly fieldHeight: 36;
            readonly iconSize: 16;
            readonly typography: "body";
        };
    };
    readonly states: readonly ["default", "hover", "focus-visible", "disabled"];
    readonly tokens: {
        readonly bg: readonly ["bg-disabled", "bg-primary", "bg-primary-hover", "bg-surface"];
        readonly fg: readonly ["text-fg-disabled", "text-fg-secondary", "text-foreground"];
        readonly ring: readonly ["ring-ring"];
    };
    readonly defaultSize: "md";
};
export { Checkbox, checkboxVariants };
//# sourceMappingURL=checkbox.d.ts.map