import { type NumericRange } from '../shared/numeric-range'; export declare const KNOB_START_ANGLE = 120; export declare const KNOB_ARC_ANGLE = 300; export declare const KNOB_DEFAULT_STROKE_WIDTH = 14; export type KnobRingGeometry = { startAngle: number; strokeWidth: number; radius: number; circumference: number; arcLength: number; progressLength: number; valueText: string; }; export declare function resolveKnobStrokeWidth(strokeWidth: number | undefined): number; export declare function formatKnobValue(value: number, step: number, template: string): string; export declare function createKnobRing(value: number, min: number, max: number, step: number, strokeWidth: number | undefined, valueTemplate: string): KnobRingGeometry; /** * @remarks The inactive gap snaps to the nearest endpoint so pointer travel * through the gap cannot jump across the value range. */ export declare function knobValueFromPointer(clientX: number, clientY: number, rect: DOMRect, range: NumericRange): number | null;