export interface optionType {
id: any;
title: any;
value: any;
metadata?: any;
}
type rawOptionType = optionType | string;
/**
* vSelect
*
* A generic props-based select dropdown with optional search, custom row rendering,
* and support for both plain string arrays and full option objects.
*
* The dropdown is teleported to `
` and positioned with fixed coordinates so it
* renders correctly inside modals, overflow-hidden containers, etc.
*
* You can import types via:
* `import type { vSelectProps, optionType } from './vSelect.vue'`
*
* Basic usage (string array):
* ``
*
* Object usage:
* ``
*
* @param options `optionType[] | string[]` — List of options. Strings are auto-normalized
* to `{ id: index, title: string, value: string }`.
* @param modelValue `string` — Bound value via `v-model`. Matches `option.value`.
* @param text `string` — Placeholder label shown when no option is selected.
* @param displayID `boolean` — Show the `id` field alongside each option title.
* @param displayValue `boolean` — Show the `value` field alongside each option title.
* @param enableSearch `boolean` — Show a search input in the header when the dropdown is open.
* @param startContent `Component` — Rendered before each row. Receives `:option` as a prop.
* @param endContent `Component` — Rendered after each row. Receives `:option` as a prop.
* @param bespokeComponent `Component` — Replaces the entire row. Receives `:option` as a prop.
*
* @emits update:modelValue Emitted with the selected `option.value` when an item is chosen.
* @emits update:change Also emitted with the same value on selection.
*/
export interface vSelectProps {
options: rawOptionType[];
modelValue: String;
text: String;
displayID: Boolean;
displayValue: Boolean;
startContent?: any;
endContent?: any;
bespokeComponent?: any;
enableSearch: Boolean;
searchPlaceholder?: string;
id?: string;
}
declare const _default: import('vue').DefineComponent void;
"update:change": (...args: any[]) => void;
}, string, import('vue').PublicProps, Readonly & Readonly<{
"onUpdate:modelValue"?: (...args: any[]) => any;
"onUpdate:change"?: (...args: any[]) => any;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
target: HTMLDivElement;
dropdown: HTMLDivElement;
}, HTMLDivElement>;
export default _default;
//# sourceMappingURL=vSelect.vue.d.ts.map