import { Pixel } from './Pixel';
import { Size } from './Size';
import { Icon } from '.';
import { ProxyMap } from '../types';
/** 位置 */
export type LabelPlacement = 'top' | 'bottom' | 'left' | 'right' | 'left-top' | 'left-bottom' | 'right-top' | 'right-bottom' | 'center';
type Placement = LabelPlacement;
/** 文本标签。 */
export declare class Label {
    protected _top: ProxyMap;
    /** 可以显示label */
    protected _canShow: boolean;
    /** 最小显示的缩放级别 */
    protected _minShowZoom?: number;
    /** 文本内容 */
    private _text;
    /** 文字颜色 */
    private _color?;
    /** 背景颜色 */
    private _backgroundColor?;
    /** 文字尺寸 */
    private _fontSize?;
    /** 是否显示 */
    private _visible?;
    /** 边框大小 */
    private _border_size?;
    /** 边框颜色 */
    private _border_color?;
    /** 地图显示的基础方位 */
    private _basePlacement;
    /** 显示方位 */
    private _placement;
    /** 绑定的图标 */
    private _icon;
    constructor(_top: ProxyMap, options: {
        canShow: boolean;
        minShowZoom?: number;
        text: string;
        color?: string;
        backgroundColor?: string;
        fontSize?: number;
        visible?: boolean;
        borderSize?: number;
        borderColor?: string;
        basePlacement: Placement;
        placement?: Placement;
        icon?: Icon;
    });
    get canShow(): boolean;
    get minShowZoom(): number | undefined;
    get text(): string;
    get color(): string | undefined;
    get backgroundColor(): string | undefined;
    get fontSize(): number | undefined;
    get borderSize(): number | undefined;
    get borderColor(): string | undefined;
    get visible(): boolean | undefined;
    get placement(): LabelPlacement;
    setText(text: string): void;
    setVisible(visible: boolean): void;
    getFont(): {
        fontFamily: string;
        fontSize: number;
        font: string;
    };
    getSize(): Size;
    getRealOffset(options?: {
        padding?: [number, number, number, number];
    }): Pixel;
    listenAndUpdateVisible({ showLabel, hiddenLabel }: {
        showLabel?: () => void;
        hiddenLabel?: () => void;
    }): void;
}
export {};
