import type { QSelectPropModelValue, QSelectPropAutocomplete, QSelectPropCanLoadMore, QSelectPropDisabled, QSelectPropClearable, QSelectPropFilterable, QSelectPropAllowCreate, QSelectPropLoading, QSelectPropRemote, QSelectPropLoadingText, QSelectPropLoadMoreText, QSelectPropNoMatchText, QSelectPropNoDataText, QSelectPropMultiple, QSelectPropMultipleLimit, QSelectPropPlaceholder, QSelectPropSelectAllShown, QSelectPropSelectAllText, QSelectPropValueKey, QSelectPropCollapseTags, QSelectPropTeleportTo, QSelectInstance } from './src/types';
import type { DefineComponent, PropType, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes } from 'vue';
import type { SFCWithInstall } from '../../../types/helpers';
export declare const QSelect: SFCWithInstall<DefineComponent<{
    modelValue: {
        type: PropType<QSelectPropModelValue>;
        default: null;
    };
    autocomplete: {
        type: PropType<QSelectPropAutocomplete>;
        default: string;
    };
    canLoadMore: {
        type: PropType<QSelectPropCanLoadMore>;
        default: boolean;
    };
    disabled: {
        type: PropType<QSelectPropDisabled>;
        default: boolean;
    };
    clearable: {
        type: PropType<QSelectPropClearable>;
        default: boolean;
    };
    filterable: {
        type: PropType<QSelectPropFilterable>;
        default: boolean;
    };
    allowCreate: {
        type: PropType<QSelectPropAllowCreate>;
        default: boolean;
    };
    loading: {
        type: PropType<QSelectPropLoading>;
        default: boolean;
    };
    remote: {
        type: PropType<QSelectPropRemote>;
        default: boolean;
    };
    loadingText: {
        type: PropType<QSelectPropLoadingText>;
        default: null;
    };
    loadMoreText: {
        type: PropType<QSelectPropLoadMoreText>;
        default: null;
    };
    noMatchText: {
        type: PropType<QSelectPropNoMatchText>;
        default: null;
    };
    noDataText: {
        type: PropType<QSelectPropNoDataText>;
        default: null;
    };
    multiple: {
        type: PropType<QSelectPropMultiple>;
        default: boolean;
    };
    multipleLimit: {
        type: PropType<QSelectPropMultipleLimit>;
        default: number;
    };
    placeholder: {
        type: PropType<QSelectPropPlaceholder>;
        default: string;
    };
    selectAllShown: {
        type: PropType<QSelectPropSelectAllShown>;
        default: boolean;
    };
    selectAllText: {
        type: PropType<QSelectPropSelectAllText>;
        default: null;
    };
    valueKey: {
        type: PropType<QSelectPropValueKey>;
        default: string;
    };
    collapseTags: {
        type: PropType<QSelectPropCollapseTags>;
        default: boolean;
    };
    teleportTo: {
        type: PropType<QSelectPropTeleportTo>;
        default: null;
    };
}, QSelectInstance, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("update:modelValue" | "change" | "focus" | "blur" | "clear" | "input" | "remove-tag" | "search" | "visible-change")[], "search" | "update:modelValue" | "change" | "focus" | "blur" | "clear" | "input" | "remove-tag" | "visible-change", VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
    modelValue: {
        type: PropType<QSelectPropModelValue>;
        default: null;
    };
    autocomplete: {
        type: PropType<QSelectPropAutocomplete>;
        default: string;
    };
    canLoadMore: {
        type: PropType<QSelectPropCanLoadMore>;
        default: boolean;
    };
    disabled: {
        type: PropType<QSelectPropDisabled>;
        default: boolean;
    };
    clearable: {
        type: PropType<QSelectPropClearable>;
        default: boolean;
    };
    filterable: {
        type: PropType<QSelectPropFilterable>;
        default: boolean;
    };
    allowCreate: {
        type: PropType<QSelectPropAllowCreate>;
        default: boolean;
    };
    loading: {
        type: PropType<QSelectPropLoading>;
        default: boolean;
    };
    remote: {
        type: PropType<QSelectPropRemote>;
        default: boolean;
    };
    loadingText: {
        type: PropType<QSelectPropLoadingText>;
        default: null;
    };
    loadMoreText: {
        type: PropType<QSelectPropLoadMoreText>;
        default: null;
    };
    noMatchText: {
        type: PropType<QSelectPropNoMatchText>;
        default: null;
    };
    noDataText: {
        type: PropType<QSelectPropNoDataText>;
        default: null;
    };
    multiple: {
        type: PropType<QSelectPropMultiple>;
        default: boolean;
    };
    multipleLimit: {
        type: PropType<QSelectPropMultipleLimit>;
        default: number;
    };
    placeholder: {
        type: PropType<QSelectPropPlaceholder>;
        default: string;
    };
    selectAllShown: {
        type: PropType<QSelectPropSelectAllShown>;
        default: boolean;
    };
    selectAllText: {
        type: PropType<QSelectPropSelectAllText>;
        default: null;
    };
    valueKey: {
        type: PropType<QSelectPropValueKey>;
        default: string;
    };
    collapseTags: {
        type: PropType<QSelectPropCollapseTags>;
        default: boolean;
    };
    teleportTo: {
        type: PropType<QSelectPropTeleportTo>;
        default: null;
    };
}>> & {
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onChange?: ((...args: any[]) => any) | undefined;
    onClear?: ((...args: any[]) => any) | undefined;
    onFocus?: ((...args: any[]) => any) | undefined;
    onBlur?: ((...args: any[]) => any) | undefined;
    onInput?: ((...args: any[]) => any) | undefined;
    "onRemove-tag"?: ((...args: any[]) => any) | undefined;
    onSearch?: ((...args: any[]) => any) | undefined;
    "onVisible-change"?: ((...args: any[]) => any) | undefined;
}, {
    loading: QSelectPropLoading;
    disabled: QSelectPropDisabled;
    modelValue: QSelectPropModelValue;
    clearable: QSelectPropClearable;
    multiple: QSelectPropMultiple;
    placeholder: QSelectPropPlaceholder;
    collapseTags: QSelectPropCollapseTags;
    teleportTo: QSelectPropTeleportTo;
    selectAllShown: QSelectPropSelectAllShown;
    selectAllText: QSelectPropSelectAllText;
    loadMoreText: QSelectPropLoadMoreText;
    filterable: QSelectPropFilterable;
    autocomplete: QSelectPropAutocomplete;
    canLoadMore: QSelectPropCanLoadMore;
    allowCreate: QSelectPropAllowCreate;
    remote: QSelectPropRemote;
    loadingText: QSelectPropLoadingText;
    noMatchText: QSelectPropNoMatchText;
    noDataText: QSelectPropNoDataText;
    multipleLimit: QSelectPropMultipleLimit;
    valueKey: QSelectPropValueKey;
}>>;
export type { NewOption, QSelectProvider, QSelectState, QSelectProps, QSelectPropModelValue, QSelectPropAutocomplete, QSelectPropCanLoadMore, QSelectPropDisabled, QSelectPropClearable, QSelectPropFilterable, QSelectPropAllowCreate, QSelectPropLoading, QSelectPropRemote, QSelectPropLoadingText, QSelectPropLoadMoreText, QSelectPropNoMatchText, QSelectPropNoDataText, QSelectPropMultiple, QSelectPropMultipleLimit, QSelectPropPlaceholder, QSelectPropSelectAllShown, QSelectPropSelectAllText, QSelectPropValueKey, QSelectPropCollapseTags, QSelectPropTeleportTo } from './src/types';
