import method from "../enums/method";
import status from "../enums/status";
export declare const Method: Readonly<{
    CONNECT: "CONNECT";
    TRACE: "TRACE";
    OPTIONS: "OPTIONS";
    DELETE: "DELETE";
    PATCH: "PATCH";
    HEAD: "HEAD";
    POST: "POST";
    PUT: "PUT";
    GET: "GET";
}>;
export type Method = keyof typeof method;
export declare const Status: Readonly<{
    CONTINUE: 100;
    SWITCHING_PROTOCOLS: 101;
    PROCESSING: 102;
    EARLY_HINTS: 103;
    OK: 200;
    CREATED: 201;
    ACCEPTED: 202;
    NON_AUTHORATIVE_INFORMATION: 203;
    NO_CONTENT: 204;
    RESET_CONTENT: 205;
    PARTIAL_CONTENT: 206;
    MULTI_STATUS: 207;
    ALREADY_REPORTED: 208;
    IM_USED: 226;
    MULTIPLE_CHOICES: 300;
    MOVED_PERMANENTLY: 301;
    FOUND: 302;
    SEE_OTHER: 303;
    NOT_MODIFIED: 304;
    USE_PROXY: 305;
    TEMPORARY_REDIRECT: 307;
    PERMANENT_REDIRECT: 308;
    BAD_REQUEST: 400;
    UNAUTHORIZED: 401;
    PAYMENT_REQUIRED: 402;
    FORBIDDEN: 403;
    NOT_FOUND: 404;
    METHOD_NOT_ALLOWED: 405;
    NOT_ACCEPTABLE: 406;
    PROXY_AUTHENTICATION_REQUIRED: 407;
    REQUEST_TIMEOUT: 408;
    CONFLICT: 409;
    GONE: 410;
    LENGTH_REQUIRED: 411;
    PRECONDITION_FAILED: 412;
    PAYLOAD_TOO_LARGE: 413;
    URI_TOO_LONG: 414;
    UNSUPPORTED_MEDIA_TYPE: 415;
    RANGE_NOT_SATISFIABLE: 416;
    EXPECTATION_FAILED: 417;
    IM_A_TEAPOT: 418;
    MISDIRECTED_REQUEST: 421;
    UNPROCESSABLE_ENTITY: 422;
    LOCKED: 423;
    FAILED_DEPENDENCY: 424;
    TOO_EARLY: 425;
    UPGRADE_REQUIRED: 426;
    PRECONDITION_REQUIRED: 428;
    TOO_MANY_REQUESTS: 429;
    REQUEST_HEADER_FIELDS_TOO_LARGE: 431;
    UNAVAILABLE_FOR_LEGAL_REASONS: 451;
    INTERNAL_SERVER_ERROR: 500;
    NOT_IMPLEMENTED: 501;
    BAD_GATEWAY: 502;
    SERVICE_UNAVAILABLE: 503;
    GATEWAY_TIMEOUT: 504;
    HTTP_VERSION_NOT_SUPPORTED: 505;
    /**
     * The Number of milliseconds until the time Window (+ penalty) is over
     * @since 8.6.0
    */ VARIANT_ALSO_NEGOTIATES: 506;
    INSUFFICIENT_STORAGE: 507;
    LOOP_DETECTED: 508;
    BANDWIDTH_LIMIT_EXCEEDED: 509;
    NOT_EXTENDED: 510;
    NETWORK_AUTHENTICATION_REQUIRED: 511;
}>;
export type Status = keyof typeof status;
export declare const ReverseProxyIps: Readonly<{
    LOCAL: (import("@rjweb/utils/lib/typings/network").Subnet<4 | 6> | import("@rjweb/utils/lib/typings/network").IPAddress<4 | 6>)[];
    CLOUDFLARE: import("@rjweb/utils/lib/typings/network").Subnet<4 | 6>[];
    SPARKEDHOST: import("@rjweb/utils/lib/typings/network").IPAddress<4 | 6>[];
}>;
export type ServerStatus = 'listening' | 'stopped';
export type CompressionAlgorithm = 'gzip' | 'brotli' | 'deflate';
export type ArrayOrNot<T> = T | T[];
export type JSONValue = string | number | boolean | null | undefined | {
    toString(): string;
} | {
    [key: string]: JSONValue;
} | JSONValue[];
export type JSONParsed = Record<string, JSONValue>;
export type URLEncodedParsed = Record<string, string>;
export type ParsedBody = JSONParsed | URLEncodedParsed | string;
export type RatelimitInfos = {
    /**
     * The Number of hits the client made in the current time window
     * @since 8.6.0
    */ hits: number;
    /**
     * The Maximum number of hits the client is allowed to make in the specified time window
     * @since 8.6.0
    */ maxHits: number;
    /**
     * Whether the client has recieved the penalty
     * @since 8.6.0
    */ hasPenalty: boolean;
    /**
     * The Number of milliseconds penalty the client recieves
     * @since 8.6.0
    */ penalty: number;
    /**
     * The Number of milliseconds a time window is long
     * @since 8.6.0
    */ timeWindow: number;
    /**
     * The Date when the time Window (+ penalty) is over
     * @since 8.6.0
    */ endsAt: Date;
    /**
     * The Number of milliseconds until the time Window (+ penalty) is over
     * @since 8.6.0
    */ endsIn: number;
};
export { type Content, ParseStream } from "../functions/parseContent";
