export type IItem = Record<string, any> | string;
export interface IListProps {
    color?: string;
    density?: "default" | "comfortable" | "compact";
    readonly?: boolean;
    transparent?: boolean;
    variant?: "outlined" | "plain" | "underlined" | "filled" | "solo" | "solo-inverted" | "solo-filled";
    placeholder?: string;
    persistentPlaceholder?: boolean;
    required?: boolean;
    hideMandatory?: boolean;
    hideNoData?: boolean;
    hideDetails?: boolean | string;
    changed?: boolean;
    loading?: boolean;
    multiple?: boolean;
    chips?: boolean;
    modelValue?: any;
    items?: (IItem | string)[];
    itemTitle?: string;
    itemValue?: string;
    noDataText?: string;
    menu?: boolean;
}
export declare const useSelect: (props: IListProps, emit: {
    (event: "update:modelValue", value: any): void;
    (event: "update:menu", value: boolean): void;
}, componentClass: string) => {
    localMenu: import("vue").Ref<boolean>;
    selection: any;
    slotsList: Readonly<{
        [name: string]: import("vue").Slot<any>;
    }>;
    slots: [string, import("vue").Slot<any>][];
    showChips: import("vue").ComputedRef<any>;
    updatedProps: import("vue").ComputedRef<{
        class: (string | {
            [x: string]: any;
            "v-input--filled": boolean;
            "a-input--changed": boolean;
            "a-input--required": boolean;
        })[];
        variant: "outlined" | "plain" | "filled" | "underlined" | "solo" | "solo-inverted" | "solo-filled";
        placeholder: string;
        persistentPlaceholder: boolean;
        menuIcon: string;
        modelValue: any;
        menu: boolean;
        noDataText: string;
        centerAffix: boolean;
        color?: string;
        density?: "default" | "comfortable" | "compact";
        readonly?: boolean;
        transparent?: boolean;
        required?: boolean;
        hideMandatory?: boolean;
        hideNoData?: boolean;
        hideDetails?: boolean | string;
        changed?: boolean;
        loading?: boolean;
        multiple?: boolean;
        chips?: boolean;
        items?: (IItem | string)[];
        itemTitle?: string;
        itemValue?: string;
        closableChips: boolean;
    }>;
    getItemTitle: (item: IItem | string) => any;
    removeItem: (item: IItem) => void;
    updateSelection: (selected?: any) => void;
    selectedItems: import("vue").ComputedRef<IItem[]>;
};
