export interface ErrorWithCode extends Error {
    code?: string;
    statusCode?: number;
    retryable?: boolean;
}
export declare class BedrockError extends Error {
    code?: string | undefined;
    statusCode?: number | undefined;
    retryable: boolean;
    constructor(message: string, code?: string | undefined, statusCode?: number | undefined, retryable?: boolean);
}
export declare class ToolExecutionError extends Error {
    toolName: string;
    originalError?: any | undefined;
    constructor(message: string, toolName: string, originalError?: any | undefined);
}
export declare function formatError(error: any): string;
export declare function handleBedrockError(error: any): BedrockError;
export declare function createRetryHandler(maxRetries?: number, baseDelay?: number): <T>(fn: () => Promise<T>, errorHandler?: (error: any) => BedrockError) => Promise<T>;
//# sourceMappingURL=error-handler.d.ts.map