export type KnobProps = {
    /** Canvas size in pixels (width and height); affects resolution and touch target. */
    size?: number;
    /** Thickness of the arc stroke in pixels. */
    arcWidth?: number;
    /** Minimum value in minutes (e.g. -720 for -12h); maps to the leftmost arc angle. */
    min?: number;
    /** Maximum value in minutes (e.g. 720 for +12h); maps to the rightmost arc angle. */
    max?: number;
    /** Step size in minutes; value is rounded to multiples of this when dragging. */
    steps?: number;
    /** When true, uses left/right accent colors (e.g. CSS variables) for the arc and handle. */
    colored?: boolean;
    /** When true, draws a more prominent handle circle with a white stroke. */
    showHandle?: boolean;
    /** When true, hides the direction arrows drawn on the arc. */
    hideArrows?: boolean;
    /** Duration in ms for the value-change animation (e.g. when model updates). */
    duration?: number;
    /** Max number of full rotations to animate; 0 or 1 means no rotation limit. */
    animateRotations?: number;
};
export type KnobSlots = {
    default?: () => unknown;
    left?: () => unknown;
    right?: () => unknown;
};
type __VLS_Slots = KnobSlots;
type __VLS_Props = KnobProps;
type __VLS_ModelProps = {
    modelValue: number;
};
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:modelValue": (value: number) => any;
} & {
    "drag:start": () => any;
    "drag:update": () => any;
    "drag:end": () => any;
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    "onDrag:start"?: (() => any) | undefined;
    "onDrag:update"?: (() => any) | undefined;
    "onDrag:end"?: (() => any) | undefined;
    "onUpdate:modelValue"?: ((value: number) => any) | undefined;
}>, {
    size: number;
    duration: number;
    colored: boolean;
    arcWidth: number;
    min: number;
    max: number;
    steps: number;
    showHandle: boolean;
    hideArrows: boolean;
    animateRotations: number;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
