import { ReactNode } from 'react'; import { TouchableOpacityProps, TextStyle, ViewStyle } from 'react-native'; import { ChipActionType, ChipIcon, ChipIconAction, ChipInfo } from '../../types'; import { ButtonBaseProps } from '../button'; export interface ChipItemBaseProps extends TouchableOpacityProps, ButtonBaseProps { rounded?: boolean; children?: ReactNode; } export interface ChipProps extends ChipItemBaseProps { actionType?: ChipActionType; chips: string[]; chipContainerStyle?: ((id: string) => ViewStyle) | ViewStyle; chipComponent?(info: ChipInfo): string | JSX.Element; chipTitleStyle?: ((id: string) => TextStyle) | TextStyle; selectedChipContainerStyle?: ((id: string) => ViewStyle) | ViewStyle; selectedChipTitleStyle?: ((id: string) => TextStyle) | TextStyle; leftIcon?: ChipIcon; leftIconAction?: ChipIconAction; rightIcon?: ChipIcon; rightIconAction?: ChipIconAction; horizontal?: boolean; horizontalScrollIndicator?: boolean; horizontalScrollEnabled?: boolean; horizontalScrollButton?: boolean; horizontalScrollLeftButton?: JSX.Element; horizontalScrollLeftButtonContainerStyle?: ViewStyle; horizontalScrollRightButton?: JSX.Element; horizontalScrollRightButtonContainerStyle?: ViewStyle; selectedId?: string | string[]; onSelect(id: string, selected: string[]): void; } export default function Chip({ actionType, containerStyle, chips, chipContainerStyle, chipComponent, chipTitleStyle, selectedChipContainerStyle, selectedChipTitleStyle, horizontal, horizontalScrollIndicator, horizontalScrollEnabled, horizontalScrollButton, horizontalScrollLeftButton, horizontalScrollLeftButtonContainerStyle, horizontalScrollRightButton, horizontalScrollRightButtonContainerStyle, selectedId, leftIcon, leftIconAction, rightIcon, rightIconAction, onSelect, onPress, ...props }: ChipProps): JSX.Element;