import type { AdvisoryContext } from '../../../advisory/context.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 { ResumeHandler } from '../../../types/hitl/index.js';
import type { LLMProvider } from '../../../types/provider/index.js';
import type { AgentRunConfig, RunEvent } from '../../../types/run/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 type { IterationContext } from './phases/index.js';
export type { PhaseSignal } from './phases/index.js';
export type { ToolReviewOutcome } from './phases/index.js';
export interface IterationConfig {
    provider: LLMProvider;
    runConfig: AgentRunConfig;
    tools: ToolRegistryContract;
    allowedTools?: string[];
    taskGateway?: import('../../../types/agent/gateway.js').TaskGateway;
    taskStore?: import('../../../types/task/index.js').TaskStore;
    launchedTasks?: Map<import('../../../types/ids/index.js').TaskId, import('./phases/context.js').LaunchedTaskMeta>;
    compactionConfig?: CompactionConfig;
    workingStateManager?: WorkingStateManager;
    advisoryCtx?: AdvisoryContext;
    agentBus?: import('../../../bus/index.js').AgentBus;
    verificationGate?: import('../../../verification/gate.js').VerificationGate;
    pluginManager?: import('../../../plugin/lifecycle.js').PluginLifecycleManager;
}
export declare class IterationOrchestrator {
    private ctx;
    constructor(config: IterationConfig, runMgr: RunPersistence, toolExecutor: ToolExecutor, guard: GuardCoordinator, activityStore: ActivityStore, emitEvent: EmitEvent, drainPending: () => Generator<RunEvent>, abortController: AbortController, log: Logger, resumeHandler: ResumeHandler, checkpointMgr: CheckpointManager, planManager: PlanManager);
    runLoop(): AsyncGenerator<RunEvent>;
    private hasRunningAgentTasks;
    private waitAndInjectNotifications;
    private injectOneTaskNotification;
    private requestFinalResponse;
}
//# sourceMappingURL=index.d.ts.map