///
import type { CheckboxGroupState } from '@react-stately/checkbox';
import type { TouchableOpacityProps } from 'react-native';
import type { IFormControlContext } from '../../composites/FormControl';
import type { IBoxProps } from '../Box';
export declare type ICheckboxValue = string;
export declare type ICheckboxProps = IBoxProps & {
Group?: ICheckboxGroupProps;
id?: string;
name?: string;
value: ICheckboxValue;
colorScheme?: string | 'default';
defaultIsChecked?: boolean;
isChecked?: boolean;
isIndeterminate?: boolean;
isDisabled?: boolean;
isInvalid?: boolean;
size?: 'sm' | 'md' | 'lg';
icon?: JSX.Element;
onChange?: (isSelected: boolean) => void;
style?: any;
};
export declare type ICheckboxGroupProps = IBoxProps & {
id?: string;
value?: Array;
defaultValue?: Array;
colorScheme?: string;
size?: 'sm' | 'md' | 'lg';
onChange?: (values: any) => any;
style?: any;
};
export declare type ICheckboxContext = IFormControlContext & {
colorScheme?: string;
size?: 'sm' | 'md' | 'lg';
style?: any;
state: CheckboxGroupState;
};
export declare type IUseCheckboxReturnType = {
inputProps: {
checked: boolean;
} & Partial;
};
export declare type IUseCheckboxGroupReturnType = {
checkboxGroupProps: {
onChange: (checkboxValue: ICheckboxValue, isChecked: boolean) => any;
values: Array;
};
};
export declare type ICheckboxComponentType = ((props: ICheckboxProps) => JSX.Element) & {
Group: React.MemoExoticComponent<(props: ICheckboxGroupProps) => JSX.Element>;
};