import { LitElement, PropertyValues } from 'lit';
import { AngleAdvice } from '../watch/advice.js';
import { Priority } from '../types.js';
import '../watch/watch.js';
export declare enum CompassDirection {
    NorthUp = "northUp",
    HeadingUp = "headingUp",
    CourseUp = "courseUp"
}
export declare enum HeadingPriorityElement {
    hdg = "hdg",
    cog = "cog"
}
export declare class ObcHeading extends LitElement {
    heading: number;
    courseOverGround: number;
    headingSetpoint: number | null;
    newHeadingSetpoint: number | undefined;
    atHeadingSetpoint: boolean;
    headingSetpointAtZeroDeadband: number;
    headingSetpointOverride: boolean;
    autoAtHeadingSetpoint: boolean;
    autoAtHeadingSetpointDeadband: number;
    animateSetpoint: boolean;
    touching: boolean;
    headingAdvices: AngleAdvice[];
    direction: CompassDirection;
    priority: Priority;
    priorityElements: HeadingPriorityElement[];
    /** Show compass NSEW labels. */
    showLabels: boolean;
    /** When true, labels and north arrow are placed inside the outer ring. */
    tickmarksInside: boolean;
    private _headingSp;
    willUpdate(changed: PropertyValues): void;
    disconnectedCallback(): void;
    private _resizeController;
    private getPadding;
    private get angleAdviceRaw();
    private priorityFor;
    private getRotation;
    render(): import('lit-html').TemplateResult<1>;
    static styles: import('lit').CSSResult;
}
declare global {
    interface HTMLElementTagNameMap {
        'obc-heading': ObcHeading;
    }
}
//# sourceMappingURL=heading.d.ts.map