import { type CSSProperties, type PropType, type ExtractPropTypes, type HTMLAttributes } from 'vue';
import type { OnStartMove } from '../interface';
export interface RenderProps {
    index: number;
    prefixCls: string;
    value: number;
    dragging: boolean;
    draggingDelete: boolean;
}
declare const handleProps: () => {
    prefixCls: StringConstructor;
    style: PropType<CSSProperties>;
    value: NumberConstructor;
    valueIndex: NumberConstructor;
    dragging: {
        type: BooleanConstructor;
        default: any;
    };
    draggingDelete: {
        type: BooleanConstructor;
        default: any;
    };
    onStartMove: PropType<OnStartMove>;
    onDelete: PropType<(index: number) => void>;
    onOffsetChange: PropType<(value: number | 'min' | 'max', valueIndex: number) => void>;
    onFocus: PropType<(e: FocusEvent, index: number) => void>;
    onMouseEnter: PropType<(e: MouseEvent, index: number) => void>;
    render: PropType<(origin: any, props: RenderProps) => any>;
    onChangeComplete: PropType<() => void>;
    mock: {
        type: BooleanConstructor;
        default: any;
    };
};
export type HandleProps = ExtractPropTypes<ReturnType<typeof handleProps>> & Omit<Partial<HTMLAttributes>, 'onFocus' | 'onMouseenter'>;
declare const Handle: import("vue").DefineComponent<ExtractPropTypes<{
    prefixCls: StringConstructor;
    style: PropType<CSSProperties>;
    value: NumberConstructor;
    valueIndex: NumberConstructor;
    dragging: {
        type: BooleanConstructor;
        default: any;
    };
    draggingDelete: {
        type: BooleanConstructor;
        default: any;
    };
    onStartMove: PropType<OnStartMove>;
    onDelete: PropType<(index: number) => void>;
    onOffsetChange: PropType<(value: number | 'min' | 'max', valueIndex: number) => void>;
    onFocus: PropType<(e: FocusEvent, index: number) => void>;
    onMouseEnter: PropType<(e: MouseEvent, index: number) => void>;
    render: PropType<(origin: any, props: RenderProps) => any>;
    onChangeComplete: PropType<() => void>;
    mock: {
        type: BooleanConstructor;
        default: any;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ExtractPropTypes<{
    prefixCls: StringConstructor;
    style: PropType<CSSProperties>;
    value: NumberConstructor;
    valueIndex: NumberConstructor;
    dragging: {
        type: BooleanConstructor;
        default: any;
    };
    draggingDelete: {
        type: BooleanConstructor;
        default: any;
    };
    onStartMove: PropType<OnStartMove>;
    onDelete: PropType<(index: number) => void>;
    onOffsetChange: PropType<(value: number | 'min' | 'max', valueIndex: number) => void>;
    onFocus: PropType<(e: FocusEvent, index: number) => void>;
    onMouseEnter: PropType<(e: MouseEvent, index: number) => void>;
    render: PropType<(origin: any, props: RenderProps) => any>;
    onChangeComplete: PropType<() => void>;
    mock: {
        type: BooleanConstructor;
        default: any;
    };
}>> & Readonly<{}>, {
    dragging: boolean;
    mock: boolean;
    draggingDelete: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default Handle;
