import type { PropType } from 'vue';
import type { EmitType } from '../_utils/types';
import { ScrollbarProps } from '../scrollbar';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    loading: BooleanConstructor;
    empty: BooleanConstructor;
    virtualList: BooleanConstructor;
    bottomOffset: {
        type: NumberConstructor;
        default: number;
    };
    scrollbar: {
        type: PropType<boolean | ScrollbarProps>;
        default: boolean;
    };
    onScroll: {
        type: PropType<EmitType<(ev: Event) => void>>;
    };
    onReachBottom: {
        type: PropType<EmitType<(ev: Event) => void>>;
    };
    showHeaderOnEmpty: {
        type: PropType<boolean>;
        default: boolean;
    };
    showFooterOnEmpty: {
        type: PropType<boolean>;
        default: boolean;
    };
}>, {
    prefixCls: string;
    SelectEmpty: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }> | undefined;
    cls: import("vue").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    wrapperRef: import("vue").Ref<any, any>;
    wrapperComRef: import("vue").Ref<HTMLElement | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, import("vue").ComponentProvideOptions>, {}, {}, "", {}, any> | undefined, HTMLElement | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, import("vue").ComponentProvideOptions>, {}, {}, "", {}, any> | undefined>;
    handleScroll: (e: Event) => void;
    displayScrollbar: import("vue").ComputedRef<boolean>;
    scrollbarProps: import("vue").ComputedRef<ScrollbarProps | undefined>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("scroll" | "reachBottom")[], "scroll" | "reachBottom", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    loading: BooleanConstructor;
    empty: BooleanConstructor;
    virtualList: BooleanConstructor;
    bottomOffset: {
        type: NumberConstructor;
        default: number;
    };
    scrollbar: {
        type: PropType<boolean | ScrollbarProps>;
        default: boolean;
    };
    onScroll: {
        type: PropType<EmitType<(ev: Event) => void>>;
    };
    onReachBottom: {
        type: PropType<EmitType<(ev: Event) => void>>;
    };
    showHeaderOnEmpty: {
        type: PropType<boolean>;
        default: boolean;
    };
    showFooterOnEmpty: {
        type: PropType<boolean>;
        default: boolean;
    };
}>> & Readonly<{
    onScroll?: ((...args: any[]) => any) | undefined;
    onReachBottom?: ((...args: any[]) => any) | undefined;
}>, {
    loading: boolean;
    scrollbar: boolean | ScrollbarProps;
    empty: boolean;
    bottomOffset: number;
    showHeaderOnEmpty: boolean;
    showFooterOnEmpty: boolean;
    virtualList: boolean;
}, {}, {
    ScrollbarComponent: {
        new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
            type: {
                type: PropType<"embed" | "track">;
                default: string;
            };
            outerClass: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
            outerStyle: {
                type: PropType<import("vue").StyleValue>;
            };
            hide: {
                type: BooleanConstructor;
                default: boolean;
            };
            disableHorizontal: {
                type: BooleanConstructor;
                default: boolean;
            };
            disableVertical: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{
            onScroll?: ((ev: Event) => any) | undefined;
        }>, {
            prefixCls: string;
            cls: import("vue").ComputedRef<(string | Record<string, any> | undefined)[]>;
            style: import("vue").ComputedRef<import("vue").StyleValue[]>;
            containerRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
            horizontalThumbRef: import("vue").Ref<any, any>;
            verticalThumbRef: import("vue").Ref<any, any>;
            horizontalData: import("vue").Ref<import("../scrollbar/interface").ThumbData | undefined, import("../scrollbar/interface").ThumbData | undefined>;
            verticalData: import("vue").Ref<import("../scrollbar/interface").ThumbData | undefined, import("../scrollbar/interface").ThumbData | undefined>;
            isBoth: import("vue").Ref<boolean, boolean>;
            hasHorizontalScrollbar: import("vue").ComputedRef<boolean>;
            hasVerticalScrollbar: import("vue").ComputedRef<boolean>;
            handleResize: () => void;
            handleScroll: (ev: Event) => void;
            handleHorizontalScroll: (offset: number) => void;
            handleVerticalScroll: (offset: number) => void;
        }, {}, {}, {
            scrollTo(options?: number | {
                left?: number | undefined;
                top?: number | undefined;
            } | undefined, y?: number | undefined): void;
            scrollTop(top: number): void;
            scrollLeft(left: number): void;
        }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
            scroll: (ev: Event) => true;
        }, import("vue").PublicProps, {
            type: "embed" | "track";
            hide: boolean;
            disableHorizontal: boolean;
            disableVertical: boolean;
        }, true, {}, {}, {
            ResizeObserver: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
                watchOnUpdated: BooleanConstructor;
            }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "resize"[], "resize", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
                watchOnUpdated: BooleanConstructor;
            }>> & Readonly<{
                onResize?: ((...args: any[]) => any) | undefined;
            }>, {
                watchOnUpdated: boolean;
            }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
            Thumb: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
                data: {
                    type: PropType<import("../scrollbar/interface").ThumbData>;
                };
                direction: {
                    type: PropType<"horizontal" | "vertical">;
                    default: string;
                };
                alwaysShow: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                both: {
                    type: BooleanConstructor;
                    default: boolean;
                };
            }>, {
                visible: import("vue").Ref<boolean, boolean>;
                trackRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
                thumbRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
                prefixCls: string;
                thumbCls: import("vue").ComputedRef<(string | {
                    [x: string]: boolean;
                })[]>;
                thumbStyle: import("vue").ComputedRef<{
                    [x: string]: string;
                }>;
                handleThumbMouseDown: (ev: MouseEvent) => void;
                handleTrackClick: (ev: MouseEvent) => void;
                setOffset: (_offset: number) => void;
            }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "scroll"[], "scroll", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
                data: {
                    type: PropType<import("../scrollbar/interface").ThumbData>;
                };
                direction: {
                    type: PropType<"horizontal" | "vertical">;
                    default: string;
                };
                alwaysShow: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                both: {
                    type: BooleanConstructor;
                    default: boolean;
                };
            }>> & Readonly<{
                onScroll?: ((...args: any[]) => any) | undefined;
            }>, {
                direction: "horizontal" | "vertical";
                both: boolean;
                alwaysShow: boolean;
            }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        } & import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import("vue").ExtractPropTypes<{
            type: {
                type: PropType<"embed" | "track">;
                default: string;
            };
            outerClass: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
            outerStyle: {
                type: PropType<import("vue").StyleValue>;
            };
            hide: {
                type: BooleanConstructor;
                default: boolean;
            };
            disableHorizontal: {
                type: BooleanConstructor;
                default: boolean;
            };
            disableVertical: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{
            onScroll?: ((ev: Event) => any) | undefined;
        }>, {
            prefixCls: string;
            cls: import("vue").ComputedRef<(string | Record<string, any> | undefined)[]>;
            style: import("vue").ComputedRef<import("vue").StyleValue[]>;
            containerRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
            horizontalThumbRef: import("vue").Ref<any, any>;
            verticalThumbRef: import("vue").Ref<any, any>;
            horizontalData: import("vue").Ref<import("../scrollbar/interface").ThumbData | undefined, import("../scrollbar/interface").ThumbData | undefined>;
            verticalData: import("vue").Ref<import("../scrollbar/interface").ThumbData | undefined, import("../scrollbar/interface").ThumbData | undefined>;
            isBoth: import("vue").Ref<boolean, boolean>;
            hasHorizontalScrollbar: import("vue").ComputedRef<boolean>;
            hasVerticalScrollbar: import("vue").ComputedRef<boolean>;
            handleResize: () => void;
            handleScroll: (ev: Event) => void;
            handleHorizontalScroll: (offset: number) => void;
            handleVerticalScroll: (offset: number) => void;
        }, {}, {}, {
            scrollTo(options?: number | {
                left?: number | undefined;
                top?: number | undefined;
            } | undefined, y?: number | undefined): void;
            scrollTop(top: number): void;
            scrollLeft(left: number): void;
        }, {
            type: "embed" | "track";
            hide: boolean;
            disableHorizontal: boolean;
            disableVertical: boolean;
        }>;
        __isFragment?: undefined;
        __isTeleport?: undefined;
        __isSuspense?: undefined;
    } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
        type: {
            type: PropType<"embed" | "track">;
            default: string;
        };
        outerClass: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        outerStyle: {
            type: PropType<import("vue").StyleValue>;
        };
        hide: {
            type: BooleanConstructor;
            default: boolean;
        };
        disableHorizontal: {
            type: BooleanConstructor;
            default: boolean;
        };
        disableVertical: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        onScroll?: ((ev: Event) => any) | undefined;
    }>, {
        prefixCls: string;
        cls: import("vue").ComputedRef<(string | Record<string, any> | undefined)[]>;
        style: import("vue").ComputedRef<import("vue").StyleValue[]>;
        containerRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
        horizontalThumbRef: import("vue").Ref<any, any>;
        verticalThumbRef: import("vue").Ref<any, any>;
        horizontalData: import("vue").Ref<import("../scrollbar/interface").ThumbData | undefined, import("../scrollbar/interface").ThumbData | undefined>;
        verticalData: import("vue").Ref<import("../scrollbar/interface").ThumbData | undefined, import("../scrollbar/interface").ThumbData | undefined>;
        isBoth: import("vue").Ref<boolean, boolean>;
        hasHorizontalScrollbar: import("vue").ComputedRef<boolean>;
        hasVerticalScrollbar: import("vue").ComputedRef<boolean>;
        handleResize: () => void;
        handleScroll: (ev: Event) => void;
        handleHorizontalScroll: (offset: number) => void;
        handleVerticalScroll: (offset: number) => void;
    }, {}, {}, {
        scrollTo(options?: number | {
            left?: number | undefined;
            top?: number | undefined;
        } | undefined, y?: number | undefined): void;
        scrollTop(top: number): void;
        scrollLeft(left: number): void;
    }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        scroll: (ev: Event) => true;
    }, string, {
        type: "embed" | "track";
        hide: boolean;
        disableHorizontal: boolean;
        disableVertical: boolean;
    }, {}, string, {}, {
        ResizeObserver: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            watchOnUpdated: BooleanConstructor;
        }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "resize"[], "resize", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            watchOnUpdated: BooleanConstructor;
        }>> & Readonly<{
            onResize?: ((...args: any[]) => any) | undefined;
        }>, {
            watchOnUpdated: boolean;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        Thumb: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            data: {
                type: PropType<import("../scrollbar/interface").ThumbData>;
            };
            direction: {
                type: PropType<"horizontal" | "vertical">;
                default: string;
            };
            alwaysShow: {
                type: BooleanConstructor;
                default: boolean;
            };
            both: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>, {
            visible: import("vue").Ref<boolean, boolean>;
            trackRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
            thumbRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
            prefixCls: string;
            thumbCls: import("vue").ComputedRef<(string | {
                [x: string]: boolean;
            })[]>;
            thumbStyle: import("vue").ComputedRef<{
                [x: string]: string;
            }>;
            handleThumbMouseDown: (ev: MouseEvent) => void;
            handleTrackClick: (ev: MouseEvent) => void;
            setOffset: (_offset: number) => void;
        }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "scroll"[], "scroll", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            data: {
                type: PropType<import("../scrollbar/interface").ThumbData>;
            };
            direction: {
                type: PropType<"horizontal" | "vertical">;
                default: string;
            };
            alwaysShow: {
                type: BooleanConstructor;
                default: boolean;
            };
            both: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{
            onScroll?: ((...args: any[]) => any) | undefined;
        }>, {
            direction: "horizontal" | "vertical";
            both: boolean;
            alwaysShow: boolean;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    } & import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
        install: (app: import("vue").App<any>, options?: import("../_utils/types").ArcoOptions | undefined) => void;
    };
    Empty: {
        new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
            description: StringConstructor;
            imgSrc: StringConstructor;
            inConfigProvider: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[] | import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
            inConfigProvider: boolean;
        }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import("vue").ExtractPropTypes<{
            description: StringConstructor;
            imgSrc: StringConstructor;
            inConfigProvider: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>[] | import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
            inConfigProvider: boolean;
        }>;
        __isFragment?: undefined;
        __isTeleport?: undefined;
        __isSuspense?: undefined;
    } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
        description: StringConstructor;
        imgSrc: StringConstructor;
        inConfigProvider: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>[] | import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
        inConfigProvider: boolean;
    }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
        install: (app: import("vue").App<any>, options?: import("../_utils/types").ArcoOptions | undefined) => void;
    };
    Spin: {
        new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
            size: {
                type: NumberConstructor;
            };
            loading: BooleanConstructor;
            dot: BooleanConstructor;
            tip: StringConstructor;
            hideIcon: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
            loading: boolean;
            dot: boolean;
            hideIcon: boolean;
        }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import("vue").ExtractPropTypes<{
            size: {
                type: NumberConstructor;
            };
            loading: BooleanConstructor;
            dot: BooleanConstructor;
            tip: StringConstructor;
            hideIcon: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
            loading: boolean;
            dot: boolean;
            hideIcon: boolean;
        }>;
        __isFragment?: undefined;
        __isTeleport?: undefined;
        __isSuspense?: undefined;
    } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
        size: {
            type: NumberConstructor;
        };
        loading: BooleanConstructor;
        dot: BooleanConstructor;
        tip: StringConstructor;
        hideIcon: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
        loading: boolean;
        dot: boolean;
        hideIcon: boolean;
    }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
        install: (app: import("vue").App<any>, options?: import("../_utils/types").ArcoOptions | undefined) => void;
    };
}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
