/** Declaration file generated by dts-gen */

declare module "@jsbytes/boom";

export class Exception {
  constructor(...args: any[]);

  throw(...args: any[]): void;

  static captureStackTrace(p0: any, p1: any): any;

  static create(...args: any[]): Exception;

  static stackTraceLimit: number;
}

export function HttpException(...args: any[]): HttpException;

export namespace HttpException {
  const message: string;

  const stackTraceLimit: number;

  const status: number;

  function captureStackTrace(p0: any, p1: any): any;

  function create(...args: any[]): HttpException;

  function options(...args: any[]): Object;
}

export function Boom(...args: any[]): Boom;

export namespace Boom {
  class BadGateway {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): BadGateway;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class BadRequest {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): BadRequest;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class BandwidthLimitExceeded {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): BandwidthLimitExceeded;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class Conflict {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): Conflict;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class ExpectationFailed {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): ExpectationFailed;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class FailedDependency {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): FailedDependency;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class Forbidden {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): Forbidden;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class GatewayTimeout {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): GatewayTimeout;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class Gone {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): Gone;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class HttpVersionNotSupported {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): HttpVersionNotSupported;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class ImATeapot {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): ImATeapot;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class InsufficientStorage {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): InsufficientStorage;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class InternalServerError {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): InternalServerError;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class LengthRequired {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): LengthRequired;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class Locked {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): Locked;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class LoopDetected {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): LoopDetected;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class MethodNotAllowed {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): MethodNotAllowed;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class MisdirectedRequest {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): MisdirectedRequest;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class NetworkAuthenticationRequired {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): NetworkAuthenticationRequired;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class NotAcceptable {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): NotAcceptable;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class NotExtended {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): NotExtended;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class NotFound {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): NotFound;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class NotImplemented {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): NotImplemented;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class PayloadTooLarge {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): PayloadTooLarge;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class PaymentRequired {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): PaymentRequired;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class PreconditionFailed {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): PreconditionFailed;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class PreconditionRequired {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): PreconditionRequired;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class ProxyAuthenticationRequired {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): ProxyAuthenticationRequired;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class RangeNotSatisfiable {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): RangeNotSatisfiable;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class RequestHeaderFieldsTooLarge {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): RequestHeaderFieldsTooLarge;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class RequestTimeout {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): RequestTimeout;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class ServiceUnavailable {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): ServiceUnavailable;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class TooManyRequests {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): TooManyRequests;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class Unauthorized {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): Unauthorized;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class UnavailableForLegalReasons {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): UnavailableForLegalReasons;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class UnorderedCollection {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): UnorderedCollection;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class UnprocessableEntity {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): UnprocessableEntity;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class UnsupportedMediaType {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): UnsupportedMediaType;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class UpgradeRequired {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): UpgradeRequired;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class UriTooLong {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): UriTooLong;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  class VariantAlsoNegotiates {
    constructor(...args: any[]);

    static captureStackTrace(p0: any, p1: any): any;

    static create(...args: any[]): VariantAlsoNegotiates;

    static message: string;

    static options(...args: any[]): Object;

    static stackTraceLimit: number;

    static status: number;
  }

  function badGateway(): BadGateway;

  function badRequest(): BadRequest;

  function bandwidthLimitExceeded(): BandwidthLimitExceeded;

  function boomify(...args: any[]): Boom;

  function conflict(): Conflict;

  function decorate(...args: any[]): Boom;

  function expectationFailed(): ExpectationFailed;

  function failedDependency(): FailedDependency;

  function forbidden(): Forbidden;

  function gatewayTimeout(): GatewayTimeout;

  function getFactoryName(...args: any[]): string;

  function getTypeName(...args: any[]): string;

  function gone(): Gone;

  function httpVersionNotSupported(): HttpVersionNotSupported;

  function imATeapot(): ImATeapot;

  function insufficientStorage(): InsufficientStorage;

  function internalServerError(): InternalServerError;

  function isBoom(...args: any[]): boolean;

  function lengthRequired(): LengthRequired;

  function locked(): Locked;

  function loopDetected(): LoopDetected;

  function methodNotAllowed(): MethodNotAllowed;

  function misdirectedRequest(): MisdirectedRequest;

  function networkAuthenticationRequired(): NetworkAuthenticationRequired;

  function notAcceptable(): NotAcceptable;

  function notExtended(): NotExtended;

  function notFound(): NotFound;

  function notImplemented(): NotImplemented;

  function payloadTooLarge(): PayloadTooLarge;

  function paymentRequired(): PaymentRequired;

  function preconditionFailed(): PreconditionFailed;

  function preconditionRequired(): PreconditionRequired;

  function proxyAuthenticationRequired(): ProxyAuthenticationRequired;

  function rangeNotSatisfiable(): RangeNotSatisfiable;

  function requestHeaderFieldsTooLarge(): RequestHeaderFieldsTooLarge;

  function requestTimeout(): RequestTimeout;

  function serviceUnavailable(): ServiceUnavailable;

  function tooManyRequests(): TooManyRequests;

  function unauthorized(): Unauthorized;

  function unavailableForLegalReasons(): UnavailableForLegalReasons;

  function unorderedCollection(): UnorderedCollection;

  function unprocessableEntity(): UnprocessableEntity;

  function unsupportedMediaType(): UnsupportedMediaType;

  function upgradeRequired(): UpgradeRequired;

  function uriTooLong(): UriTooLong;

  function variantAlsoNegotiates(): VariantAlsoNegotiates;
}
