export type QdfObject = { id: string; number: number; body: string; bodyStart: number; start: number; end: number; }; export type ContentStreamToken = { type: string; value: string; raw?: string; start: number; end: number; }; export type ContentStreamOperator = { operator: string; operands: ContentStreamToken[]; start: number; operandStart: number; operatorStart: number; operatorEnd: number; end: number; }; export type QdfReplacement = { start: number; end: number; text: string; }; export type QdfPatchPlan = { ok?: boolean; replacements: QdfReplacement[]; reason?: string; source?: unknown; }; export type RunQpdfBytesOptions = { inputs: Record; args: string[]; outputName: string; workerUrl: string; qpdfJsUrl: string; wasmUrl: string; timeoutMs?: number; }; export function parsePdfObjects(qdf: string): Map; export function parseContentStreamOperators(streamText: string): ContentStreamOperator[]; export function inspectQdfPageSourceProgram(qdf: string, options?: { pageNum?: number; page?: number }): any; export function planQdfTextReplacement(qdf: string, options?: { pageNum?: number; page?: number; findText?: string; originalText?: string; replacementText?: string }): QdfPatchPlan; export function applyQdfPatch(qdf: string, patch: QdfPatchPlan | QdfReplacement[]): string; export function repairQdfStreamLengths(qdf: string): string; export function repairQdfXref(qdf: string): string; export function runQpdfBytes(options: RunQpdfBytesOptions): Promise;