/**
* Custom styled select dropdown with search filtering support.
*
* ⛔ Do NOT add a `class` prop with Tailwind utilities.
*
* @example
*
*/
interface LuSelectProps {
/** The selected value. Use `v-model` to bind. */
modelValue?: string | number;
/** Visual variant. Resolves to BEM modifier `lu-select--{variant}`. */
variant?: string;
/** Array of option objects to render in the dropdown. */
options: Array<{
value: string | number;
label: string;
disabled?: boolean;
icon?: string;
}>;
/** Field name for form registration. */
name?: string;
/** Error state message. */
error?: string | null;
/** Placeholder text shown when no option is selected. @default 'Select an option' */
placeholder?: string;
/** Enables an internal search input to filter options. @default false */
searchable?: boolean;
/** Disables the entire select component. */
disabled?: boolean;
}
declare var __VLS_1: {}, __VLS_7: {
option: {
value: string | number;
label: string;
disabled?: boolean;
icon?: string;
};
selected: boolean;
};
type __VLS_Slots = {} & {
'trigger-icon'?: (props: typeof __VLS_1) => any;
} & {
option?: (props: typeof __VLS_7) => any;
};
declare const __VLS_component: import("vue").DefineComponent any;
"update:modelValue": (value: string | number) => any;
open: () => any;
close: () => any;
}, string, import("vue").PublicProps, Readonly & Readonly<{
onBlur?: (() => any) | undefined;
"onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
onOpen?: (() => any) | undefined;
onClose?: (() => any) | undefined;
}>, {
disabled: boolean;
placeholder: string;
searchable: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithSlots;
export default _default;
type __VLS_WithSlots = T & {
new (): {
$slots: S;
};
};