import { ReactElement } from 'react'; import { ViewStyle, TouchableOpacityProps } from 'react-native'; import { CheckboxIdentifier, CheckboxInfo } from '../../types'; export interface CheckboxIndeterminateProps { indeterminateCheckboxIcon?: JSX.Element; indeterminateCheckboxIconContainerStyle?: ViewStyle; } export interface CheckboxBaseProps extends TouchableOpacityProps { checkboxIconContainerStyle?: ViewStyle; checkboxComponentContainerStyle?: ViewStyle; selectedCheckboxStyle?: ViewStyle; selectedCheckboxIcon?: ReactElement; selectedCheckboxIconContainerStyle?: ViewStyle; selectedCheckboxComponentContainerStyle?: ViewStyle; selectedCheckboxTitleStyle?: ViewStyle; } export interface CheckboxProps extends CheckboxBaseProps, CheckboxIndeterminateProps { containerStyle?: ViewStyle; checkboxIds: CheckboxIdentifier[]; checkboxComponent?(info: CheckboxInfo): string | JSX.Element; checkboxIndeterminateContainerStyle?: ViewStyle; defaultIds?: string[]; onSelect(id: string, toggle: boolean, selected: string[]): void; } export default function Checkbox({ containerStyle, checkboxIds, checkboxComponent, checkboxIndeterminateContainerStyle, defaultIds, onSelect, onPress, ...props }: CheckboxProps): JSX.Element;