import type { OfficeBuilding } from './OfficeBuilding';
import type { Point } from './Point';
import { Seat } from './Seat';
export type LineType = {
    type: 'inner' | 'line';
    coord: [number, number][];
};
export declare class OfficeFloor {
    building: OfficeBuilding;
    label: string;
    lines: LineType[];
    seats: Seat[];
    id: number;
    nextId: number;
    width: number;
    height: number;
    exits: [number, Point, OfficeFloor, Point][];
    constructor(building: OfficeBuilding, label: string, startId: number, width?: number, height?: number);
    equals(floor: OfficeFloor): boolean;
    addExit(fromId: number, from: Point, toFloor: OfficeFloor, to: Point): OfficeFloor;
    getExitsTo(floor: OfficeFloor): [number, Point, OfficeFloor, Point][];
    getLabel(includeBuilding?: boolean): string;
    getId(): number;
    addLine(line: LineType): this;
    addBox(x1: number, y1: number, x2: number, y2: number): this;
    getSeat(id: number): Seat | null;
    addSeats(c1: [number, number], c2: [number, number]): this;
}
