/**
 * Error thrown when user cancels an operation
 */
export declare const UserCancelledError: new (...args: any[]) => import("@polka-codes/core").BaseError;
/**
 * Error thrown when Polka is misconfigured.
 */
export declare const ConfigurationError: new (args_0: string, args_1?: Error | undefined) => import("@polka-codes/core").BaseError;
/**
 * Error thrown when a required external dependency is missing.
 */
export declare const MissingDependencyError: new (args_0: string, args_1: string, args_2?: Error | undefined) => import("@polka-codes/core").BaseError;
/**
 * Base class for AI provider errors
 */
export declare abstract class ProviderError extends Error {
    readonly provider: string;
    readonly model: string;
    readonly retryable: boolean;
    readonly cause?: Error;
    constructor(provider: string, model: string, message: string, retryable: boolean, cause?: Error);
}
/**
 * Error when the provider API is temporarily unavailable (5xx errors)
 */
export declare class ProviderUnavailableError extends ProviderError {
    constructor(provider: string, model: string, statusCode: number, cause?: Error);
}
/**
 * Error when rate limit is exceeded (429 errors)
 */
export declare class RateLimitError extends ProviderError {
    readonly retryAfter?: number;
    constructor(provider: string, model: string, retryAfter?: number, cause?: Error);
}
/**
 * Error when request times out
 */
export declare class ProviderTimeoutError extends ProviderError {
    readonly timeoutSeconds: number;
    constructor(provider: string, model: string, timeoutSeconds: number, cause?: Error);
}
/**
 * Error when authentication fails (401 errors)
 */
export declare class AuthenticationError extends ProviderError {
    constructor(provider: string, model: string, cause?: Error);
}
/**
 * Error when the model is not found or access is denied (403/404 errors)
 */
export declare class ModelAccessError extends ProviderError {
    constructor(provider: string, model: string, statusCode: number, cause?: Error);
}
/**
 * Error when the request is invalid (400 errors)
 */
export declare class InvalidRequestError extends ProviderError {
    constructor(provider: string, model: string, details: string, cause?: Error);
}
/**
 * Error when provider response is malformed or cannot be parsed
 */
export declare class MalformedResponseError extends ProviderError {
    constructor(provider: string, model: string, cause?: Error);
}
/**
 * Error when quota/budget limits are exceeded
 */
export declare class QuotaExceededError extends ProviderError {
    readonly currentCost: number;
    readonly maxCost: number;
    constructor(provider: string, model: string, currentCost: number, maxCost: number);
}
/**
 * Error when provider is repeatedly failing after multiple retries
 */
export declare class MaxRetriesExceededError extends ProviderError {
    readonly attempts: number;
    readonly lastError: Error;
    constructor(provider: string, model: string, attempts: number, lastError: Error);
}
/**
 * Utility function to create appropriate error based on HTTP status code
 */
export declare function createProviderErrorFromStatus(provider: string, model: string, statusCode: number, cause?: Error): ProviderError;
//# sourceMappingURL=errors.d.ts.map