import type { EmitFn } from 'vuesax-alpha/es/utils';
import type { SelectOptionValue, SelectValue } from './tokens';
import type { ExtractPropTypes } from 'vue';
import type Select from './select.vue';
export declare const selectProps: {
    readonly showAfter: import("vuesax-alpha/es/utils").VsPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
    readonly hideAfter: import("vuesax-alpha/es/utils").VsPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
    readonly flip: {
        readonly default: true;
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<(new (...args: any[]) => (boolean | {
            padding?: import("vuesax-alpha/es/hooks").Padding | undefined;
            rootBoundary?: import("vuesax-alpha/es/hooks").RootBoundary | undefined;
            elementContext?: import("../../../hooks/use-floating/core").ElementContext | undefined;
            altBoundary?: boolean | undefined;
            mainAxis?: boolean | undefined;
            crossAxis?: boolean | undefined;
            fallbackPlacements?: import("vuesax-alpha/es/hooks").Placement[] | undefined;
            fallbackStrategy?: "bestFit" | "initialPlacement" | undefined;
            fallbackAxisSideDirection?: "none" | "end" | "start" | undefined;
            flipAlignment?: boolean | undefined;
            boundary?: import("vuesax-alpha/es/hooks").Boundary | undefined;
        }) & {}) | (() => boolean | {
            padding?: import("vuesax-alpha/es/hooks").Padding | undefined;
            rootBoundary?: import("vuesax-alpha/es/hooks").RootBoundary | undefined;
            elementContext?: import("../../../hooks/use-floating/core").ElementContext | undefined;
            altBoundary?: boolean | undefined;
            mainAxis?: boolean | undefined;
            crossAxis?: boolean | undefined;
            fallbackPlacements?: import("vuesax-alpha/es/hooks").Placement[] | undefined;
            fallbackStrategy?: "bestFit" | "initialPlacement" | undefined;
            fallbackAxisSideDirection?: "none" | "end" | "start" | undefined;
            flipAlignment?: boolean | undefined;
            boundary?: import("vuesax-alpha/es/hooks").Boundary | undefined;
        }) | ((new (...args: any[]) => (boolean | {
            padding?: import("vuesax-alpha/es/hooks").Padding | undefined;
            rootBoundary?: import("vuesax-alpha/es/hooks").RootBoundary | undefined;
            elementContext?: import("../../../hooks/use-floating/core").ElementContext | undefined;
            altBoundary?: boolean | undefined;
            mainAxis?: boolean | undefined;
            crossAxis?: boolean | undefined;
            fallbackPlacements?: import("vuesax-alpha/es/hooks").Placement[] | undefined;
            fallbackStrategy?: "bestFit" | "initialPlacement" | undefined;
            fallbackAxisSideDirection?: "none" | "end" | "start" | undefined;
            flipAlignment?: boolean | undefined;
            boundary?: import("vuesax-alpha/es/hooks").Boundary | undefined;
        }) & {}) | (() => boolean | {
            padding?: import("vuesax-alpha/es/hooks").Padding | undefined;
            rootBoundary?: import("vuesax-alpha/es/hooks").RootBoundary | undefined;
            elementContext?: import("../../../hooks/use-floating/core").ElementContext | undefined;
            altBoundary?: boolean | undefined;
            mainAxis?: boolean | undefined;
            crossAxis?: boolean | undefined;
            fallbackPlacements?: import("vuesax-alpha/es/hooks").Placement[] | undefined;
            fallbackStrategy?: "bestFit" | "initialPlacement" | undefined;
            fallbackAxisSideDirection?: "none" | "end" | "start" | undefined;
            flipAlignment?: boolean | undefined;
            boundary?: import("vuesax-alpha/es/hooks").Boundary | undefined;
        }))[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        readonly __vsPropKey: true;
    };
    readonly fit: {
        readonly default: true;
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        readonly __vsPropKey: true;
    };
    readonly disabled: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly onClick: {
        readonly type: import("vue").PropType<(e: Event) => boolean | void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly onBlur: {
        readonly type: import("vue").PropType<(e: Event) => boolean | void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly onFocus: {
        readonly type: import("vue").PropType<(e: Event) => boolean | void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly onMouseenter: {
        readonly type: import("vue").PropType<(e: Event) => boolean | void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly onMouseleave: {
        readonly type: import("vue").PropType<(e: Event) => boolean | void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly onContextmenu: {
        readonly type: import("vue").PropType<(e: Event) => boolean | void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly onKeydown: {
        readonly type: import("vue").PropType<(e: Event) => boolean | void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly strategy: {
        readonly default: "absolute";
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<(new (...args: any[]) => import("vuesax-alpha/es/hooks").Strategy & {}) | (() => import("vuesax-alpha/es/hooks").Strategy) | ((new (...args: any[]) => import("vuesax-alpha/es/hooks").Strategy & {}) | (() => import("vuesax-alpha/es/hooks").Strategy))[], "fixed" | "absolute", unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        readonly __vsPropKey: true;
    };
    readonly teleported: import("vuesax-alpha/es/utils").VsPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
    readonly modelValue: import("vuesax-alpha/es/utils").VsPropFinalized<(new (...args: any[]) => SelectValue & {}) | (() => SelectValue) | ((new (...args: any[]) => SelectValue & {}) | (() => SelectValue))[], unknown, unknown, "", boolean>;
    readonly notValue: import("vuesax-alpha/es/utils").VsPropFinalized<(new (...args: any[]) => SelectOptionValue & {}) | (() => SelectOptionValue) | ((new (...args: any[]) => SelectOptionValue & {}) | (() => SelectOptionValue))[], unknown, unknown, "", boolean>;
    readonly loadingText: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly noMatchText: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly noDataText: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly allowCreate: import("vuesax-alpha/es/utils").VsPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly multiple: import("vuesax-alpha/es/utils").VsPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly multipleLimit: import("vuesax-alpha/es/utils").VsPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
    readonly filter: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly filterMethod: {
        readonly type: import("vue").PropType<(val: string) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly collapseChips: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly maxCollapseChips: import("vuesax-alpha/es/utils").VsPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
    readonly defaultFirstOption: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly loading: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly color: {
        readonly default: "primary";
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<StringConstructor, "primary" | "success" | "danger" | "warn" | "dark" | "text" | "light" | "secondary" | "facebook" | "twitter" | "youtube" | "pinterest" | "linkedin" | "snapchat" | "whatsapp" | "tumblr" | "reddit" | "spotify" | "amazon" | "medium" | "vimeo" | "skype" | "dribbble" | "slack" | "yahoo" | "twitch" | "discord" | "telegram" | "google-plus" | "messenger", import("../../..").Color>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        readonly __vsPropKey: true;
    };
    readonly state: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<StringConstructor, "primary" | "success" | "danger" | "warn" | "dark" | "text" | "light" | "secondary" | "facebook" | "twitter" | "youtube" | "pinterest" | "linkedin" | "snapchat" | "whatsapp" | "tumblr" | "reddit" | "spotify" | "amazon" | "medium" | "vimeo" | "skype" | "dribbble" | "slack" | "yahoo" | "twitch" | "discord" | "telegram" | "google-plus" | "messenger", import("../../..").Color>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly block: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly hideScrollbar: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly labelFloat: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly label: import("vuesax-alpha/es/utils").VsPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
    readonly placeholder: import("vuesax-alpha/es/utils").VsPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
    readonly shape: import("vuesax-alpha/es/utils").VsPropFinalized<StringConstructor, "square", unknown, "", boolean>;
    readonly id: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly nativeScrollbar: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly clearable: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
};
export declare type SelectProps = ExtractPropTypes<typeof selectProps>;
export declare const selectEmits: {
    'update:modelValue': (val: SelectValue) => boolean;
    'visible-change': (val: boolean) => boolean;
    'remove-tag': (val: SelectOptionValue) => SelectOptionValue;
    focus: (event: FocusEvent | Event) => boolean;
    blur: (event: FocusEvent | Event) => boolean;
    change: (val: SelectValue) => boolean;
    clear: () => boolean;
};
export declare type SelectEmits = typeof selectEmits;
export declare type SelectEmitsFn = EmitFn<SelectEmits>;
export declare type SelectInstance = InstanceType<typeof Select>;
export interface SelectExpose {
    /** focus to select */
    readonly focus: () => void;
    /** blur select */
    readonly blur: () => void;
}
