export interface PortablePdfTextRange { start: number; end: number; } export interface PortablePdfBoundingBox { x: number; y: number; width: number; height: number; } export interface PortablePdfPageGeometry { pageNumber: number; width: number; height: number; unit: "points" | "pixels" | "normalized"; rotation?: 0 | 90 | 180 | 270; } export interface PortablePdfTextElement { kind: "heading" | "paragraph" | "list" | "table" | "table-cell" | "figure" | "other"; providerType?: string; pageNumber: number; range: PortablePdfTextRange; bounds?: PortablePdfBoundingBox; } export interface PortablePdfTableCell { rowIndex: number; columnIndex: number; rowSpan?: number; columnSpan?: number; range: PortablePdfTextRange; bounds?: PortablePdfBoundingBox; } export interface PortablePdfTable { pageNumber: number; bounds?: PortablePdfBoundingBox; cells: PortablePdfTableCell[]; } export interface PortablePdfLayout { pages?: PortablePdfPageGeometry[]; elements: PortablePdfTextElement[]; tables?: PortablePdfTable[]; } export interface PortablePdfRegionContext { pages: number[]; elements: PortablePdfTextElement[]; tableCells: Array<{ pageNumber: number; tableIndex: number; cell: PortablePdfTableCell; }>; } export declare function validatePortablePdfLayout(value: unknown, textLength: number): PortablePdfLayout; export declare function resolvePortablePdfRegion(layout: PortablePdfLayout, locator: string): PortablePdfRegionContext | undefined;