import type { ErrorCode } from './error-codes';
/**
 * Error types with structured messages (Legacy - kept for compatibility)
 */
export declare const ErrorTypes: {
    readonly NO_CLAUDE_CLI: "NO_CLAUDE_CLI";
    readonly MISSING_SETTINGS: "MISSING_SETTINGS";
    readonly INVALID_CONFIG: "INVALID_CONFIG";
    readonly UNKNOWN_PROFILE: "UNKNOWN_PROFILE";
    readonly PERMISSION_DENIED: "PERMISSION_DENIED";
    readonly GENERIC: "GENERIC";
};
export type ErrorType = (typeof ErrorTypes)[keyof typeof ErrorTypes];
/**
 * Enhanced error manager with context-aware messages
 */
export declare class ErrorManager {
    /**
     * Show error code and documentation URL
     */
    static showErrorCode(errorCode: ErrorCode): void;
    /**
     * Show Claude CLI not found error
     */
    static showClaudeNotFound(): Promise<void>;
    /**
     * Show settings file not found error
     */
    static showSettingsNotFound(settingsPath: string): Promise<void>;
    /**
     * Show invalid configuration error
     */
    static showInvalidConfig(configPath: string, errorDetail: string): Promise<void>;
    /**
     * Show profile not found error
     */
    static showProfileNotFound(profileName: string, availableProfiles: string[], suggestions?: string[]): Promise<void>;
    /**
     * Show permission denied error
     */
    static showPermissionDenied(filePath: string): Promise<void>;
    /**
     * Show CLIProxy OAuth timeout error
     */
    static showOAuthTimeout(provider: string): Promise<void>;
    /**
     * Show CLIProxy port conflict error
     */
    static showPortConflict(port: number): Promise<void>;
    /**
     * Show CLIProxy binary download failure error
     */
    static showBinaryDownloadFailed(url: string, error: string): Promise<void>;
    /**
     * Show CLIProxy authentication required error
     */
    static showAuthRequired(provider: string): Promise<void>;
}
//# sourceMappingURL=error-manager.d.ts.map