export declare const INSPECT_PDF_NAME = "inspect_pdf"; declare const CHECK_VALUES: readonly ["pdfa", "signed", "encrypted", "placeholder", "attachments"]; type CheckValue = (typeof CHECK_VALUES)[number]; export declare const INSPECT_PDF_INPUT_SCHEMA: { readonly type: "object"; readonly additionalProperties: false; readonly properties: { readonly pdfBase64: { readonly type: "string"; readonly minLength: 4; readonly description: "Base64-encoded PDF bytes to inspect."; }; readonly pages: { readonly type: "boolean"; readonly default: false; readonly description: "When true, include per-page metadata in the response."; }; readonly check: { readonly type: "array"; readonly description: "Optional CI assertions. The result.checksPassed flag is true only when every requested check holds (e.g. ['pdfa','signed'])."; readonly maxItems: 8; readonly items: { readonly type: "string"; readonly enum: readonly ["pdfa", "signed", "encrypted", "placeholder", "attachments"]; }; }; }; readonly required: readonly ["pdfBase64"]; }; export declare const INSPECT_PDF_OUTPUT_SCHEMA: { readonly type: "object"; readonly additionalProperties: false; readonly required: readonly ["version", "pageCount", "encryption", "signatureCount", "hasSignaturePlaceholder", "attachments"]; readonly properties: { readonly version: { readonly type: "string"; readonly description: "PDF version (e.g. \"1.7\")."; }; readonly pageCount: { readonly type: "integer"; readonly minimum: 0; }; readonly encryption: { readonly type: "string"; readonly enum: readonly ["none", "aes-128", "aes-256", "rc4", "unknown"]; }; readonly pdfA: { readonly type: readonly ["string", "null"]; readonly description: "Detected PDF/A claim (e.g. '1B', '2B', '2U', '3B') from XMP metadata, or null when absent."; }; readonly signatureCount: { readonly type: "integer"; readonly minimum: 0; }; readonly hasSignaturePlaceholder: { readonly type: "boolean"; readonly description: "True when at least one signature widget exists with empty /Contents — i.e. an unsigned placeholder awaiting `sign_pdf`."; }; readonly attachments: { readonly type: "array"; readonly description: "Embedded files exposed via /Names → /EmbeddedFiles (PDF/A-3, Factur-X)."; readonly items: { readonly type: "object"; readonly additionalProperties: false; readonly required: readonly ["name"]; readonly properties: { readonly name: { readonly type: "string"; }; readonly sizeBytes: { readonly type: "integer"; readonly minimum: 0; }; readonly mimeType: { readonly type: "string"; }; readonly relationship: { readonly type: "string"; }; readonly description: { readonly type: "string"; }; }; }; }; readonly info: { readonly type: "object"; readonly additionalProperties: { readonly type: "string"; }; readonly description: "Document /Info dictionary entries decoded as strings."; }; readonly perPage: { readonly type: "array"; readonly items: { readonly type: "object"; readonly required: readonly ["index", "width", "height"]; readonly properties: { readonly index: { readonly type: "integer"; }; readonly width: { readonly type: "number"; }; readonly height: { readonly type: "number"; }; }; }; }; readonly checks: { readonly type: "object"; readonly additionalProperties: { readonly type: "boolean"; }; }; readonly checksPassed: { readonly type: "boolean"; }; }; }; export interface AttachmentSummary { readonly name: string; readonly sizeBytes?: number; readonly mimeType?: string; readonly relationship?: string; readonly description?: string; } export interface InspectPdfResult { readonly version: string; readonly pageCount: number; readonly encryption: 'none' | 'aes-128' | 'aes-256' | 'rc4' | 'unknown'; readonly pdfA: string | null; readonly signatureCount: number; readonly hasSignaturePlaceholder: boolean; readonly attachments: readonly AttachmentSummary[]; readonly info: Readonly>; readonly perPage?: ReadonlyArray<{ readonly index: number; readonly width: number; readonly height: number; }>; readonly checks?: Readonly>; readonly checksPassed?: boolean; } /** * Classify an /Encrypt dictionary's /V and /Length keys into a high-level scheme name. * * Exported as a pure helper so unit tests can exercise every branch without * having to round-trip an actually-encrypted PDF (pdfnative does not currently * expose an encryption-writer API). Real-PDF coverage will be lifted further * in pdfnative-mcp v1.1 when fixture keys are available. */ export declare function classifyEncryption(v: unknown, length: unknown): InspectPdfResult['encryption']; export declare function inspectPdf(rawInput: unknown): Promise; export {}; //# sourceMappingURL=inspect-pdf.d.ts.map