/// <reference types="node" />
import { ConversationTurnResponseSender } from './conversation_turn_response_sender.js';
import { ConversationTurnEvent, ExecutableTool, JSONSchema } from './types.js';
import { BedrockConverseAdapter } from './bedrock_converse_adapter.js';
import { ConversationTurnStreamingResponseSender } from './conversation_turn_streaming_response_sender';
/**
 * This class is responsible for orchestrating conversation turn execution.
 * The conversation turn consist of:
 * 1. Accepting an event that is coming from conversational route resolvers in AppSync.
 * 2. Interacting with AWS Bedrock to produce response.
 * 3. Send response back to AppSync in a form of mutation.
 */
export declare class ConversationTurnExecutor {
    private readonly event;
    private readonly bedrockConverseAdapter;
    private readonly responseSender;
    private readonly streamingResponseSender;
    private readonly logger;
    /**
     * Creates conversation turn executor.
     */
    constructor(event: ConversationTurnEvent, additionalTools: Array<ExecutableTool>, bedrockConverseAdapter?: BedrockConverseAdapter, responseSender?: ConversationTurnResponseSender, streamingResponseSender?: ConversationTurnStreamingResponseSender, logger?: Console);
    execute: () => Promise<void>;
}
/**
 * This function handles a conversation turn event that is coming from
 * AppSync instance with conversational routes defined and sends response back.
 */
export declare const handleConversationTurnEvent: (event: ConversationTurnEvent, props?: {
    tools?: Array<ExecutableTool<JSONSchema, any>>;
}) => Promise<void>;
//# sourceMappingURL=conversation_turn_executor.d.ts.map