import { SessionsService } from '../sessions/sessions.service';
import { ApplicationStateService } from '../application-state/application-state.service';
import { SessionInputsService } from '../session-inputs/session-inputs.service';
import { SubmitLlmResponseDto } from './dto/submit-llm-response.dto';
import { Session, SessionInput } from '../core-entities';
import { Repository } from 'typeorm';
import { EventsGateway } from '../events/events.gateway';
import { ChatService } from '../interactive-chat/chat.service';
import { SystemPromptsService } from '../system-prompts/system-prompts.service';
import { LlmTurnProcessorService } from '../llm-orchestration/llm-turn-processor.service';
export declare class LlmResponsesService {
    private sessionsRepository;
    private sessionInputsRepository;
    private readonly systemPromptsService;
    private readonly sessionsService;
    private readonly applicationStateService;
    private readonly sessionInputsService;
    private readonly eventsGateway;
    private readonly chatService;
    private readonly newTurnProcessor;
    private readonly logger;
    constructor(sessionsRepository: Repository<Session>, sessionInputsRepository: Repository<SessionInput>, systemPromptsService: SystemPromptsService, sessionsService: SessionsService, applicationStateService: ApplicationStateService, sessionInputsService: SessionInputsService, eventsGateway: EventsGateway, chatService: ChatService, newTurnProcessor: LlmTurnProcessorService);
    createPendingAiInput(sessionId: string, executionStrategy: string): Promise<SessionInput>;
    updatePendingAiInputWithError(pendingInputId: string, errorMessage: string): Promise<SessionInput>;
    finalizePendingAiInput(pendingInputId: string, dto: Omit<SubmitLlmResponseDto, 'inputId'> & {
        thoughts?: string;
    }): Promise<SessionInput>;
    private extractAndUpdateSessionTitle;
    submit(dto: SubmitLlmResponseDto): Promise<SessionInput>;
}
