import { Observable } from 'rxjs';
import { Coords } from '../interfaces/coords.interface';
import { SerializedPointModel } from '../interfaces/serialization.interface';
import { ValueState } from '../state/state';
import { BaseModel } from './base.model';
import { LinkModel } from './link.model';
export declare class PointModel extends BaseModel<LinkModel> {
    protected coords$: ValueState<Coords>;
    constructor(link: LinkModel, coords: Coords, id?: string, logPrefix?: string);
    serialize(): SerializedPointModel;
    isConnectedToPort(): boolean;
    getLink(): LinkModel;
    destroy(): void;
    setCoords(newCoords: Partial<Coords>): void;
    selectCoords(): Observable<Coords>;
    getCoords(): Coords;
    selectX(): Observable<number>;
    selectY(): Observable<number>;
}
