import * as _angular_core from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
/**
* Radial dial input. CVA-backed `number | null` value clamped to
* `[min, max]`. Drag the indicator around the dial or use ←→ / ↑↓ to step.
*
* @example
* ```html
*
*
* ```
*
* @see https://ngwr.dev/components/knob
*/
declare class WrKnob implements ControlValueAccessor {
/** Minimum allowed value. @default 0 */
readonly min: _angular_core.InputSignalWithTransform;
/** Maximum allowed value. @default 100 */
readonly max: _angular_core.InputSignalWithTransform;
/** Step granularity. @default 1 */
readonly step: _angular_core.InputSignalWithTransform;
/** Dial diameter in CSS pixels. @default 120 */
readonly size: _angular_core.InputSignalWithTransform;
/** Stroke width of the dial arc, in CSS pixels. @default 8 */
readonly strokeWidth: _angular_core.InputSignalWithTransform;
/** Track (unfilled) color. @default rgba(--wr-color-light, 0.6) */
readonly trackColor: _angular_core.InputSignal;
/** Filled-arc color. @default var(--wr-color-primary) */
readonly valueColor: _angular_core.InputSignal;
/** Show the value text in the center. @default true */
readonly showValue: _angular_core.InputSignalWithTransform;
/** Optional suffix appended to the center text (e.g. `'%'`). */
readonly suffix: _angular_core.InputSignal;
/** Read-only — disables interaction but keeps the visual. @default false */
readonly readonly: _angular_core.InputSignalWithTransform;
/** Disable interaction. @default false */
readonly disabled: _angular_core.InputSignalWithTransform;
protected readonly value: _angular_core.WritableSignal;
private readonly disabledFromCva;
private dragging;
protected readonly effectiveDisabled: _angular_core.Signal;
protected readonly interactive: _angular_core.Signal;
protected readonly classes: _angular_core.Signal;
protected readonly cx = 50;
protected readonly cy = 50;
protected readonly radius: _angular_core.Signal;
/** Ratio of the filled arc — `0` at min, `1` at max. */
protected readonly ratio: _angular_core.Signal;
/** SVG path `d` for the background arc. */
protected readonly trackPath: _angular_core.Signal;
/** SVG path `d` for the filled arc. */
protected readonly valuePath: _angular_core.Signal;
/** Position of the handle dot — `{ x, y }` in viewBox units. */
protected readonly handlePos: _angular_core.Signal<{
x: number;
y: number;
}>;
private readonly host;
private onChange;
private onTouched;
writeValue(value: number | null): void;
registerOnChange(fn: (value: number | null) => void): void;
registerOnTouched(fn: () => void): void;
setDisabledState(isDisabled: boolean): void;
protected onPointerDown(event: PointerEvent): void;
protected onPointerMove(event: PointerEvent): void;
protected onPointerUp(event: PointerEvent): void;
protected onKeydown(event: KeyboardEvent): void;
private updateFromPointer;
private commit;
private arcPath;
static ɵfac: _angular_core.ɵɵFactoryDeclaration;
static ɵcmp: _angular_core.ɵɵComponentDeclaration;
}
export { WrKnob };