import { WNode, WNodeProps } from './types'; import { IMatchRange } from '../lib/fuzzy-match'; export type ComboboxVisibleOption = { label: string; value: string; matchRanges: IMatchRange[]; isFocused: boolean; }; export type ComboboxViewState = { inputValue: string; cursorOffset: number; isOpen: boolean; visibleOptions: ComboboxVisibleOption[]; selectedValue: string | undefined; isDisabled: boolean; placeholder: string; noMatchesText: string; hasScrollUp: boolean; hasScrollDown: boolean; }; export type ComboboxRenderTheme = { styles: { container: () => WNodeProps; inputRow: () => WNodeProps; prefix: () => WNodeProps; input: (props: { isDisabled: boolean; }) => WNodeProps; cursor: () => WNodeProps; placeholder: () => WNodeProps; dropdown: () => WNodeProps; option: (props: { isFocused: boolean; }) => WNodeProps; optionLabel: (props: { isFocused: boolean; }) => WNodeProps; matchHighlight: () => WNodeProps; focusIndicator: () => WNodeProps; noMatches: () => WNodeProps; scrollIndicator: () => WNodeProps; }; config: () => { prefix: string; cursorChar: string; }; }; export declare const defaultComboboxTheme: ComboboxRenderTheme; export declare function renderCombobox(state: ComboboxViewState, theme?: ComboboxRenderTheme): WNode; //# sourceMappingURL=render-combobox.d.ts.map