import React, { PureComponent } from 'react'; import './SelectValueList.scss'; import memoize from 'memoizee'; export interface SelectItem { value: T; displayValue?: string | JSX.Element; isSelected: boolean; } type SelectValueListProps = { className?: string; disabled: boolean; isInvalid?: boolean; itemCount: number; rowHeight: number; offset: number; items: SelectItem[]; onBlur?: React.FocusEventHandler; onSelect: (itemIndex: number, value: T | null) => void; onViewportChange: (topRow: number, bottomRow: number) => void; 'data-testid'?: string; }; /** * Select values from a long scrollable list. * Swaps items in and out for infinite scrolling */ declare class SelectValueList extends PureComponent> { static defaultProps: { disabled: boolean; rowHeight: number; onBlur: () => void; 'data-testid': undefined; }; constructor(props: SelectValueListProps); componentDidMount(): void; componentDidUpdate(): void; list: React.RefObject; topRow: number | null; bottomRow: number | null; getCachedItem: ((itemIndex: number, key: number, value: T, displayValue: string | JSX.Element | undefined, rowHeight: number, isSelected: boolean, disabled: boolean) => JSX.Element) & memoize.Memoized<(itemIndex: number, key: number, value: T, displayValue: string | JSX.Element | undefined, rowHeight: number, isSelected: boolean, disabled: boolean) => JSX.Element>; getCachedItems: ((items: SelectItem[], rowHeight: number, offset: number, disabled: boolean) => React.ReactNode) & memoize.Memoized<(items: SelectItem[], rowHeight: number, offset: number, disabled: boolean) => React.ReactNode>; handleBlur(e: React.FocusEvent): void; handleScroll(): void; handleSelect(itemIndex: number): void; sendViewportUpdate(): void; getElement(itemIndex: number): Element | null; scrollIntoView(index: number): void; render(): JSX.Element; } export default SelectValueList; //# sourceMappingURL=SelectValueList.d.ts.map