export type OfficeDocVisionCheckBoundary = "input" | "scope" | "governance" | "permission" | "execution";
export type OfficeDocVisionCheckPermission = "filesystem:read" | "office:read" | "vision:inspect";
export type OfficeDocVisionCheckGate = {
    accepted: boolean;
    reason?: string;
};
export type OfficeDocVisionCheckContext = {
    toolCallId?: string;
    workspaceRoot?: string;
    dryRun?: boolean;
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    allowedDocumentRoots?: readonly string[];
    grantedPermissions?: readonly OfficeDocVisionCheckPermission[];
    governance?: OfficeDocVisionCheckGate;
    auditMetadata?: Readonly<Record<string, unknown>>;
};
export type OfficeDocVisionCheckRequest = {
    documentPath?: string;
    checks?: readonly string[];
    pages?: readonly number[];
    renderProfile?: string;
    context?: OfficeDocVisionCheckContext;
    inspector?: OfficeDocVisionCheckInspector;
};
export type OfficeDocVisionIssue = {
    page?: number;
    check: string;
    severity: "info" | "warning" | "error";
    message: string;
};
export type OfficeDocVisionInspection = {
    issues: readonly OfficeDocVisionIssue[];
    renderedPages: readonly number[];
    summary?: string;
};
export type OfficeDocVisionCheckInspector = (request: {
    documentPath: string;
    checks: readonly string[];
    pages: readonly number[];
    renderProfile: string;
}) => OfficeDocVisionInspection | Promise<OfficeDocVisionInspection>;
export type OfficeDocVisionCheckErrorCode = "MISSING_DOCUMENT_PATH" | "NUL_BYTE_IN_PATH" | "ABSOLUTE_DOCUMENT_PATH" | "DOCUMENT_PATH_OUTSIDE_SCOPE" | "INVALID_PAGE_RANGE" | "MISSING_CHECKS" | "SCOPE_DENIED" | "PERMISSION_DENIED" | "GOVERNANCE_REJECTED" | "INSPECTOR_NOT_INJECTED" | "INSPECTOR_REJECTED";
export type OfficeDocVisionCheckError = {
    code: OfficeDocVisionCheckErrorCode;
    message: string;
    boundary: OfficeDocVisionCheckBoundary;
    publicSafe: true;
};
export type OfficeDocVisionCheckAudit = {
    tool: "office.docVisionCheck";
    toolCallId: string;
    documentPath?: string;
    workspaceRoot?: string;
    dryRun: boolean;
    requestedScopes: readonly string[];
    acceptedScopes: readonly string[];
    permissionsRequired: readonly OfficeDocVisionCheckPermission[];
    unsafeSideEffects: false;
    metadata: Readonly<Record<string, unknown>>;
};
export type OfficeDocVisionCheckPlan = {
    kind: "agentCore.basicTool.office.docVisionCheck.plan";
    operation: "document-vision-check";
    documentPath: string;
    checks: readonly string[];
    pages: readonly number[];
    renderProfile: string;
    dispatch: "dry-run" | "injected-inspector";
    readsFileDirectly: false;
    callsVisionProviderDirectly: false;
};
export type OfficeDocVisionCheckOutput = {
    kind: "agentCore.basicTool.office.docVisionCheck.output";
    issues: readonly OfficeDocVisionIssue[];
    renderedPages: readonly number[];
    summary?: string;
    unsafeSideEffects: false;
};
export type OfficeDocVisionCheckResult = {
    ok: true;
    plan: OfficeDocVisionCheckPlan;
    audit: OfficeDocVisionCheckAudit;
    output?: OfficeDocVisionCheckOutput;
    events: readonly string[];
} | {
    ok: false;
    error: OfficeDocVisionCheckError;
    audit: OfficeDocVisionCheckAudit;
    events: readonly string[];
};
export declare const officeDocVisionCheckDescriptor: {
    readonly tool: "office.docVisionCheck";
    readonly route: "toolabilityPool.officeBase.documentations";
    readonly purpose: "plan a governed visual inspection of an office document through an injected inspector envelope";
    readonly permissionsRequired: readonly ["filesystem:read", "office:read", "vision:inspect"];
    readonly defaultDispatch: "dry-run";
    readonly unsafeSideEffects: false;
    readonly tapOwnsApproval: true;
};
export declare function planOfficeDocVisionCheck(request?: OfficeDocVisionCheckRequest): Promise<OfficeDocVisionCheckResult>;
