import { Repository } from 'typeorm';
import { Session, SessionInput, ContextTemplate, AIAction, ExecutionLog } from '../core-entities';
import { CreateSessionInputDto, UpdateSessionInputDto, UpdateSessionInputContentDto, BatchToggleDiscardedDto } from './dto/session-input.dto';
import { AIActionsService } from '../ai-actions/ai-actions.service';
import { SystemPromptsService } from '../system-prompts/system-prompts.service';
import { SessionInputContextService } from './session-input-context.service';
import { ApplicationStateService } from '../application-state/application-state.service';
import { ChatService } from '../interactive-chat/chat.service';
import { LlmResponsesService } from '../llm-responses/llm-responses.service';
export declare class SessionInputsService {
    private sessionsRepository;
    private sessionInputsRepository;
    private contextTemplatesRepository;
    private aiActionsRepository;
    private executionLogsRepository;
    private readonly aiActionsService;
    private readonly systemPromptsService;
    private readonly sessionInputContextService;
    private readonly applicationStateService;
    private readonly chatService;
    private readonly llmResponsesService;
    private readonly logger;
    constructor(sessionsRepository: Repository<Session>, sessionInputsRepository: Repository<SessionInput>, contextTemplatesRepository: Repository<ContextTemplate>, aiActionsRepository: Repository<AIAction>, executionLogsRepository: Repository<ExecutionLog>, aiActionsService: AIActionsService, systemPromptsService: SystemPromptsService, sessionInputContextService: SessionInputContextService, applicationStateService: ApplicationStateService, chatService: ChatService, llmResponsesService: LlmResponsesService);
    private generatePreviousActionsSummary;
    generateContextString(sessionId: string, createSessionInputDto: CreateSessionInputDto): Promise<string>;
    create(sessionId: string, createSessionInputDto: CreateSessionInputDto): Promise<SessionInput | null>;
    createFromRawLlmResponse(): Promise<SessionInput>;
    findAllBySessionId(sessionId: string): Promise<SessionInput[]>;
    findOne(sessionId: string, inputId: string): Promise<SessionInput>;
    removeUntilHere(sessionId: string, inputId: string): Promise<void>;
    remove(sessionId: string, inputId: string): Promise<void>;
    retry(sessionId: string, inputId: string, updateSessionInputDto: UpdateSessionInputDto): Promise<SessionInput>;
    regenerateAiResponse(sessionId: string, inputId: string): Promise<SessionInput>;
    updateContent(sessionId: string, inputId: string, updateDto: UpdateSessionInputContentDto): Promise<SessionInput>;
    private updateToolResults;
    toggleDiscardedBatch(sessionId: string, dto: BatchToggleDiscardedDto): Promise<{
        affected: number;
    }>;
}
