import { type PropType } from 'vue';
export type AngleSliderStylesNames = 'root' | 'thumb' | 'label' | 'marks' | 'mark';
export type AngleSliderCssVariables = {
    root: '--slider-size' | '--thumb-size';
};
export interface AngleSliderMark {
    value: number;
    label?: string;
}
export interface AngleSliderProps {
    step?: number;
    value?: number;
    defaultValue?: number;
    onChange?: (value: number) => void;
    onChangeEnd?: (value: number) => void;
    onScrubStart?: () => void;
    onScrubEnd?: () => void;
    withLabel?: boolean;
    marks?: AngleSliderMark[];
    size?: number;
    thumbSize?: number;
    formatLabel?: (value: number) => any;
    disabled?: boolean;
    restrictToMarks?: boolean;
    hiddenInputProps?: Record<string, any>;
    name?: string;
    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 AngleSlider: import("../..").WithBoxProps<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    step: {
        type: NumberConstructor;
        default: undefined;
    };
    value: {
        type: NumberConstructor;
        default: undefined;
    };
    defaultValue: {
        type: NumberConstructor;
        default: undefined;
    };
    onChange: {
        type: PropType<(value: number) => void>;
        default: undefined;
    };
    onChangeEnd: {
        type: PropType<(value: number) => void>;
        default: undefined;
    };
    onScrubStart: {
        type: PropType<() => void>;
        default: undefined;
    };
    onScrubEnd: {
        type: PropType<() => void>;
        default: undefined;
    };
    withLabel: {
        type: BooleanConstructor;
        default: undefined;
    };
    marks: {
        type: PropType<AngleSliderMark[]>;
        default: undefined;
    };
    size: {
        type: NumberConstructor;
        default: undefined;
    };
    thumbSize: {
        type: NumberConstructor;
        default: undefined;
    };
    formatLabel: {
        type: PropType<(value: number) => any>;
        default: undefined;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    restrictToMarks: {
        type: BooleanConstructor;
        default: boolean;
    };
    hiddenInputProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    name: {
        type: StringConstructor;
        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<{
    step: {
        type: NumberConstructor;
        default: undefined;
    };
    value: {
        type: NumberConstructor;
        default: undefined;
    };
    defaultValue: {
        type: NumberConstructor;
        default: undefined;
    };
    onChange: {
        type: PropType<(value: number) => void>;
        default: undefined;
    };
    onChangeEnd: {
        type: PropType<(value: number) => void>;
        default: undefined;
    };
    onScrubStart: {
        type: PropType<() => void>;
        default: undefined;
    };
    onScrubEnd: {
        type: PropType<() => void>;
        default: undefined;
    };
    withLabel: {
        type: BooleanConstructor;
        default: undefined;
    };
    marks: {
        type: PropType<AngleSliderMark[]>;
        default: undefined;
    };
    size: {
        type: NumberConstructor;
        default: undefined;
    };
    thumbSize: {
        type: NumberConstructor;
        default: undefined;
    };
    formatLabel: {
        type: PropType<(value: number) => any>;
        default: undefined;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    restrictToMarks: {
        type: BooleanConstructor;
        default: boolean;
    };
    hiddenInputProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    name: {
        type: StringConstructor;
        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<{}>, {
    size: number;
    name: string;
    onChange: (value: number) => void;
    value: number;
    classNames: Function | Record<string, any>;
    styles: Function | Record<string, any>;
    disabled: boolean;
    defaultValue: number;
    step: number;
    onChangeEnd: (value: number) => void;
    onScrubStart: () => void;
    onScrubEnd: () => void;
    vars: Function | Record<string, any>;
    unstyled: boolean;
    withLabel: boolean;
    marks: AngleSliderMark[];
    thumbSize: number;
    formatLabel: (value: number) => any;
    restrictToMarks: boolean;
    hiddenInputProps: Record<string, any>;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
