import * as React from 'react'; import { MenuProps } from '../menu'; import { InputProps, SharedProps } from '../input'; import { Override } from '../overrides'; import { COUNTRIES, STATE_CHANGE_TYPE } from './constants'; export declare type Country = { id: keyof typeof COUNTRIES; label: string; dialCode: string; }; export declare type State = { country: Country; phoneNumber: string; }; export declare type Value = Partial | undefined; export declare type StateChange = keyof typeof STATE_CHANGE_TYPE; export declare type StateReducer = (type: StateChange, nextState: State, currentState: State) => State; export declare type PhoneInputOverrides = { Input?: Override>; CountrySelect?: Override>; CountrySelectContainer?: Override>; FlagContainer?: Override>; DialCode?: Override>; }; export declare type PhoneInputProps = Omit & { onInputChange?: (event: React.SyntheticEvent) => unknown; onChange?: (value: Value) => void; value?: Value; mapIsoToLabel?: (iso: string) => string; maxDropdownHeight?: string; countries?: Array; maxDropdownWidth?: string; overrides?: PhoneInputOverrides; }; export declare type StatefulPhoneInputProps = PhoneInputProps; export declare type StatefulPhoneInputContainerProps = Omit & { initialState?: State; stateReducer?: StateReducer; children: (props: PhoneInputProps) => any; }; export declare type CountrySelectContainerProps = Required> & { overrides?: Pick; value: State; }; export declare type CountrySelectProps = Omit & { overrides?: Pick; }; export declare type FlagContainerProps = Pick & { overrides?: Pick; }; export declare type DialCodeProps = Pick & { overrides?: Pick; }; export declare type FixedSizeListItemProps = { item: React.ReactElement; top: number; }; export declare type VirtualizedCountrySelectDropdownProps = MenuProps & { ListItem: React.ComponentType>; emptyListHeight?: number; listItemHeight?: number; overscanCount?: number; parentRef: React.MutableRefObject; };