import { Observable } from 'rxjs';
import { Coords } from '../interfaces/coords.interface';
import { SerializedLabelModel } from '../interfaces/serialization.interface';
import { BaseModel } from './base.model';
import { LinkModel } from './link.model';
export declare class LabelModel extends BaseModel<LinkModel> {
    protected coords$: import("../state/state").ValueState<Coords>;
    protected rotation$: import("../state/state").ValueState<number>;
    constructor(type?: string, id?: string, logPrefix?: string);
    serialize(): SerializedLabelModel;
    getRotation(): number;
    getCoords(): Coords;
    destroy(): void;
    setRotation(angle: number): void;
    selectRotation(): Observable<number>;
    setCoords(newCoords: Partial<Coords>): void;
    selectCoords(): Observable<Coords>;
}
