import type Map from '../map';
import type { ControlPosition, IControl } from './control';
declare type Unit = 'imperial' | 'metric' | 'nautical';
declare type Options = {
    maxWidth?: number;
    unit?: Unit;
};
/**
 * A `ScaleControl` control displays the ratio of a distance on the map to the corresponding distance on the ground.
 *
 * @implements {IControl}
 * @param {Object} [options]
 * @param {number} [options.maxWidth='100'] The maximum length of the scale control in pixels.
 * @param {string} [options.unit='metric'] Unit of the distance (`'imperial'`, `'metric'` or `'nautical'`).
 * @example
 * var scale = new maplibregl.ScaleControl({
 *     maxWidth: 80,
 *     unit: 'imperial'
 * });
 * map.addControl(scale);
 *
 * scale.setUnit('metric');
 */
declare class ScaleControl implements IControl {
    _map: Map;
    _container: HTMLElement;
    options: Options;
    constructor(options: Options);
    getDefaultPosition(): ControlPosition;
    _onMove(): void;
    onAdd(map: Map): HTMLElement;
    onRemove(): void;
    /**
     * Set the scale's unit of the distance
     *
     * @param unit Unit of the distance (`'imperial'`, `'metric'` or `'nautical'`).
     */
    setUnit(unit: Unit): void;
}
export default ScaleControl;
//# sourceMappingURL=scale_control.d.ts.map