import type { InputMenuItem } from '@nuxt/ui'; import type { Pagination, PaginationQueryRaw } from '../types'; type PaginationQuery = Required; export type AutocompleteSelectItem = Extract & { id?: string | number; name?: string; }; type GetModelValue = M extends true ? (T[VK][] | undefined) : (T[VK] | undefined); export type HandlerParams = PaginationQuery & { search: string; ids?: string[] | number[]; }; export type Handler = (params: HandlerParams, signal?: AbortSignal) => Promise<{ items: T[]; pagination: Pagination; }>; export interface AutocompleteSelectProps { modelValue?: GetModelValue; cacheKey: string; handler: Handler; /** @defaultValue 'id' */ valueKey?: VK; /** @defaultValue 'name' */ labelKey?: keyof T; multiple?: M & boolean; placeholder?: string; initSelected?: boolean; } export interface AutocompleteSelectEmits { 'update:modelValue': [payload: GetModelValue]; } export interface Slots { 'item-label': (props: { item: T; }) => any; } declare const _default: typeof __VLS_export; export default _default; declare const __VLS_export: (__VLS_props: NonNullable>["props"], __VLS_ctx?: __VLS_PrettifyLocal>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable>["expose"], __VLS_setup?: Promise<{ props: import("vue").PublicProps & __VLS_PrettifyLocal & { "onUpdate:modelValue"?: ((payload: GetModelValue) => any) | undefined; }> & (typeof globalThis extends { __VLS_PROPS_FALLBACK: infer P; } ? P : {}); expose: (exposed: {}) => void; attrs: any; slots: Slots; emit: (evt: "update:modelValue", payload: GetModelValue) => void; }>) => import("vue").VNode & { __ctx?: Awaited; }; type __VLS_PrettifyLocal = (T extends any ? { [K in keyof T]: T[K]; } : { [K in keyof T as K]: T[K]; }) & {};