import { type PropType } from 'vue';
export type ScrollerStylesNames = 'root' | 'container' | 'content' | 'control' | 'chevron';
export type ScrollerCssVariables = {
    root: '--scroller-control-size' | '--scroller-background-color';
};
export interface ScrollerProps {
    scrollAmount?: number;
    controlSize?: string | number;
    edgeGradientColor?: string;
    startControlProps?: Record<string, any>;
    endControlProps?: Record<string, any>;
    startControlIcon?: any;
    endControlIcon?: any;
    showStartControl?: boolean;
    showEndControl?: boolean;
    draggable?: boolean;
    classNames?: Record<string, string> | ((theme: any, props: any) => Record<string, string>);
    styles?: Record<string, any> | ((theme: any, props: any) => Record<string, any>);
    vars?: Record<string, Record<string, string | undefined>> | ((theme: any, props: any) => Record<string, Record<string, string | undefined>>);
    unstyled?: boolean;
}
export declare const Scroller: import("../..").WithBoxProps<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    scrollAmount: {
        type: NumberConstructor;
        default: undefined;
    };
    controlSize: {
        type: PropType<string | number>;
        default: undefined;
    };
    edgeGradientColor: {
        type: StringConstructor;
        default: undefined;
    };
    startControlProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    endControlProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    startControlIcon: {
        type: PropType<any>;
        default: undefined;
    };
    endControlIcon: {
        type: PropType<any>;
        default: undefined;
    };
    showStartControl: {
        type: BooleanConstructor;
        default: boolean;
    };
    showEndControl: {
        type: BooleanConstructor;
        default: boolean;
    };
    draggable: {
        type: BooleanConstructor;
        default: undefined;
    };
    classNames: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    styles: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    vars: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    unstyled: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    scrollAmount: {
        type: NumberConstructor;
        default: undefined;
    };
    controlSize: {
        type: PropType<string | number>;
        default: undefined;
    };
    edgeGradientColor: {
        type: StringConstructor;
        default: undefined;
    };
    startControlProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    endControlProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    startControlIcon: {
        type: PropType<any>;
        default: undefined;
    };
    endControlIcon: {
        type: PropType<any>;
        default: undefined;
    };
    showStartControl: {
        type: BooleanConstructor;
        default: boolean;
    };
    showEndControl: {
        type: BooleanConstructor;
        default: boolean;
    };
    draggable: {
        type: BooleanConstructor;
        default: undefined;
    };
    classNames: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    styles: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    vars: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    unstyled: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{}>, {
    classNames: Function | Record<string, any>;
    styles: Function | Record<string, any>;
    scrollAmount: number;
    draggable: boolean;
    vars: Function | Record<string, any>;
    unstyled: boolean;
    controlSize: string | number;
    edgeGradientColor: string;
    startControlProps: Record<string, any>;
    endControlProps: Record<string, any>;
    startControlIcon: any;
    endControlIcon: any;
    showStartControl: boolean;
    showEndControl: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
