import type { PropType, StyleValue } from 'vue';
import type { ExtractPublicPropTypes } from '../_util/interface';
export declare const PROVIDE_KEY: unique symbol;
export declare const CONTAINER_PROVIDE_KEY: unique symbol;
export declare const BAR_MAP: {
    readonly vertical: {
        readonly offset: "offsetHeight";
        readonly scroll: "scrollTop";
        readonly scrollSize: "scrollHeight";
        readonly size: "height";
        readonly key: "vertical";
        readonly axis: "Y";
        readonly client: "clientY";
        readonly direction: "top";
    };
    readonly horizontal: {
        readonly offset: "offsetWidth";
        readonly scroll: "scrollLeft";
        readonly scrollSize: "scrollWidth";
        readonly size: "width";
        readonly key: "horizontal";
        readonly axis: "X";
        readonly client: "clientX";
        readonly direction: "left";
    };
};
export type ShadowType = boolean | {
    x: boolean;
    y: boolean;
};
export declare const COMMON_PROPS: {
    shadow: {
        type: PropType<ShadowType>;
        default: boolean;
    };
    height: {
        type: PropType<string | number>;
    };
    maxHeight: {
        type: PropType<string | number>;
    };
    native: {
        type: BooleanConstructor;
        default: boolean;
    };
    always: {
        type: BooleanConstructor;
        default: boolean;
    };
    minSize: {
        type: NumberConstructor;
        default: number;
    };
    horizontalRatioStyle: {
        type: PropType<StyleValue>;
    };
    verticalRatioStyle: {
        type: PropType<StyleValue>;
    };
    shadowStyle: {
        type: PropType<StyleValue>;
    };
};
export declare const scrollbarProps: {
    readonly shadow: {
        type: PropType<ShadowType>;
        default: boolean;
    };
    readonly height: {
        type: PropType<string | number>;
    };
    readonly maxHeight: {
        type: PropType<string | number>;
    };
    readonly native: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly always: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly minSize: {
        type: NumberConstructor;
        default: number;
    };
    readonly horizontalRatioStyle: {
        type: PropType<StyleValue>;
    };
    readonly verticalRatioStyle: {
        type: PropType<StyleValue>;
    };
    readonly shadowStyle: {
        type: PropType<StyleValue>;
    };
    readonly containerClass: PropType<string | object | []>;
    readonly containerStyle: PropType<StyleValue>;
    readonly contentStyle: PropType<StyleValue>;
    readonly thumbStyle: PropType<StyleValue>;
    readonly noresize: BooleanConstructor;
};
export type ScrollbarProps = ExtractPublicPropTypes<typeof scrollbarProps>;
