import { SVGTemplateResult } from 'lit';
export declare enum RotType {
    dots = "dots",
    bar = "bar"
}
export declare enum RotPosition {
    scale = "scale",
    innerCircle = "innerCircle"
}
export declare function renderRotDots(color: string, position: RotPosition, radiusOffset?: number): SVGTemplateResult;
export declare function shortestAngularDeltaDeg(startAngle: number, endAngle: number): number;
export interface RotBarConfig {
    startAngle: number;
    endAngle: number;
    color: string;
    barColor: string;
    position: RotPosition;
    endDotFill?: string;
    endDotStroke?: string;
    maskId?: string;
    radiusOffset?: number;
}
export declare function renderRotBarStatic(config: RotBarConfig): SVGTemplateResult;
export declare function renderRotBarDots(color: string, position: RotPosition, radiusOffset?: number): SVGTemplateResult;
/**
 * Angular spacing between dots in degrees — same as radial (360 / 5 = 72).
 * In linear mode this is converted to pixels via `dotSpacing = 72 * translationScale`.
 */
export declare const LINEAR_DOT_ANGLE_SPACING: number;
export declare enum LinearRotPosition {
    track = "track",
    scale = "scale"
}
export declare function renderLinearRotDots(color: string, trackY: number, dotSpacing: number, visibleWidth: number): SVGTemplateResult;
export interface LinearRotBarConfig {
    startX: number;
    endX: number;
    color: string;
    barColor: string;
    trackY: number;
    endDotFill?: string;
    endDotStroke?: string;
    maskId?: string;
}
/**
 * Render the static horizontal bar, end-dot, and `<clipPath>` for a linear
 * ROT indicator. Analogous to `renderRotBarStatic` for radial instruments.
 *
 * The bar is a rounded capsule from `startX` to `endX` at vertical
 * position `trackY`. A ring-shaped end-dot sits at `endX`. The clip
 * region is padded at the end side so spinning bar-dots snap in/out
 * cleanly (same rationale as the angular padding in the radial version).
 *
 * Returns empty SVG when the bar span is less than 1 px.
 */
export declare function renderLinearRotBarStatic(config: LinearRotBarConfig): SVGTemplateResult;
/**
 * Render filled dots along a horizontal track, intended to be placed
 * inside a `<g clip-path="…">` that clips to the bar shape.
 * Analogous to `renderRotBarDots` for radial instruments.
 */
export declare function renderLinearRotBarDots(color: string, trackY: number, dotSpacing: number, visibleWidth: number): SVGTemplateResult;
//# sourceMappingURL=rot-renderer.d.ts.map