import React, { PureComponent } from 'react'; import type { ImageSourcePropType, ImageStyle, StyleProp, TextInputProps, TextStyle, ViewStyle } from 'react-native'; import { Animated, TextInput, View } from 'react-native'; import type { ClearButtonMode } from '../types/Store'; export interface SearchBarProps { placeholder?: string; initialValue?: string; onSubmit?: (value: string) => void; onChange?: (value: string) => void; onFocus?: (input: TextInput, container: View) => void; onBlur?: (input: TextInput, container: View) => void; onCancel?: () => void; renderCancelButton?: () => React.ReactNode; accessibilityLabel?: string; rightBtnAccessibilityLabel?: string; showSearchIcon?: boolean; showLocator?: boolean; showCancel?: boolean | 'left' | 'right'; clearButtonMode?: ClearButtonMode; searchTitle?: string; cancelTitle?: string; searchIcon?: ImageSourcePropType; locateIcon?: ImageSourcePropType; cancelImage?: ImageSourcePropType; clearIcon?: ImageSourcePropType; onLocateButtonPress?: () => void; inputProps?: TextInputProps; shouldClearOnSubmit?: boolean; style?: StyleProp; containerStyle?: StyleProp; searchTitleStyle?: StyleProp; cancelTitleStyle?: StyleProp; searchIconStyle?: StyleProp; locateIconStyle?: StyleProp; inputTextStyle?: StyleProp; cancelImageStyle?: StyleProp; cancelImageBoxStyle?: StyleProp; cancelContainerStyle?: StyleProp; cancelButtonWidth?: number; cancelButtonAlwaysVisible?: boolean; showRightBtnIcon?: boolean; rightBtnIcon?: ImageSourcePropType; onRightBtnPress?: () => void; rightBtnStyle?: StyleProp; rightBtnIconStyle?: StyleProp; clearIconStyle?: StyleProp; clearIconWrapper?: StyleProp; } export interface SearchBarState { value: string; cancelButtonWidth: Animated.Value; isFocused: boolean; } export declare class SearchBar extends PureComponent { static defaultProps: Partial; constructor(props: SearchBarProps); private input; private container; private readonly saveInputRef; private readonly saveContainerRef; private readonly renderInput; private readonly renderAndroidClearButton; private readonly renderRightBtnIcon; private readonly handleChangeText; private readonly handleSubmit; private readonly handleCancel; private readonly handleClear; private readonly handleFocus; private readonly handleBlur; private readonly handleLocate; readonly focusInput: () => void; private readonly renderCancelButton; private readonly renderLocateButton; render(): JSX.Element; }