import { AgentModelFactory } from "./agent/models/AgentModelFactory.js";
import { AgentModeResolver } from "./agent/models/AgentModeResolver.js";
import { AgentRuntime } from "./agent/runtime/AgentRuntime.js";
import { TurnContextBuilder } from "./agent/turn/TurnContextBuilder.js";
import { TurnLifecycleService } from "./agent/turn/TurnLifecycleService.js";
import { TurnPromptBuilder } from "./agent/turn/TurnPromptBuilder.js";
import { TurnStreamConsumer } from "./agent/turn/TurnStreamConsumer.js";
import type { HandleTurnInput, RunAndPersistAgentResponseInput, RunAndPersistAgentResponseResult } from "./agent/turn/turnTypes.js";
export type { BaseAgentTurnInput, HandleSpeechTurnInput, HandleTurnInput, RunAndPersistAgentResponseInput, RunAndPersistAgentResponseResult, } from "./agent/turn/turnTypes.js";
export declare class AgentTurnService {
    private readonly lifecycle;
    private readonly contextBuilder;
    private readonly modeResolver;
    private readonly modelFactory;
    private readonly promptBuilder;
    private readonly runtime;
    private readonly streamConsumer;
    private readonly pendingInterrupts;
    constructor(lifecycle: TurnLifecycleService, contextBuilder: TurnContextBuilder, modeResolver: AgentModeResolver, modelFactory: AgentModelFactory, promptBuilder: TurnPromptBuilder, runtime: AgentRuntime, streamConsumer: TurnStreamConsumer);
    private prepareTurn;
    private runAgentTurn;
    runAndPersistAgentResponse(input: RunAndPersistAgentResponseInput): Promise<RunAndPersistAgentResponseResult>;
    handleTurn(input: HandleTurnInput): Promise<RunAndPersistAgentResponseResult>;
}
