export type PdfVisionCheckPermission = "filesystem:read" | "office:pdf:read" | "office:pdf:render";
export type PdfVisionCheckBoundary = "input" | "scope" | "permission" | "contract";
export type PdfVisionCheckContext = {
    runtimeId?: string;
    invocationId?: string;
    dryRun?: boolean;
    allowedDocumentRoots?: readonly string[];
    grantedPermissions?: readonly PdfVisionCheckPermission[];
    auditMetadata?: Readonly<Record<string, unknown>>;
};
export type PdfVisionCheckPageSelection = {
    pages: readonly number[];
};
export type PdfVisionCheckTarget = {
    pdfPath: string;
    checks: readonly string[];
    pageSelection?: PdfVisionCheckPageSelection;
    renderDpi?: number;
    includeThumbnails?: boolean;
};
export type PdfVisionCheckRequest = {
    target?: Partial<PdfVisionCheckTarget>;
    context?: PdfVisionCheckContext;
};
export type PdfVisionCheckErrorCode = "MISSING_PDF_PATH" | "INVALID_PDF_PATH" | "MISSING_CHECKS" | "INVALID_PAGE_SELECTION" | "INVALID_RENDER_DPI" | "SCOPE_REJECTED" | "PERMISSION_DENIED" | "REAL_EXECUTION_BLOCKED";
export type PdfVisionCheckError = {
    code: PdfVisionCheckErrorCode;
    message: string;
    boundary: PdfVisionCheckBoundary;
    publicSafe: true;
};
export type PdfVisionCheckAuditEvent = {
    type: string;
    toolId: "office.pdfVisionCheck";
    invocationId: string;
    dryRun: boolean;
    pdfPath?: string;
    metadata: Readonly<Record<string, unknown>>;
};
export type PdfVisionObservationEnvelope = {
    pageNumber: number;
    check: string;
    status: "not-run" | "pass" | "warn" | "fail";
    note?: string;
};
export type PdfVisionCheckOutput = {
    kind: "agentCore.basicTool.office.pdfVisionCheck";
    target: PdfVisionCheckTarget;
    renderPlan: {
        pages: readonly number[] | "all";
        dpi: number;
        includeThumbnails: boolean;
    };
    dryRun: true;
    executionBlocked: true;
    permissionsRequired: readonly PdfVisionCheckPermission[];
    providerCallRequired: false;
    unsafeSideEffects: false;
    resultEnvelope: {
        observations: readonly PdfVisionObservationEnvelope[];
        summary: "not-run";
    };
};
export type PdfVisionCheckResult = {
    ok: true;
    toolId: "office.pdfVisionCheck";
    output: PdfVisionCheckOutput;
    audit: readonly PdfVisionCheckAuditEvent[];
    events: readonly string[];
} | {
    ok: false;
    toolId: "office.pdfVisionCheck";
    error: PdfVisionCheckError;
    audit: readonly PdfVisionCheckAuditEvent[];
    events: readonly string[];
};
export declare const pdfVisionCheckDescriptor: {
    readonly toolId: "office.pdfVisionCheck";
    readonly capability: "check-pdf-visual-surface";
    readonly route: "toolabilityPool.officeBase.Portable_Document_Format";
    readonly defaultDryRun: true;
    readonly tapOwnsApproval: true;
    readonly permissionsRequired: readonly ["filesystem:read", "office:pdf:read", "office:pdf:render"];
};
export declare function planPdfVisionCheck(request?: PdfVisionCheckRequest): PdfVisionCheckResult;
