export declare enum ErrorCode {
    UNKNOWN_ERROR = "UNKNOWN_ERROR",
    VALIDATION_ERROR = "VALIDATION_ERROR",
    MCP_PROTOCOL_ERROR = "MCP_PROTOCOL_ERROR",
    STRATEGY_NOT_FOUND = "STRATEGY_NOT_FOUND",
    STRATEGY_ERROR = "STRATEGY_ERROR",
    WORKFLOW_ERROR = "WORKFLOW_ERROR",
    CACHE_ERROR = "CACHE_ERROR",
    CACHE_CAPACITY_EXCEEDED = "CACHE_CAPACITY_EXCEEDED",
    TIMEOUT_ERROR = "TIMEOUT_ERROR",
    RATE_LIMIT_ERROR = "RATE_LIMIT_ERROR",
    CONFIGURATION_ERROR = "CONFIGURATION_ERROR",
    PERMISSION_ERROR = "PERMISSION_ERROR"
}
export declare enum ErrorSeverity {
    LOW = "LOW",
    MEDIUM = "MEDIUM",
    HIGH = "HIGH",
    CRITICAL = "CRITICAL"
}
export interface ErrorContext {
    [key: string]: any;
    operation?: string;
    input?: any;
    timestamp?: string;
    severity?: ErrorSeverity;
}
export declare class BaseError extends Error {
    readonly code: ErrorCode;
    readonly context: ErrorContext;
    readonly timestamp: Date;
    readonly severity: ErrorSeverity;
    readonly cause?: Error;
    constructor(message: string, code?: ErrorCode, context?: ErrorContext, cause?: Error);
    toJSON(): object;
    private sanitizeContext;
}
export declare class ValidationError extends BaseError {
    constructor(message: string, context?: ErrorContext);
}
export declare class MCPProtocolError extends BaseError {
    constructor(message: string, context?: ErrorContext);
}
export declare class StrategyError extends BaseError {
    constructor(message: string, context?: ErrorContext);
}
export declare class CacheError extends BaseError {
    constructor(message: string, context?: ErrorContext);
}
export declare class TimeoutError extends BaseError {
    constructor(message: string, timeout: number, context?: ErrorContext);
}
export declare class ConfigurationError extends BaseError {
    constructor(message: string, context?: ErrorContext);
}
export declare function isPromptPlusError(error: any): error is BaseError;
export declare function createError(code: ErrorCode, message: string, context?: ErrorContext): BaseError;
export declare function wrapError(error: Error | unknown, code: ErrorCode, context?: ErrorContext): BaseError;
//# sourceMappingURL=errors.d.ts.map