import type { PropType } from "vue"; import type { Style } from "../../core/types.js"; type TextHighlightRange = Readonly<{ start: number; end: number; }>; type TextAccentSegment = Readonly<{ start: number; end: number; style?: Style; highlightStyle?: Style; }>; export type SelectOptionWithStyle = Readonly<{ kind?: "option" | "separator" | "group"; label: string; value?: unknown; disabled?: boolean; detail?: string; style?: Style; highlightStyle?: Style; detailStyle?: Style; highlightDetailStyle?: Style; labelHighlightRanges?: readonly TextHighlightRange[]; detailHighlightRanges?: readonly TextHighlightRange[]; labelAccentRanges?: readonly TextHighlightRange[]; detailAccentRanges?: readonly TextHighlightRange[]; detailAccentSegments?: readonly TextAccentSegment[]; accentStyle?: Style; highlightAccentStyle?: Style; }>; export type SelectOption = string | SelectOptionWithStyle; export type TSelectMultipleChangePayload = Readonly<{ indices: number[]; labels: string[]; values: unknown[]; }>; export type TSelectMultipleEmitMode = "label" | "value" | "index" | "both"; export type TSelectModelValue = unknown; export type TSelectValueMode = "index" | "value" | "option"; export type TSelectOptionProvider = (query: string, ctx: { signal: AbortSignal; }) => Promise; export declare const TSelect: import("vue").DefineComponent; default: () => never[]; }; optionProvider: { type: PropType; default: undefined; }; query: { type: StringConstructor; default: undefined; }; modelValue: { type: PropType; default: TSelectModelValue; }; valueMode: { type: PropType; default: string; }; activeIndex: { type: NumberConstructor; default: undefined; }; multiple: { type: BooleanConstructor; default: boolean; }; multipleEmit: { type: PropType; default: string; }; style: { type: PropType