import { Repository } from 'typeorm';
import { AIAction, SessionInput } from '../core-entities';
import { AIActionsService, ActionResult, ConfirmedActionInfo, DiscardedActionInfo } from './ai-actions.service';
import { ExecutionLogsService } from '../execution-logs/execution-logs.service';
import { ApplicationStateService } from '../application-state/application-state.service';
import { ChatService } from '../interactive-chat/chat.service';
import { LlmResponsesService } from '../llm-responses/llm-responses.service';
import { McpService } from '../mcp/mcp.service';
export declare class AIActionBatchService {
    private aiActionsRepository;
    private sessionInputsRepository;
    private readonly aiActionsService;
    private readonly executionLogsService;
    private readonly applicationStateService;
    private readonly chatService;
    private readonly llmResponsesService;
    private readonly mcpService;
    private readonly logger;
    private readonly projectRoot;
    constructor(aiActionsRepository: Repository<AIAction>, sessionInputsRepository: Repository<SessionInput>, aiActionsService: AIActionsService, executionLogsService: ExecutionLogsService, applicationStateService: ApplicationStateService, chatService: ChatService, llmResponsesService: LlmResponsesService, mcpService: McpService);
    private resolveAndValidatePath;
    private createFile;
    private editFile;
    private deleteFile;
    private runCommand;
    private useMcpTool;
    applyApprovedActions(inputId: string): Promise<ActionResult[]>;
    discardAllActionsForInput(inputId: string): Promise<DiscardedActionInfo[]>;
    confirmAllAppliedActionsForInput(inputId: string): Promise<ConfirmedActionInfo[]>;
    revertAllAppliedActionsForInput(inputId: string): Promise<ActionResult[]>;
}
