import React, { ReactNode } from 'react'; import { CheckboxSize } from './Checkbox'; import { AlignType } from '../radio'; import { AriaFocusProps } from '../../types/common'; export interface CheckboxItem { label: ReactNode; value: CheckboxValue; disabled?: boolean; link?: string; onClickLink?: (e: CheckboxValue) => void; } export interface CheckboxGroupProps extends Omit, 'defaultValue' | 'value' | 'onChange'>, AriaFocusProps { className?: string; defaultValue?: CheckboxValue[]; value?: CheckboxValue[]; /** @default false */ disabled?: boolean; name?: string; /** @default 24 */ spacing?: number; items: CheckboxItem[]; /** @default 'horizontal' */ align?: AlignType; /** @default 'medium' */ size?: CheckboxSize; /** * 각 체크박스 아이템에서 고유 key를 추출하는 함수 */ keyExtractor?: (item: CheckboxItem, index: number) => string | number; onChange?: (value: CheckboxValue[]) => void; /** @default false */ allCheck?: boolean; } export interface CheckboxGroupInstance { value?: CheckboxValue[]; focus: () => void; } export declare const CheckboxGroup: React.ForwardRefExoticComponent & React.RefAttributes>>;