export declare abstract class HTTPException extends Error { abstract readonly statusCode: number; readonly message: string; readonly isHTTPException: true; constructor(message: string, options?: ErrorOptions); } export declare class BadRequestException extends HTTPException { readonly statusCode: 400; } export declare class UnauthorizedException extends HTTPException { readonly statusCode: 401; } export declare class ForbiddenException extends HTTPException { readonly statusCode: 403; constructor(resource: Resource, reason?: string, options?: ErrorOptions); } export declare class NotFoundException extends HTTPException { readonly statusCode: 404; constructor(resource: Resource, reason?: string, options?: ErrorOptions); } export declare class InternalServerErrorException extends HTTPException { readonly statusCode: 500; } export declare abstract class RedirectException extends HTTPException { readonly redirectUrl: string; constructor(redirectUrl: string, message?: string, options?: ErrorOptions); } export declare class TemporaryRedirectException extends RedirectException { readonly statusCode: 302; constructor(redirectUrl: string, message?: string, options?: ErrorOptions); } export declare class PermanentRedirectException extends RedirectException { readonly statusCode: 301; constructor(redirectUrl: string, message?: string, options?: ErrorOptions); } export declare class PaymentRequiredException extends HTTPException { readonly statusCode: 402; constructor(message?: string, options?: ErrorOptions); } export declare class NotAcceptableException extends HTTPException { readonly statusCode: 406; constructor(message?: string, options?: ErrorOptions); } export declare class ProxyAuthenticationRequiredException extends HTTPException { readonly statusCode: 407; constructor(message?: string, options?: ErrorOptions); } export declare class RequestTimeoutException extends HTTPException { readonly statusCode: 408; constructor(message?: string, options?: ErrorOptions); } export declare class ConflictException extends HTTPException { readonly statusCode: 409; constructor(message?: string, options?: ErrorOptions); } export declare class GoneException extends HTTPException { readonly statusCode: 410; constructor(message?: string, options?: ErrorOptions); } export declare class LengthRequiredException extends HTTPException { readonly statusCode: 411; constructor(message?: string, options?: ErrorOptions); } export declare class PreconditionFailedException extends HTTPException { readonly statusCode: 412; constructor(message?: string, options?: ErrorOptions); } export declare class PayloadTooLargeException extends HTTPException { readonly statusCode: 413; constructor(message?: string, options?: ErrorOptions); } export declare class UriTooLongException extends HTTPException { readonly statusCode: 414; constructor(message?: string, options?: ErrorOptions); } export declare class UnsupportedMediaTypeException extends HTTPException { readonly statusCode: 415; constructor(message?: string, options?: ErrorOptions); } export declare class RangeNotSatisfiableException extends HTTPException { readonly statusCode: 416; constructor(message?: string, options?: ErrorOptions); } export declare class ExpectationFailedException extends HTTPException { readonly statusCode: 417; constructor(message?: string, options?: ErrorOptions); } export declare class ImATeapotException extends HTTPException { readonly statusCode: 418; constructor(message?: string, options?: ErrorOptions); } export declare class MisdirectedRequestException extends HTTPException { readonly statusCode: 421; constructor(message?: string, options?: ErrorOptions); } export declare class UnprocessableEntityException extends HTTPException { readonly statusCode: 422; constructor(message?: string, options?: ErrorOptions); } export declare class LockedException extends HTTPException { readonly statusCode: 423; constructor(message?: string, options?: ErrorOptions); } export declare class FailedDependencyException extends HTTPException { readonly statusCode: 424; constructor(message?: string, options?: ErrorOptions); } export declare class TooEarlyException extends HTTPException { readonly statusCode: 425; constructor(message?: string, options?: ErrorOptions); } export declare class UpgradeRequiredException extends HTTPException { readonly statusCode: 426; constructor(message?: string, options?: ErrorOptions); } export declare class PreconditionRequiredException extends HTTPException { readonly statusCode: 428; constructor(message?: string, options?: ErrorOptions); } export declare class TooManyRequestsException extends HTTPException { readonly statusCode: 429; readonly retryAfterSeconds?: number; constructor(message?: string, retryAfterSeconds?: number, options?: ErrorOptions); } export declare class RequestHeaderFieldsTooLargeException extends HTTPException { readonly statusCode: 431; constructor(message?: string, options?: ErrorOptions); } export declare class UnavailableForLegalReasonsException extends HTTPException { readonly statusCode: 451; constructor(message?: string, options?: ErrorOptions); } export declare class NotImplementedException extends HTTPException { readonly statusCode: 501; constructor(message?: string, options?: ErrorOptions); } export declare class BadGatewayException extends HTTPException { readonly statusCode: 502; constructor(message?: string, options?: ErrorOptions); } export declare class ServiceUnavailableException extends HTTPException { readonly statusCode: 503; constructor(message?: string, options?: ErrorOptions); } export declare class GatewayTimeoutException extends HTTPException { readonly statusCode: 504; constructor(message?: string, options?: ErrorOptions); } export declare class HttpVersionNotSupportedException extends HTTPException { readonly statusCode: 505; constructor(message?: string, options?: ErrorOptions); } export declare class VariantAlsoNegotiatesException extends HTTPException { readonly statusCode: 506; constructor(message?: string, options?: ErrorOptions); } export declare class InsufficientStorageException extends HTTPException { readonly statusCode: 507; constructor(message?: string, options?: ErrorOptions); } export declare class LoopDetectedException extends HTTPException { readonly statusCode: 508; constructor(message?: string, options?: ErrorOptions); } export declare class NotExtendedException extends HTTPException { readonly statusCode: 510; constructor(message?: string, options?: ErrorOptions); } export declare class NetworkAuthenticationRequiredException extends HTTPException { readonly statusCode: 511; constructor(message?: string, options?: ErrorOptions); } export declare const isHTTPException: (error: unknown) => error is HTTPException;