export interface HttpErrorRequest {
    method: string;
    url: string;
    headers: Record<string, string>;
    body?: unknown;
}
export interface HttpErrorResponse {
    status: number;
    statusText: string;
    headers: Record<string, string>;
    body: unknown;
}
export declare class HttpError extends Error {
    readonly status: number;
    readonly statusText: string;
    readonly code?: string;
    readonly requestId?: string;
    readonly request: HttpErrorRequest;
    readonly response: HttpErrorResponse;
    get body(): unknown;
    constructor(args: {
        request: HttpErrorRequest;
        response: HttpErrorResponse;
        code?: string;
        requestId?: string;
        message?: string;
    });
}
export declare class ClientError extends HttpError {
}
export declare class BadRequestError extends ClientError {
}
export declare class AuthenticationError extends ClientError {
}
export declare class PermissionDeniedError extends ClientError {
}
export declare class NotFoundError extends ClientError {
}
export declare class ConflictError extends ClientError {
}
export declare class UnprocessableEntityError extends ClientError {
}
export declare class RateLimitError extends ClientError {
}
export declare class ServerError extends HttpError {
}
export declare class InternalServerError extends ServerError {
}
export declare class ServiceUnavailableError extends ServerError {
}
export declare function createHttpError(args: {
    request: HttpErrorRequest;
    response: HttpErrorResponse;
    code?: string;
    requestId?: string;
    message?: string;
}): HttpError;
