import type { AdvisoryContext } from '../../../../advisory/context.js';
import type { AgentBus } from '../../../../bus/index.js';
import type { WorkingStateManager } from '../../../../compaction/manager.js';
import type { CompactionConfig } from '../../../../config/runtime.js';
import type { PlanManager } from '../../../../manager/plan/lifecycle.js';
import type { RunPersistence } from '../../../../manager/run/persistence.js';
import type { ActivityStore } from '../../../../store/activity/memory.js';
import type { TaskGateway, TaskHandle } from '../../../../types/agent/gateway.js';
import type { HITLResumeDecision, ResumeHandler } from '../../../../types/hitl/index.js';
import type { TaskId } from '../../../../types/ids/index.js';
import type { LLMProvider } from '../../../../types/provider/index.js';
import type { AgentRunConfig, RunEvent } from '../../../../types/run/index.js';
import type { TaskStore } from '../../../../types/task/index.js';
import type { ToolRegistryContract } from '../../../../types/tool/index.js';
import type { Logger } from '../../../../utils/logger.js';
import type { CheckpointManager } from '../../checkpoint.js';
import type { EmitEvent } from '../../events.js';
import type { ToolExecutor } from '../../executor.js';
import type { GuardCoordinator } from '../../guard.js';
export interface LaunchedTaskMeta {
    readonly agentId: string;
    readonly description: string;
    readonly planTaskId?: string;
}
export interface IterationContext {
    readonly provider: LLMProvider;
    readonly runConfig: AgentRunConfig;
    readonly tools: ToolRegistryContract;
    readonly allowedTools?: string[];
    readonly runMgr: RunPersistence;
    readonly toolExecutor: ToolExecutor;
    readonly guard: GuardCoordinator;
    readonly activityStore: ActivityStore;
    readonly emitEvent: EmitEvent;
    readonly drainPending: () => Generator<RunEvent>;
    readonly abortController: AbortController;
    readonly log: Logger;
    readonly resumeHandler: ResumeHandler;
    readonly checkpointMgr: CheckpointManager;
    readonly planManager: PlanManager;
    readonly taskGateway?: TaskGateway;
    readonly taskStore?: TaskStore;
    readonly pendingNotifications: TaskHandle[];
    readonly launchedTasks: Map<TaskId, LaunchedTaskMeta>;
    readonly compactionConfig?: CompactionConfig;
    readonly workingStateManager?: WorkingStateManager;
    readonly advisoryCtx?: AdvisoryContext;
    readonly agentBus?: AgentBus;
    readonly verificationGate?: import('../../../../verification/gate.js').VerificationGate;
    readonly pluginManager?: import('../../../../plugin/lifecycle.js').PluginLifecycleManager;
}
export type PhaseSignal = 'continue' | 'stop';
export declare function handleHITLDecision(ctx: IterationContext, decision: HITLResumeDecision, checkpointId: string, context: string): AsyncGenerator<RunEvent, PhaseSignal>;
//# sourceMappingURL=context.d.ts.map