import { PropType } from 'vue';
import { Option } from './types';
export declare const SelectInput: import("vue").DefineComponent<{
    value: {
        type: PropType<Option | Option[]>;
        default: () => {};
    };
    label: {
        type: StringConstructor;
        default: string;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    options: {
        type: PropType<Option[]>;
        default: () => never[];
    };
    asyncOptions: {
        type: PropType<(filter: string) => Promise<Option[]>>;
        required: false;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    required: {
        type: BooleanConstructor;
        default: boolean;
    };
    validate: {
        type: PropType<(value: Option | Option[]) => Promise<false | null | string[]>>;
        required: false;
    };
}, () => ("" | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>)[], unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "select"[], "select", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    value: {
        type: PropType<Option | Option[]>;
        default: () => {};
    };
    label: {
        type: StringConstructor;
        default: string;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    options: {
        type: PropType<Option[]>;
        default: () => never[];
    };
    asyncOptions: {
        type: PropType<(filter: string) => Promise<Option[]>>;
        required: false;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    required: {
        type: BooleanConstructor;
        default: boolean;
    };
    validate: {
        type: PropType<(value: Option | Option[]) => Promise<false | null | string[]>>;
        required: false;
    };
}>> & {
    onSelect?: ((...args: any[]) => any) | undefined;
}, {
    value: Option | Option[];
    label: string;
    placeholder: string;
    options: Option[];
    disabled: boolean;
    multiple: boolean;
    required: boolean;
}, {}>;
//# sourceMappingURL=select.d.ts.map