import { LitElement } from 'lit';
import { AdviceType } from '../watch/advice.js';
import { Priority } from '../types.js';
import { TickmarkStyle } from '../watch/tickmark.js';
import '../../building-blocks/instrument-radial/instrument-radial.js';
export declare enum ObcGaugeRadialType {
    filled = "filled",
    bar = "bar",
    needle = "needle"
}
export interface GaugeRadialAdvice {
    minValue: number;
    maxValue: number;
    type: AdviceType;
    hinted: boolean;
}
declare const ObcRotSector_base: (new (...args: any[]) => import('../../svghelpers/setpoint-mixin.js').SetpointMixinInterface) & typeof LitElement;
/**
 * `<obc-rot-sector>` — Rate-of-turn sector gauge for rotational velocity.
 *
 * `ObcRotSector` is a thin wrapper around `<obc-instrument-radial>` that
 * displays a bipolar sector gauge showing rate of turn. The arc extent is
 * configurable via `rotArcExtent` (default 60°), mapping the value range
 * (−maxValue to +maxValue) to ±rotArcExtent degrees. The bottom 50% of the
 * circle is clipped, producing a compact sector arc. When `zoomToFitArc`
 * is enabled, clipping is bypassed and the arc is enlarged to fill the
 * available space. It inherits
 * a full setpoint property bundle from {@link SetpointMixin}, including
 * auto at-setpoint detection, dual-marker adjustment preview, and deadband
 * tuning.
 *
 * ## Features
 *
 * - **Bipolar sector**: Value range is symmetric around zero (−maxValue to
 *   +maxValue), mapped to a ±`rotArcExtent`° arc (default 60°).
 * - **Port/starboard coloring**: When `portStarboard` is true, positive
 *   values render in starboard (green) and negative in port (red).
 * - **Bar display**: Always renders as a `bar` type — no needle or filled
 *   variants.
 * - **Setpoint via mixin**: `setpoint`, `newSetpoint`, `touching`,
 *   `autoAtSetpointDeadband`, `setpointOverride`, and all other setpoint
 *   properties are provided by `SetpointMixin` and forwarded to the inner
 *   `<obc-instrument-radial>`.
 * - **Advice zones**: Pass an array of {@link GaugeRadialAdvice} objects to
 *   render caution/alert arcs on the gauge.
 *
 * ## Usage Guidelines
 *
 * - Set `maxValue` to define the symmetric ± range.
 * - Use `priority` to switch between regular and enhanced color palettes.
 * - Enable `portStarboard` to show directional coloring.
 * - Provide `primaryTickmarkInterval` and `secondaryTickmarkInterval` to
 *   control tickmark density.
 * - Enable `showLabels` to show numeric labels at primary tickmarks.
 *
 * ## Best Practices
 *
 * - Prefer `SetpointMixin` properties (`setpoint`, `touching`, etc.) over
 *   any legacy aliases — the mixin is the single source of truth.
 * - The sector is always bottom-clipped at 50%; do not change `clipBottom`
 *   externally.
 *
 * ## Example
 *
 * ```html
 * <obc-rot-sector
 *   value="15"
 *   maxValue="60"
 *   enhanced
 *   portStarboard
 *   showLabels
 *   primaryTickmarkInterval="20"
 *   secondaryTickmarkInterval="10"
 *   setpoint="30"
 * ></obc-rot-sector>
 * ```
 *
 * @element obc-rot-sector
 * @typedef {import('./rot-sector.js').GaugeRadialAdvice} GaugeRadialAdvice
 */
export declare class ObcRotSector extends ObcRotSector_base {
    value: number;
    maxValue: number;
    showLabels: boolean;
    /** Whether to render tickmarks inside the ring. */
    tickmarksInside: boolean;
    /**
     * Interval for primary tickmarks in value units.
     * When undefined or <= 0, no primary tickmarks are shown.
     */
    primaryTickmarkInterval: number | undefined;
    /**
     * Interval for secondary tickmarks in value units.
     * When undefined or <= 0, no secondary tickmarks are shown.
     */
    secondaryTickmarkInterval: number | undefined;
    /**
     * Interval for tertiary tickmarks in value units.
     * When undefined or <= 0, no tertiary tickmarks are shown.
     */
    tertiaryTickmarkInterval: number | undefined;
    priority: Priority;
    portStarboard: boolean;
    tickmarkStyle: TickmarkStyle;
    advices: GaugeRadialAdvice[];
    zoomToFitArc: boolean;
    rotArcExtent: number;
    getAngle: (v: number) => number;
    get _type(): ObcGaugeRadialType;
    private get _barColor();
    render(): import('lit-html').TemplateResult<1>;
    private get _needleColor();
}
declare global {
    interface HTMLElementTagNameMap {
        'obc-rot-sector': ObcRotSector;
    }
}
export {};
//# sourceMappingURL=rot-sector.d.ts.map