import React from 'react'; import type { TextInputProps as NativeTextInputProps } from 'react-native'; import type { TextInputProps } from '../../TextInput'; import type { SelectOptionType, SelectProps } from '../types'; export interface MultiSelectProps = SelectOptionType> extends SelectProps { /** * Current selected value. */ value: V[]; /** * event handler for footer button. */ onConfirm: (value: V[]) => void; /** * Footer label. */ footerLabel: string | (({ value, closeModal, }: { value: V[]; closeModal: () => void; }) => React.ReactNode); /** * Customise the selected value rendering. */ renderSelectedValue?: (selectedValue: V[], inputProps: NativeTextInputProps) => React.ReactNode; /** * Supported orientations for the MultiSelect modal, iOS only. */ supportedOrientations?: ('portrait' | 'landscape')[]; } export interface InternalMultiSelectProps = SelectOptionType> extends MultiSelectProps { TextInputComponent?: React.ComponentType; groupStyleEnabled?: boolean; } declare function MultiSelect>({ footerLabel, label, loading, inputProps, onConfirm, onDismiss, onEndReached, onQueryChange, options, renderOption, renderSelectedValue, query, error, editable, disabled, required, style, testID, value, supportedOrientations, bottomSheetConfig, groupStyleEnabled, ...rest }: InternalMultiSelectProps): React.JSX.Element; export default MultiSelect;