import { Checkbox as CheckboxPrimitive } from '@base-ui/react/checkbox';
import * as React from 'react';
import { type FieldProps } from '@/components/atoms/forms/_shared';
type CheckboxVariant = 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'destructive';
type CheckboxSize = 'sm' | 'md' | 'lg';
/**
 * Checkbox is a pure atom component that renders ONLY the checkbox element.
 * It does NOT render label, description, or error.
 *
 * Supports 6 color variants and 3 sizes matching Figma design.
 * When used inside a Field with an error, automatically uses destructive variant.
 *
 * @example
 * ```tsx
 * // Simple checkbox
 * <Checkbox />
 *
 * // With variant and size
 * <Checkbox variant="success" size="lg" />
 *
 * // Auto-destructive when Field has error
 * <Field error="Required">
 *   <Checkbox />  // automatically uses destructive variant
 * </Field>
 * ```
 */
type CheckboxControlProps = Omit<CheckboxPrimitive.Root.Props, 'onCheckedChange'> & {
    /** Color variant for the checkbox */
    variant?: CheckboxVariant;
    /** Size variant for the checkbox */
    size?: CheckboxSize;
    /** Controlled checked state. When provided, component is controlled. */
    checked?: boolean;
    /** Initial checked state for uncontrolled mode */
    defaultChecked?: boolean;
    /** Callback when checked state changes */
    onCheckedChange?: (checked: boolean) => void;
};
export interface CheckboxProps extends CheckboxControlProps, Omit<FieldProps, 'topRight' | 'bottomRight'> {
}
export type { CheckboxSize, CheckboxVariant };
declare const Checkbox: React.ForwardRefExoticComponent<Omit<CheckboxProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
export { Checkbox };
