import { nextTick, CSSProperties } from 'vue';
export interface Option {
    label?: string;
    value?: string | number;
    disabled?: boolean;
    [propName: string]: any;
}
export interface Props {
    options?: Option[];
    label?: string;
    value?: string;
    placeholder?: string;
    disabled?: boolean;
    width?: string | number;
    height?: number;
    size?: 'small' | 'middle' | 'large';
    allowClear?: boolean;
    search?: boolean;
    filter?: Function | true;
    maxDisplay?: number;
    scrollbarProps?: object;
    modelValue?: number | string;
}
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    change: (...args: any[]) => void;
    openChange: (...args: any[]) => void;
    "update:modelValue": (...args: any[]) => void;
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
    onChange?: ((...args: any[]) => any) | undefined;
    onOpenChange?: ((...args: any[]) => any) | undefined;
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}>, {
    filter: Function | true;
    size: "small" | "middle" | "large";
    label: string;
    search: boolean;
    width: string | number;
    height: number;
    value: string;
    disabled: boolean;
    options: Option[];
    placeholder: string;
    allowClear: boolean;
    maxDisplay: number;
    scrollbarProps: object;
    modelValue: number | string;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    inputRef: HTMLInputElement;
    scrollbarRef: ({
        $: import('vue').ComponentInternalInstance;
        $data: {};
        $props: {
            readonly contentClass?: string | undefined;
            readonly contentStyle?: CSSProperties | undefined;
            readonly size?: number | undefined;
            readonly trigger?: "hover" | "none" | undefined;
            readonly autoHide?: boolean | undefined;
            readonly delay?: number | undefined;
            readonly xScrollable?: boolean | undefined;
            readonly yScrollable?: boolean | undefined;
            readonly xPlacement?: "top" | "bottom" | undefined;
            readonly yPlacement?: "left" | "right" | undefined;
            readonly onScroll?: ((...args: any[]) => any) | undefined;
            readonly onScrollend?: ((...args: any[]) => any) | undefined;
        } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        } & {
            containerRef: HTMLDivElement;
            contentRef: HTMLDivElement;
            railVerticalRef: HTMLDivElement;
            railHorizontalRef: HTMLDivElement;
        };
        $slots: Readonly<{
            [name: string]: import('vue').Slot<any> | undefined;
        }>;
        $root: import('vue').ComponentPublicInstance | null;
        $parent: import('vue').ComponentPublicInstance | null;
        $host: Element | null;
        $emit: ((event: "scroll", ...args: any[]) => void) & ((event: "scrollend", ...args: any[]) => void);
        $el: HTMLDivElement;
        $options: import('vue').ComponentOptionsBase<Readonly<import('../scrollbar').Props> & Readonly<{
            onScroll?: ((...args: any[]) => any) | undefined;
            onScrollend?: ((...args: any[]) => any) | undefined;
        }>, {
            scrollTo: (...args: any[]) => void;
            scrollBy: (...args: any[]) => void;
            getScrollData: () => object;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            scroll: (...args: any[]) => void;
            scrollend: (...args: any[]) => void;
        }, string, {
            size: number;
            contentClass: string;
            contentStyle: CSSProperties;
            trigger: "hover" | "none";
            autoHide: boolean;
            delay: number;
            xScrollable: boolean;
            yScrollable: boolean;
            xPlacement: "top" | "bottom";
            yPlacement: "left" | "right";
        }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
            renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
    } & Readonly<{
        size: number;
        contentClass: string;
        contentStyle: CSSProperties;
        trigger: "hover" | "none";
        autoHide: boolean;
        delay: number;
        xScrollable: boolean;
        yScrollable: boolean;
        xPlacement: "top" | "bottom";
        yPlacement: "left" | "right";
    }> & Omit<Readonly<import('../scrollbar').Props> & Readonly<{
        onScroll?: ((...args: any[]) => any) | undefined;
        onScrollend?: ((...args: any[]) => any) | undefined;
    }>, "scrollTo" | "scrollBy" | "getScrollData" | ("size" | "contentClass" | "contentStyle" | "trigger" | "autoHide" | "delay" | "xScrollable" | "yScrollable" | "xPlacement" | "yPlacement")> & import('vue').ShallowUnwrapRef<{
        scrollTo: (...args: any[]) => void;
        scrollBy: (...args: any[]) => void;
        getScrollData: () => object;
    }> & {} & import('vue').ComponentCustomProperties & {} & {
        $slots: {
            default?(_: {}): any;
        };
    }) | null;
}, HTMLDivElement>;
export default _default;
