import { IDataFetcher } from '../../../services/api/api.models';
import { LOCATION } from './models';
import { IVariant } from '../models';

declare const _default: <T extends {
    callback?: () => void;
    event?: string | number;
    subtitle?: string;
    icon?: string;
    prependIcon?: string;
    disabled?: boolean;
}>(__VLS_props: Awaited<typeof __VLS_setup>["props"], __VLS_ctx?: __VLS_Prettify<Pick<Awaited<typeof __VLS_setup>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_Prettify<__VLS_OmitKeepDiscriminatedUnion<(Partial<{}> & Omit<{
        readonly "onUpdate:modelValue"?: (value: boolean) => any;
        readonly onEvent?: (eventName: string | number, item: T) => any;
        readonly onChange?: (item: T) => any;
    } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>) & {
        modelValue?: boolean;
        text?: string;
        prependText?: boolean;
        fab?: boolean | string;
        search?: boolean;
        searchLazy?: boolean;
        searchLabel?: string;
        searchFields?: (keyof T)[];
        pageSize?: boolean | number | string;
        variant?: IVariant;
        data: T[] | string | IDataFetcher<T>;
        location?: LOCATION;
        eager?: boolean;
        menuWidth?: string | number;
        loading?: boolean;
        itemTitle?: keyof T;
        block?: boolean;
        select?: boolean;
        closeOnContentClick?: boolean;
        customQuery?: object;
    }, keyof import('vue').VNodeProps | keyof import('vue').AllowedComponentProps>> & {} & (import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps);
    expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: ReturnType<() => Readonly<{
        activator?: () => void;
        "prepend-item"?: () => void;
        "append-item"?: () => void;
        loader?: () => void;
        item?: (props: {
            itemTitle: string;
            item: T;
            index: number;
            click: (item: T) => void;
            onClick?: (item: T) => void;
        }) => void;
    }> & {
        activator?: () => void;
        "prepend-item"?: () => void;
        "append-item"?: () => void;
        loader?: () => void;
        item?: (props: {
            itemTitle: string;
            item: T;
            index: number;
            click: (item: T) => void;
            onClick?: (item: T) => void;
        }) => void;
    }>;
    emit: {
        (event: "event", eventName: number | string | undefined, item: T): void;
        (event: "update:modelValue", value: boolean): void;
        (event: "change", item: T): void;
    };
}>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
