import { EventEmitter } from "events"; export interface ConfirmationOptions { operation: string; filename: string; showVSCodeOpen?: boolean; content?: string; } export interface ConfirmationResult { confirmed: boolean; dontAskAgain?: boolean; feedback?: string; } export declare class ConfirmationService extends EventEmitter { private static instance; private skipConfirmationThisSession; private pendingConfirmation; private resolveConfirmation; private sessionFlags; private approvedCommands; static getInstance(): ConfirmationService; constructor(); requestConfirmation(options: ConfirmationOptions, operationType?: "file" | "zsh"): Promise; confirmOperation(confirmed: boolean, dontAskAgain?: boolean): void; rejectOperation(feedback?: string): void; private openInVSCode; isPending(): boolean; resetSession(): void; getSessionFlags(): { fileOperations: boolean; zshCommands: boolean; allOperations: boolean; }; setSessionFlag(flagType: "fileOperations" | "zshCommands" | "allOperations", value: boolean): void; /** * Set specific commands to auto-approve */ setApprovedCommands(commands: string[]): void; /** * Check if a command should be auto-approved */ private isCommandApproved; /** * Normalize operation names to match common command names */ private normalizeOperation; }