import { default as React } from 'react';
import { RegisterOptions } from 'react-hook-form';
import { CheckBoxCoreDetails, CheckBoxMode } from '../labeledGroupedCheckBoxField/LabeledGroupedCheckBoxField';
/**
 * VirtualizedCheckBoxField Component Props
 */
interface CommonProps {
    mode: CheckBoxMode;
    checkBoxContainerStyle?: React.CSSProperties;
    checkBoxIconStyle?: React.CSSProperties;
    checkBoxStyle?: React.CSSProperties;
    checkedIconColor?: string;
    draggable?: boolean;
    infoIconContainerStyle?: React.CSSProperties;
    isDisabled?: "disabled" | "readonly";
    labelCheckBoxStyle?: React.CSSProperties;
    labelStyle?: React.CSSProperties;
    selectionLimit?: number;
    width?: number;
    onDragStart?: (e: React.DragEvent, value: string) => void;
}
export interface VirtualizedCheckBoxFieldProps extends CommonProps {
    allCheckBoxValues: string[];
    checkBox: CheckBoxCoreDetails;
    fieldName: string;
    index: number;
    containerStyle?: React.CSSProperties;
    "data-testid"?: string;
    groupLabelCheckBox?: CheckBoxCoreDetails;
    registerOptions?: RegisterOptions;
    style?: React.CSSProperties;
}
/**
 * VirtualizedCheckBoxField - A checkbox field optimized for virtualized lists
 *
 * Features:
 * - Integrates with react-hook-form via Controller
 * - Supports validation rules via registerOptions
 * - Handles error states from formState
 * - Provides data-testid for testing
 * - Memoized for performance in virtualized lists
 *
 * @example
 * ```tsx
 * <VirtualizedCheckBoxField
 *   checkBox={checkBoxData}
 *   fieldName="myCheckboxes"
 *   index={0}
 *   allCheckBoxValues={allValues}
 *   groupLabelCheckBox={groupLabel}
 *   mode="checked_or_hover"
 *   selectionLimit={10}
 * />
 * ```
 */
export declare const VirtualizedCheckBoxField: React.NamedExoticComponent<VirtualizedCheckBoxFieldProps>;
export {};
