/**
 * StubSupervisorAgentExecutor — deterministic supervisor evaluator used in
 * tests and as the GREEN-path implementation behind {@link InMemorySupervisorAgent}.
 *
 * Rather than calling an LLM, the stub looks up a canned verdict keyed by
 * the input event kind. This keeps every test that exercises supervisor
 * logic free of LLM cost, network dependency, and flakiness while still
 * verifying the surrounding plumbing (persistence, activity-log mirroring,
 * autonomy ladder, conflict resolution).
 *
 * The stub is intentionally *not* registered in the production DI container.
 * It is consumed directly by tests and by the InMemory adapter.
 */
import { SupervisorVerdict } from '../../../../domain/generated/output.js';
import type { ISupervisorAgent, SupervisorDecisionResult, SupervisorEvaluateInput, SupervisorEventKind } from '../../../../application/ports/output/agents/supervisor-agent.interface.js';
/** Canned verdict + rationale keyed by event kind. */
export interface StubSupervisorVerdictTemplate {
    verdict: SupervisorVerdict;
    rationale: string;
    ruleRef?: string;
    confidence?: number;
}
export interface StubSupervisorAgentExecutorOptions {
    /** Per-event-kind canned verdicts. Falls back to the default below. */
    verdicts?: Partial<Record<SupervisorEventKind, StubSupervisorVerdictTemplate>>;
    /** Snapshot stored on every produced decision (audit reproducibility). */
    modelId?: string;
    promptVersion?: string;
}
/**
 * Deterministic stub. Implements {@link ISupervisorAgent} so it can be
 * dropped into any caller that depends on the port.
 */
export declare class StubSupervisorAgentExecutor implements ISupervisorAgent {
    private readonly verdicts;
    private readonly modelId;
    private readonly promptVersion;
    constructor(options?: StubSupervisorAgentExecutorOptions);
    evaluate(input: SupervisorEvaluateInput): Promise<SupervisorDecisionResult>;
}
//# sourceMappingURL=stub-supervisor-executor.d.ts.map