import { default as React } from 'react';
import { default as ICheckboxGroupProps } from './ICheckboxGroupProps';
/**
 * CheckboxGroup component that supports multiple usage patterns
 *
 * **Pattern 1: Options Array**
 * Pass an `options` array with {value, label} objects
 *
 * **Pattern 2: Children Checkboxes**
 * Pass individual Checkbox components as children with `value` props
 *
 * Supports both controlled and uncontrolled usage:
 * - Controlled: Use `value` and `onChange` props
 * - Uncontrolled: Use `defaultValue` prop
 *
 * @param props {@link ICheckboxGroupProps} - The component props
 * @returns The rendered checkbox group component
 *
 * @example
 * ```tsx
 * // Pattern 1: Options array
 * function App() {
 *   const [selectedValues, setSelectedValues] = useState<string[]>(['option1']);
 *   const options = [
 *     { value: 'option1', label: 'Option 1' },
 *     { value: 'option2', label: 'Option 2' },
 *   ];
 *
 *   return (
 *     <CheckboxGroup
 *       options={options}
 *       value={selectedValues}
 *       onChange={setSelectedValues}
 *     />
 *   );
 * }
 * ```
 *
 * @example
 * ```tsx
 * // Pattern 2: Children checkboxes (like Ant Design)
 * function App() {
 *   const [selectedValues, setSelectedValues] = useState<string[]>(['A']);
 *
 *   return (
 *     <CheckboxGroup value={selectedValues} onChange={setSelectedValues}>
 *       <div style={{ display: 'flex', gap: '16px' }}>
 *         <Checkbox value="A">Option A</Checkbox>
 *         <Checkbox value="B">Option B</Checkbox>
 *         <Checkbox value="C">Option C</Checkbox>
 *       </div>
 *     </CheckboxGroup>
 *   );
 * }
 * ```
 */
declare const CheckboxGroup: React.FC<ICheckboxGroupProps>;
export default CheckboxGroup;
