import { CoordinateBox, DocumentElement, PositionDefinition, SizeDefinition } from '../types'; import { ContainerKind } from './container-kind'; export interface DocumentContainer { id: string; kind: ContainerKind; documentElement: DocumentElement; box: CoordinateBox; drawOrder: number; } export interface MeasuredDocumentElement { documentElement: DocumentElement; box: CoordinateBox | null; drawOrder: number; } export declare class DocumentContainerUtil { static toCoordinateBox(x: number, y: number, width: number, height: number): CoordinateBox; static centerOf(box: CoordinateBox): PositionDefinition; static anchorOf(documentElement: DocumentElement, box: CoordinateBox): PositionDefinition; static positionKeepingAnchor(documentElement: DocumentElement, newSize: SizeDefinition): PositionDefinition; static resizeKeepingAnchor(dynamicTextElement: DocumentElement, entityType: any, text: string): { size: SizeDefinition; position: PositionDefinition; }; static anchorFor(documentElement: DocumentElement, position?: PositionDefinition, startElement?: DocumentElement, endElement?: DocumentElement): PositionDefinition; static containsPoint(box: CoordinateBox, point: PositionDefinition): boolean; static encloses(outer: CoordinateBox, inner: CoordinateBox): boolean; static chain(candidates: DocumentContainer[]): DocumentContainer[]; static measureBox(documentElement: DocumentElement, documentElementsById: Map): CoordinateBox | null; static pathFor(measured: MeasuredDocumentElement, kind: ContainerKind, containers: DocumentContainer[]): DocumentContainer[]; static enclosersOf(measured: MeasuredDocumentElement, containers: DocumentContainer[]): DocumentContainer[]; static candidatesFor(measured: MeasuredDocumentElement, containers: DocumentContainer[]): DocumentContainer[]; static topmost(containers: DocumentContainer[]): DocumentContainer[]; }