///
///
import type { BoundingBox, ImageData, PDFPageProxy, RenderOptions, RenderParameters, ViewportParameters } from '../types/pdf.types.js';
import { PdfDocument } from './PdfDocument.js';
import { PdfOperatorFilter } from './PdfOperator.js';
import { PdfOperatorList } from './PdfOperatorList.js';
import { PdfOperatorSelectionFn } from './PdfOperatorSelection.js';
export type PdfRenderOptions = RenderOptions;
export type { BoundingBox } from '../types/pdf.types.js';
export declare class PdfPage {
document: PdfDocument;
private proxy;
operatorList: PdfOperatorList;
viewport: any;
constructor(document: PdfDocument, proxy: PDFPageProxy, operatorList: PdfOperatorList, scale: number);
/**
* Release pdf.js worker-side state for this page. The proxy remains valid
* and can be re-fetched on next access; this just drops cached operator
* lists, glyph data, and similar per-page allocations on the worker thread.
* Also nulls the local operator list reference so V8 can collect it.
*
* Safe to call repeatedly. Errors are swallowed because cleanup should
* never block a calling flow.
*/
cleanup(): Promise;
/**
* Public method to get annotations for this page (calls PDF.js proxy).
*/
getAnnotations(): Promise;
getViewport(params: ViewportParameters): import("../types/pdf.types.js").PageViewport;
render(params: RenderParameters): Promise;
selectAll(filter?: string | string[] | PdfOperatorFilter, fn?: PdfOperatorSelectionFn): import("./PdfOperatorSelection.js").PdfOperatorSelection[];
extractAll(filter?: string | string[] | PdfOperatorFilter, fn?: PdfOperatorSelectionFn): T[];
extractImages(): Promise;
/**
* Safely get object from PDF with validation
*/
getObject(objectId: string): any;
hasObject(objectId: string): boolean;
/**
* Safely get common object from PDF with validation
*/
getCommonObject(objectId: string): any;
hasCommonObject(objectId: string): boolean;
transformToBoundingBox(transform: number[]): BoundingBox;
imageToBlob({ objectId, width, height }: {
objectId: string;
width: number;
height: number;
}): Promise;
renderBlob(options?: RenderOptions): Promise;
extractText(): Promise;
getTextContent(): Promise;
get title(): string;
get pageNumber(): number;
get pageIndex(): number;
get width(): any;
get height(): any;
get fingerprint(): string;
get view(): BoundingBox;
get rawProxy(): PDFPageProxy;
}
//# sourceMappingURL=PdfPage.d.ts.map