import { default as React } from 'react';
/** Tracking event data for checkbox interactions */
export interface CheckboxTrackingData {
/** Action performed */
action: 'toggle';
/** Optional custom label for tracking */
trackingLabel?: string;
/** Optional component context */
componentName?: string;
}
export interface CheckboxProps {
/** Whether the checkbox is checked (controlled mode) */
checked?: boolean;
/** Default checked state (uncontrolled mode) */
defaultChecked?: boolean;
/** Change handler */
onChange?: (checked: boolean) => void;
/** Label text */
label?: string;
/** Description text below label */
description?: string;
/** Whether the checkbox is disabled */
disabled?: boolean;
/** Size variant */
size?: 'sm' | 'md' | 'lg';
/** Color variant */
variant?: 'primary' | 'success' | 'warning' | 'error';
/** Color variant (alias for variant) */
color?: 'blue' | 'green' | 'yellow' | 'red';
/** Additional className for the container */
className?: string;
/** ID for the input element */
id?: string;
/** Name for the input element */
name?: string;
/** Value for the input element */
value?: string;
/** Whether the checkbox is required */
required?: boolean;
/** Indeterminate state */
indeterminate?: boolean;
/** Error state */
error?: boolean;
/** Error message to display */
errorMessage?: string;
/** Custom icon to display when checked */
icon?: React.ReactNode;
/** Optional callback for tracking checkbox toggle */
onTrack?: (data: CheckboxTrackingData) => void;
/** Custom label for tracking */
trackingLabel?: string;
/** Component name for tracking context */
componentName?: string;
}
/**
* Checkbox Component
*
* Custom styled checkbox with proper accessibility and visual feedback.
* Supports both controlled and uncontrolled modes.
*
* @example
* ```tsx
* // Controlled
*
*
* // Uncontrolled
*
* ```
*/
export declare const Checkbox: React.FC;
//# sourceMappingURL=checkbox.d.ts.map