import * as React from 'react'; import IReactComponentProps from '../../../common/structures/IReactComponentProps'; import { FunctionGeneric } from '../../../common/structures/Generics'; export interface FlySelectOption { disabled?: boolean; download?: boolean; icon?: React.ReactNode; label: React.ReactNode; metadata?: any; optionGroup?: FlySelectOptionGroup | null; secondaryText?: React.ReactNode; value?: string; } export interface FlySelectOptionGroup { label: React.ReactNode; linkText?: string; linkOnClick?: FunctionGeneric; } export type FlySelectOptionGroups = { [key: string]: FlySelectOptionGroup; }; export type FlySelectOptions = string[] | FlySelectOptionsFormatted | { [value: string]: string; }; type FlySelectOptionFormatted = FlySelectOption; type FlySelectOptionsFormatted = { [value: string]: FlySelectOptionFormatted; }; interface IProps extends IReactComponentProps { disabled?: boolean; emptyPlaceholder?: string; footerText?: string; footerOnClick?: FunctionGeneric; loadingOptionsPlaceholder?: string; onChange: FunctionGeneric; options?: FlySelectOptions; optionsLoader?: Promise | any; optionGroups?: FlySelectOptionGroups; placeholder?: string; readonly?: boolean; striped?: boolean; value?: string; } interface IState { focus: boolean; focusedIndex: number; optionsFormatted: FlySelectOptionsFormatted; open: boolean; optionsLoaded: boolean | null; value: any; willClose: boolean; } export default class FlySelect extends React.Component { private readonly __containerRef; private readonly __optionsRef; constructor(props: IProps); componentDidMount(): void; componentDidUpdate(previousProps: IProps): void; formatOptions(options: any): FlySelectOptionsFormatted; onClick(): void; onBlur(event: any): void; selectOption(e: any, value: any): void; calculateOptionsPosition(): { left: any; maxHeight: number; minWidth: number; top: any; } | undefined; onContainerKeyDown(event: any): void; onOptionKeyDown: (e: any, value: any) => void; renderPlaceholder(): string | undefined; renderItem(option: FlySelectOptionFormatted, showCheck?: boolean): React.JSX.Element[]; renderItemRight(option: FlySelectOptionFormatted, showCheck: boolean): React.JSX.Element; renderFooter(): React.JSX.Element | ""; renderOption(optionValue: FlySelectOption['value'], i: number, group: any): React.JSX.Element | null; renderOptionGroups(): any[] | null; render(): React.JSX.Element; } export {}; //# sourceMappingURL=FlySelect.d.ts.map