import { ModelProviderID } from '../data/model_data.js';
export declare class EnsembleError extends Error {
    code: string;
    recoverable: boolean;
    details?: Record<string, unknown>;
    constructor(message: string, code: string, recoverable?: boolean, details?: Record<string, unknown>);
}
export declare class ProviderError extends EnsembleError {
    provider: ModelProviderID;
    constructor(provider: ModelProviderID, message: string, code: string, recoverable?: boolean, details?: Record<string, unknown>);
}
export declare class ToolExecutionError extends EnsembleError {
    toolName: string;
    constructor(toolName: string, message: string, code?: string, recoverable?: boolean, details?: Record<string, unknown>);
}
export declare class AbortError extends EnsembleError {
    constructor(message?: string);
}
export declare class PauseAbortError extends AbortError {
    constructor();
}
export declare class QuotaExceededError extends EnsembleError {
    provider: ModelProviderID;
    model: string;
    constructor(provider: ModelProviderID, model: string, message: string, details?: Record<string, unknown>);
}
export declare class ModelNotFoundError extends EnsembleError {
    model: string;
    constructor(model: string, message?: string);
}
export declare class ConfigurationError extends EnsembleError {
    constructor(message: string, details?: Record<string, unknown>);
}
//# sourceMappingURL=errors.d.ts.map