import type { ToolCall } from "../../../types.js"; import type { BackgroundJob } from "../../../tools/jobs.js"; import type { EngagementScope } from "../../../store/scope.js"; import type { EngagementActionRecord, EngagementGraph } from "../../../store/engagement.js"; import type { EngagementAction } from "../../../safety/engagement-policy.js"; export interface EphemeralJob { readonly id: string; readonly job: BackgroundJob; } export declare const createEphemeralToolJob: (call: ToolCall, cwd: string, ownerSessionId: string) => EphemeralJob; export interface EngagementRunOptions { readonly engagementAuthorization?: { readonly target: string; readonly expiresAt?: string | undefined; }; readonly authorizeNetworkHop?: (url: string, resolvedAddresses: string[]) => Promise<{ allowed: boolean; reason: string; }>; } export interface EngagementRunInput { readonly action: EngagementAction | undefined; readonly scope: EngagementScope | undefined; readonly normalizedTarget: string | undefined; readonly graph: EngagementGraph | undefined; readonly record: EngagementActionRecord | undefined; readonly audit: (event: string, payload: Readonly>) => Promise; } export declare const buildEngagementRunOptions: (input: EngagementRunInput) => EngagementRunOptions;