import type { Session, SessionOpts, TurnOpts, TurnResult } from '../types/run-result.js'; import type { Effort } from '../types/task-spec.js'; export declare class ClaudeSession implements Session { private readonly args; private closed; private turns; /** Tool calls the confinement hook refused since the last turn was normalized. */ private sandboxDenials; private sessionId?; private skillPluginReady; private readonly bus; /** Active SDK query handle for the in-flight turn. Captured so close() can * force-shut the query (releases the underlying SDK worker / network * resources). Undefined between turns. */ private activeQuery?; constructor(args: { model: string; opts: SessionOpts; apiKey?: string; baseUrl?: string; oauthAccessToken?: string; /** Resolved reasoning level (default applied, capability-gated by * providers/effort.ts). Absent → send no effort option at all. */ effort?: Effort; }); /** Returns task identity (taskId/taskIndex) from SessionOpts for event tagging. * Required so the stall watchdog can filter the shared bus by task. */ private taskTag; send(instruction: string, _opts?: TurnOpts): Promise; /** * Translate a single SDKMessage from claude-agent-sdk into mma * verbose-log events. Defensive against shape drift in the SDK — * unknown variants are ignored. Only emits when there's something a * human operator would want to see in real time. */ private emitEventTelemetry; close(): Promise; getSessionId(): string | null; /** ClaudeSession runs entirely in-process via the SDK; there's no separate * CLI subprocess to expose a pid for. Returning undefined tells the * shutdown drain there is nothing to SIGKILL externally — close() handles * it via the SDK query handle. */ getPid(): number | undefined; } //# sourceMappingURL=claude-session.d.ts.map