import { type HighlightableResult } from '../../../utils/fuzzy'; export interface FmGlobalSearchSuggestion { label: string; sublabel?: string; } export interface FmGlobalSearchSuggestionResult { label: HighlightableResult; sublabel?: HighlightableResult | null; } export interface FmGlobalSearchProps { show?: boolean; modelValue?: string; /** * Strings of suggestion to perform local search. * This has higher precedence over `onSearch` props. * * String search will also search and highlights string in both `label` and `sublabel` */ suggestions?: FmGlobalSearchSuggestion[]; /** * Debounced callback while user typing to get search suggestions. * Returned results will not be filtered again locally. * * Highlights will be performed on both `label` and `sublabel` if applicable */ onSearch?: (input: string) => Promise; placeholder?: string; hintPlaceholder?: string; notFoundPlaceholder?: string; /** * Storage key to save recently searched value. * If specified, Recent searches will be rendered on the global search * Otherwise, it will not be rendered */ recentSearchKey?: string; } declare const _default: __VLS_WithTemplateSlots, { modelValue: string; show: boolean; suggestions: undefined; onSearch: undefined; placeholder: string; hintPlaceholder: string; notFoundPlaceholder: string; recentSearchKey: string; }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { dismiss: () => void; submit: (value: string) => void; "update:show": (show: boolean) => void; "update:modelValue": (mv: string) => void; }, string, import("vue").PublicProps, Readonly, { modelValue: string; show: boolean; suggestions: undefined; onSearch: undefined; placeholder: string; hintPlaceholder: string; notFoundPlaceholder: string; recentSearchKey: string; }>>> & { onSubmit?: ((value: string) => any) | undefined; "onUpdate:modelValue"?: ((mv: string) => any) | undefined; onDismiss?: (() => any) | undefined; "onUpdate:show"?: ((show: boolean) => any) | undefined; }, { modelValue: string; placeholder: string; show: boolean; onSearch: (input: string) => Promise; suggestions: FmGlobalSearchSuggestion[]; hintPlaceholder: string; notFoundPlaceholder: string; recentSearchKey: string; }, {}>, { "hint-placeholder"?(_: {}): any; "not-found-placeholder"?(_: {}): any; "search-result-item"?(_: { result: { label: { label: string; segments: { segment: string; isMatch: boolean; }[]; matched: boolean; }; sublabel?: { label: string; segments: { segment: string; isMatch: boolean; }[]; matched: boolean; } | null | undefined; }; key: number; }): any; }>; export default _default; type __VLS_NonUndefinedable = T extends undefined ? never : T; type __VLS_TypePropsToRuntimeProps = { [K in keyof T]-?: {} extends Pick ? { type: import('vue').PropType<__VLS_NonUndefinedable>; } : { type: import('vue').PropType; required: true; }; }; type __VLS_WithDefaults = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify : P[K]; }; type __VLS_Prettify = { [K in keyof T]: T[K]; } & {}; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };