import * as go from '../../../release/go'; export declare class Floorplan extends go.Diagram { private _palettes; private _pointNodes; private _dimensionLinks; private _angleNodes; constructor(div: HTMLDivElement | string); palettes: Array; pointNodes: go.Set; dimensionLinks: go.Set; angleNodes: go.Set; convertPixelsToUnits(num: number): number; convertUnitsToPixels(num: number): number; protected getUnitsAbbreviation(units: string): string; convertUnits(oldUnits: string, newUnits: string, num: number): number; makeDefaultFurniturePaletteNodeData(): Array; makeDefaultWallpartsPaletteNodeData(): Array; enableWallBuilding(): void; enableDividerBuilding(): void; disableWallBuilding(): void; checkboxChanged(checkboxId: string): void; changeUnits(form: HTMLFormElement): void; changeUnitsConversionFactor(unitsConversionFactorInput: HTMLInputElement, gridSizeInput?: HTMLInputElement): void; changeGridSize(gridSizeInput: HTMLInputElement): void; private getCounterClockwiseWallSide; getLinesIntersection(a1: go.Point, a2: go.Point, b1: go.Point, b2: go.Point): go.Point | null; updateAllRoomBoundaries(changedWalls: go.Set): void; maybeAddRoomNode(pt: go.Point, floorImage: string, roomToUpdate?: go.Node | null): boolean; getRoomWalls(pt: go.Point): Array | null; makePolygonFromRoomBoundaries(path: Array): go.List | null; sortWallsClockwise(a: go.Group, b: go.Group): number; sortWallsClockwiseWithSetStartWall(walls: go.List, wall: go.Group): go.List; addInternalWallsToRoom(roomOuterBoundaryPts: go.List, roomOuterBoundaryPath: Array): Array; getClockwiseWallEndpoint(w: go.Group, side: number): go.Point | null; findRoomHoles(roomBoundaryWalls: Array, pt: go.Point): Array>; getPathPts(path: Array): go.List; getPolygonArea(vs: Array): number; getRoomArea(r: go.Node): number; isPointInWall(w: go.Group, p: go.Point): boolean; isPointInRoom(r: go.Node, p: go.Point): boolean; isPointInPolygon(vs: Array, point: go.Point): boolean; updateWall(wall: go.Group): void; updateRoom(room: go.Node): void; private getAdjustedPoint; buildDimensionLink(wall: go.Group, index: number, point1: go.Point, point2: go.Point, angle: number, wallOffset: number, soloWallFlag: boolean, floorplan: Floorplan, miteringSide: number, opacity?: number, stroke?: string, strokeWidth?: number): void; updateWallDimensions(wallsToDisplayFor?: go.Set): void; rotateAndTranslatePoint(pt: go.Point, angle: number, distance: number): go.Point; getWallsIntersection(w1: go.Group, w2: go.Group): go.Point | null; getSegmentsIntersection(p1: go.Point, p2: go.Point, p3: go.Point, p4: go.Point): go.Point | null; updateWallAngles(): void; findClosestLocOnWall(wall: go.Group, part: go.Part): go.Point | null; }