import React from 'react'; import { FilterMatchEnum, MenuPositionEnum } from './constants'; import type { DefaultTheme } from 'styled-components'; import type { ReactNode, ReactText, KeyboardEvent, FocusEventHandler } from 'react'; import type { OptionData, PartialDeep, IconRenderer, FocusedOption, SelectedOption, CallbackFunction, AriaLiveAttribute, OptionLabelCallback, OptionValueCallback } from './types'; export declare type Theme = PartialDeep; export declare type MultiParams = Readonly<{ selected: SelectedOption[]; renderOptionLabel: (data: OptionData) => ReactNode; }>; export declare type MenuOption = Readonly<{ label: ReactText; value: ReactText; data: OptionData; isDisabled?: boolean; isSelected?: boolean; }>; export declare type SelectRef = Readonly<{ empty: boolean; menuOpen: boolean; blur: () => void; focus: () => void; clearValue: () => void; toggleMenu: (state?: boolean) => void; setValue: (option?: OptionData) => void; }>; export declare type SelectProps = Readonly<{ async?: boolean; inputId?: string; selectId?: string; isMulti?: boolean; ariaLabel?: string; required?: boolean; loadingMsg?: string; autoFocus?: boolean; isLoading?: boolean; isInvalid?: boolean; inputDelay?: number; themeConfig?: Theme; isDisabled?: boolean; placeholder?: string; menuWidth?: ReactText; menuItemSize?: number; isClearable?: boolean; lazyLoadMenu?: boolean; options?: OptionData[]; isSearchable?: boolean; menuMaxHeight?: number; loadingNode?: ReactNode; ariaLabelledBy?: string; clearIcon?: IconRenderer; caretIcon?: IconRenderer; openMenuOnClick?: boolean; openMenuOnFocus?: boolean; menuPortalTarget?: Element; menuOverscanCount?: number; tabSelectsOption?: boolean; filterIgnoreCase?: boolean; itemKeySelector?: ReactText; menuScrollDuration?: number; blurInputOnSelect?: boolean; closeMenuOnSelect?: boolean; isAriaLiveEnabled?: boolean; scrollMenuIntoView?: boolean; noOptionsMsg?: string | null; ariaLive?: AriaLiveAttribute; hideSelectedOptions?: boolean; filterIgnoreAccents?: boolean; onMenuOpen?: CallbackFunction; onMenuClose?: CallbackFunction; backspaceClearsValue?: boolean; menuPosition?: MenuPositionEnum; filterMatchFrom?: FilterMatchEnum; menuItemDirection?: 'ltr' | 'rtl'; getOptionLabel?: OptionLabelCallback; getOptionValue?: OptionValueCallback; onInputChange?: (value?: string) => any; initialValue?: OptionData | OptionData[]; onSearchChange?: (value?: string) => any; onOptionChange?: (data: OptionData) => any; onInputBlur?: FocusEventHandler; onInputFocus?: FocusEventHandler; renderOptionLabel?: (data: OptionData) => ReactNode; getIsOptionDisabled?: (data: OptionData) => boolean; getFilterOptionString?: (option: MenuOption) => string; renderMultiOptions?: (params: MultiParams) => ReactNode; onKeyDown?: (e: KeyboardEvent, input?: string, focusedOption?: FocusedOption) => any; }>; declare const Select: React.ForwardRefExoticComponent | undefined; isDisabled?: boolean | undefined; placeholder?: string | undefined; menuWidth?: React.ReactText | undefined; menuItemSize?: number | undefined; isClearable?: boolean | undefined; lazyLoadMenu?: boolean | undefined; options?: any[] | undefined; isSearchable?: boolean | undefined; menuMaxHeight?: number | undefined; loadingNode?: ReactNode; ariaLabelledBy?: string | undefined; clearIcon?: IconRenderer; caretIcon?: IconRenderer; openMenuOnClick?: boolean | undefined; openMenuOnFocus?: boolean | undefined; menuPortalTarget?: Element | undefined; menuOverscanCount?: number | undefined; tabSelectsOption?: boolean | undefined; filterIgnoreCase?: boolean | undefined; itemKeySelector?: React.ReactText | undefined; menuScrollDuration?: number | undefined; blurInputOnSelect?: boolean | undefined; closeMenuOnSelect?: boolean | undefined; isAriaLiveEnabled?: boolean | undefined; scrollMenuIntoView?: boolean | undefined; noOptionsMsg?: string | null | undefined; ariaLive?: AriaLiveAttribute | undefined; hideSelectedOptions?: boolean | undefined; filterIgnoreAccents?: boolean | undefined; onMenuOpen?: CallbackFunction | undefined; onMenuClose?: CallbackFunction | undefined; backspaceClearsValue?: boolean | undefined; menuPosition?: MenuPositionEnum | undefined; filterMatchFrom?: FilterMatchEnum | undefined; menuItemDirection?: "ltr" | "rtl" | undefined; getOptionLabel?: OptionLabelCallback | undefined; getOptionValue?: OptionValueCallback | undefined; onInputChange?: ((value?: string | undefined) => any) | undefined; initialValue?: OptionData | OptionData[]; onSearchChange?: ((value?: string | undefined) => any) | undefined; onOptionChange?: ((data: OptionData) => any) | undefined; onInputBlur?: React.FocusEventHandler | undefined; onInputFocus?: React.FocusEventHandler | undefined; renderOptionLabel?: ((data: OptionData) => ReactNode) | undefined; getIsOptionDisabled?: ((data: OptionData) => boolean) | undefined; getFilterOptionString?: ((option: MenuOption) => string) | undefined; renderMultiOptions?: ((params: MultiParams) => ReactNode) | undefined; onKeyDown?: ((e: KeyboardEvent, input?: string | undefined, focusedOption?: FocusedOption | undefined) => any) | undefined; }> & React.RefAttributes void; focus: () => void; clearValue: () => void; toggleMenu: (state?: boolean | undefined) => void; setValue: (option?: OptionData) => void; }>>>; export default Select;