import { Color, Position } from '../Core';
import { POI } from './POI';

/**
 * The logical representation of a label.
 * Mostly used to display a name on a surface or on a street.
 */
export interface Label {
    /**
     * POI owning current label.
     */
    readonly poi: POI;
    /**
     * Position in WGS84 coordinates.
     * @see {@link Position}
     */
    readonly position: Position;
    /**
     * Width of the label in meters.
     */
    readonly width: number;
    /**
     * Height of the label in meters.
     */
    readonly height: number;
    /**
     * If set to false, current Label won't be rendered.
     * @defaultValue 'true'.
     */
    readonly isVisible: boolean;
    /**
     * Text that'll be displayed in current label.
     */
    readonly text: string;
    /**
     * Rotation, in degrees, of the label.
     * Note that angle is related to map's orientation.
     */
    readonly rotation: number;
    /**
     * Font color of the text.
     */
    readonly color: Color;
}
