/// <reference types="@arcgis/core/interfaces.d.ts" />
/// <reference types="../../index.d.ts" />
import { JsxNode, PublicLitElement as LitElement, TargetedEvent } from '@arcgis/lumina';

type SystemOrLengthUnit = __esri.LengthUnit | __esri.MeasurementSystem;
type SystemOrAreaUnit = __esri.AreaUnit | __esri.MeasurementSystem;
type UnitUnion = SystemOrAreaUnit | SystemOrLengthUnit;
/**
 * Component which displays a select component with a list of units or systems of units.
 * Used by all the measurement components.
 *
 * @private
 */
export declare class ArcgisUnitSelect<Unit extends UnitUnion = UnitUnion> extends LitElement {
    options: Unit[];
    selectLabel: string;
    value: Unit;
    /**
     * Replace localized message strings with your own strings.
     *
     * _**Note**: Individual message keys may change between releases._
     */
    messageOverrides?: typeof this.messages._overrides;
    label?: string;
    /** Permanently destroy the component. */
    destroy(): Promise<void>;
    readonly arcgisUnitSelectChange: TargetedEvent<this, Unit>;
    private messages;
}
export {};
