import { Ref, DefineComponent, ExtractPropTypes, PropType, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { SegmentedValue } from './segmented';
export interface MotionThumbInterface {
    value: SegmentedValue;
    getValueIndex: (value: SegmentedValue) => number;
    prefixCls: string;
    motionName: string;
    onMotionStart: VoidFunction;
    onMotionEnd: VoidFunction;
    direction?: 'ltr' | 'rtl';
}
declare const MotionThumb: DefineComponent<ExtractPropTypes<{
    value: {
        default: SegmentedValue;
        type: PropType<SegmentedValue>;
    };
    getValueIndex: {
        default: (value: SegmentedValue) => number;
        type: PropType<(value: SegmentedValue) => number>;
    };
    prefixCls: {
        default: string;
        type: PropType<string>;
    };
    motionName: {
        default: string;
        type: PropType<string>;
    };
    onMotionStart: {
        default: VoidFunction;
        type: PropType<VoidFunction>;
    };
    onMotionEnd: {
        default: VoidFunction;
        type: PropType<VoidFunction>;
    };
    direction: {
        default: "ltr" | "rtl";
        type: PropType<"ltr" | "rtl">;
    };
    containerRef: {
        default: Ref<HTMLDivElement, HTMLDivElement>;
        type: PropType<Ref<HTMLDivElement, HTMLDivElement>>;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("motionStart" | "motionEnd")[], "motionStart" | "motionEnd", PublicProps, Readonly< ExtractPropTypes<{
    value: {
        default: SegmentedValue;
        type: PropType<SegmentedValue>;
    };
    getValueIndex: {
        default: (value: SegmentedValue) => number;
        type: PropType<(value: SegmentedValue) => number>;
    };
    prefixCls: {
        default: string;
        type: PropType<string>;
    };
    motionName: {
        default: string;
        type: PropType<string>;
    };
    onMotionStart: {
        default: VoidFunction;
        type: PropType<VoidFunction>;
    };
    onMotionEnd: {
        default: VoidFunction;
        type: PropType<VoidFunction>;
    };
    direction: {
        default: "ltr" | "rtl";
        type: PropType<"ltr" | "rtl">;
    };
    containerRef: {
        default: Ref<HTMLDivElement, HTMLDivElement>;
        type: PropType<Ref<HTMLDivElement, HTMLDivElement>>;
    };
}>> & Readonly<{
    onMotionStart?: ((...args: any[]) => any) | undefined;
    onMotionEnd?: ((...args: any[]) => any) | undefined;
}>, {
    value: SegmentedValue;
    direction: "ltr" | "rtl";
    prefixCls: string;
    onMotionStart: VoidFunction;
    onMotionEnd: VoidFunction;
    motionName: string;
    getValueIndex: (value: SegmentedValue) => number;
    containerRef: Ref<HTMLDivElement, HTMLDivElement>;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default MotionThumb;
