import { LitElement } from 'lit';
import '../../components/button/button.js';
import '../../icons/icon-drop-down-google.js';
import '../../components/navigation-item/navigation-item.js';
/**
 * Enum for instrument field sizes.
 * - `regular`: Standard size for navigation instrument data fields.
 * - `enhanced`: Larger size with increased visual prominence.
 */
export declare enum InstrumentFieldSize {
    regular = "regular",
    enhanced = "enhanced"
}
/**
 * `<obc-instrument-field>` – A component for displaying navigation instrument data.
 *
 * This component is used to show a primary value, an optional setpoint, units, and a source (e.g., GPS, Gyro).
 * It supports different sizes, horizontal/vertical layouts, and configurable numeric formatting.
 *
 * ### Features
 * - **Sizes:** Supports `regular` and `enhanced` sizes.
 * - **Setpoint:** Optional setpoint display with an arrow indicator.
 * - **Source Picker:** Optional source selection with a dropdown and context menu.
 * - **Formatting:** Customizable integer and fraction digits, with optional zero padding.
 * - **Status Indicators:** Supports an "OFF" state and neutral color mode.
 * - **Layouts:** Can be oriented horizontally or vertically, with various alignment options.
 *
 * ### Slots
 * | Slot Name           | Purpose                                                                 |
 * |---------------------|-------------------------------------------------------------------------|
 * | off-value           | Content to display when the `off` property is true (defaults to "OFF"). |
 *
 * @slot off-value - Content to display when the `off` property is true (defaults to "OFF").
 *
 * @csspart label - The container for the tag and unit.
 * @csspart tag - The tag text element.
 */
export declare class ObcInstrumentField extends LitElement {
    /** The size of the instrument field. */
    size: InstrumentFieldSize;
    /** The setpoint value to display. */
    setpoint: number | undefined;
    /** Whether to show the setpoint. */
    hasSetpoint: boolean;
    /** Whether to show the source (src) field. */
    hasSrc: boolean;
    /** The primary value to display. */
    value: number | undefined;
    /** The maximum number of integer digits to show (for zero padding). */
    maxDigits: number;
    /** Whether to show leading zeros up to `maxDigits`. */
    showZeroPadding: boolean;
    /** The number of decimal places to display. */
    fractionDigits: number;
    /** The tag or label for the data (e.g., "HDG", "SPD"). */
    tag: string;
    /** The unit of measurement (e.g., "DEG", "KN"). */
    unit: string;
    /** The current source name (e.g., "GPS 1"). */
    src: string;
    /** If true, uses a neutral color scheme instead of the default instrument color. */
    neutralColor: boolean;
    /** If true, uses a horizontal layout. */
    horizontal: boolean;
    /** If true, centers the content. */
    center: boolean;
    /** If true, only the label (tag and unit) is displayed. */
    labelOnly: boolean;
    /** If true, displays the "off" state (e.g., showing "OFF" instead of value). */
    off: boolean;
    /** If true, automatically hides the setpoint when the value is close to it. */
    autoHideSetpoint: boolean;
    /** The deadband within which the setpoint is hidden if `autoHideSetpoint` is true. */
    autoHideDeadband: number;
    /**
     * Generates a dashed string representation for undefined values.
     * @returns A string of dashes formatted according to the current numeric settings.
     */
    dashedGenerator(): string;
    render(): import('lit-html').TemplateResult<1>;
    /**
     * Returns the formatted setpoint value as a string.
     * If the setpoint is undefined, it returns a dashed string.
     */
    get setpointValueBlueNumbers(): string;
    /**
     * Returns the formatted primary value as a string.
     * If the value is undefined, it returns a dashed string.
     */
    get valueBlueNumbers(): string;
    /**
     * Generates a string of hint zeros for alignment when `showZeroPadding` is false.
     * These zeros are typically displayed with lower opacity.
     */
    get hintZeros(): string;
    static styles: import('lit').CSSResult;
}
declare global {
    interface HTMLElementTagNameMap {
        'obc-instrument-field': ObcInstrumentField;
    }
}
//# sourceMappingURL=instrument-field.d.ts.map