export type PdfEditBoundary = "input" | "contract" | "governance" | "scope" | "resource";
export type PdfEditPermission = "filesystem:readwrite";
export type PdfEditOperationKind = "annotate" | "merge" | "split" | "rotate" | "redact" | "metadata";
export type PdfEditGate = {
    accepted: boolean;
    reason?: string;
};
export type PdfEditOperation = {
    kind: PdfEditOperationKind;
    targetPage?: number;
    summary: string;
    parameters?: Readonly<Record<string, unknown>>;
};
export type PdfEditTarget = {
    sourcePath: string;
    outputPath: string;
    operations: readonly PdfEditOperation[];
    allowOverwrite?: boolean;
};
export type PdfEditContext = {
    runtimeId?: string;
    invocationId?: string;
    workspaceRoot?: string;
    dryRun?: boolean;
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    contract?: PdfEditGate;
    governance?: PdfEditGate;
    auditMetadata?: Readonly<Record<string, unknown>>;
};
export type PdfEditRequest = {
    target?: Partial<Omit<PdfEditTarget, "operations">> & {
        operations?: readonly Partial<PdfEditOperation>[];
    };
    context?: PdfEditContext;
};
export type PdfEditEnvelope = {
    outputPath: string;
    operationsApplied: 0;
    artifactAvailable: false;
};
export type PdfEditErrorCode = "MISSING_WORKSPACE_ROOT" | "MISSING_SOURCE_PATH" | "MISSING_OUTPUT_PATH" | "SOURCE_OUT_OF_SCOPE" | "OUTPUT_OUT_OF_SCOPE" | "MISSING_EDIT_OPERATIONS" | "INVALID_EDIT_OPERATION" | "INVALID_TARGET_PAGE" | "OVERWRITE_NOT_APPROVED" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SCOPE_DENIED" | "REAL_EXECUTION_BLOCKED";
export type PdfEditError = {
    code: PdfEditErrorCode;
    message: string;
    boundary: PdfEditBoundary;
    safeForRuntimeInspection: true;
    internalDetailExposed: false;
};
export type PdfEditAuditEvent = {
    type: string;
    toolId: "office.pdfEdit";
    invocationId: string;
    dryRun: true;
    sourcePath?: string;
    outputPath?: string;
    metadata: Readonly<Record<string, unknown>>;
};
export type PdfEditPlan = {
    kind: "agentCore.basicTool.office.pdfEdit";
    toolId: "office.pdfEdit";
    capability: "edit-pdf";
    workspaceRoot: string;
    target: PdfEditTarget;
    operationPreview: readonly string[];
    dryRun: true;
    executionBlocked: true;
    requiredPermissions: readonly PdfEditPermission[];
    requiresTapApproval: true;
    unsafeSideEffects: false;
    acceptedScopes: readonly string[];
    resultEnvelope: PdfEditEnvelope;
};
export type PdfEditResult = {
    ok: true;
    toolId: "office.pdfEdit";
    plan: PdfEditPlan;
    audit: readonly PdfEditAuditEvent[];
    events: readonly string[];
} | {
    ok: false;
    toolId: "office.pdfEdit";
    error: PdfEditError;
    audit: readonly PdfEditAuditEvent[];
    events: readonly string[];
};
export declare const pdfEditDescriptor: {
    readonly toolId: "office.pdfEdit";
    readonly capability: "edit-pdf";
    readonly route: "toolabilityPool.officeBase.Portable_Document_Format";
    readonly defaultDryRun: true;
    readonly tapOwnsApproval: true;
    readonly permissionsRequired: readonly ["filesystem:readwrite"];
    readonly unsafeSideEffects: false;
};
export declare function planPdfEdit(request?: PdfEditRequest): PdfEditResult;
