/// import { RouteHandler } from "itty-router"; export interface APIRes { statusCode: HTTPStatus; message: string; error?: string; data: T; } export interface IRedirectRes { statusCode: HTTPStatus.MOVED_PERMANENTLY | HTTPStatus.FOUND; to: string; } export interface IRoute { requestMethod: string; path: string; methodName: string | symbol; middlewares: RouteHandler[]; redirect?: boolean; } export declare enum HTTPStatus { CONTINUE = 100, SWITCHING_PROTOCOLS = 101, PROCESSING = 102, OK = 200, CREATED = 201, ACCEPTED = 202, NON_AUTHORITATIVE_INFORMATION = 203, NO_CONTENT = 203, RESET_CONTENT = 205, PARTIAL_CONTENT = 206, MUTLI_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, REQUESET_URI_TOO_LONG = 414, UNSUPPORTED_MEDIA_TYPE = 415, REQUEST_RANGE_NOT_SATISFIABLE = 416, EXPECTATION_FAILED = 417, IM_A_TEAPOT = 418, MISDIRECTED_REQUEST = 421, UNPROCESSABLE_ENTITY = 422, LOCKED = 423, FAILED_DEPENDENCY = 424, UPGRADE_REQUIRED = 426, PRECONDITION_REQUIRED = 428, TOO_MANY_REQUESTS = 429, REQUEST_HEADER_FIELDS_TOO_LARGE = 431, CONNECTION_CLOSED_WITHOUT_RESPONSE = 444, UNAVAILABLE_FOR_LEGAL_REASONS = 451, CLIENT_CLOSED_REQUEST = 499, INTERNAL_SERVER_ERROR = 500, NOT_IMPLEMENTED = 501, BAD_GATEWAY = 502, SERVICE_UNAVAILABLE = 503, GATEWAY_TIMEOUT = 504, HTTP_VERSION_NOT_SUPPORTED = 505, VARIANT_ALSO_NEGOTIATES = 506, INSUFFICIENT_STORAGE = 507, LOOP_DETECTED = 508, NOT_EXTENDED = 510, NETWORK_AUTHENTICATION_REQUIRED = 511, NETWORK_CONNECT_TIMEOUT_ERROR = 599 } export interface ICorsOptions { origin?: string; methods?: string; allowedHeaders?: string; exposedHeaders?: string; credentials?: boolean; maxAge?: number; } export declare const corsify: (response: Response, { allowedHeaders, credentials, exposedHeaders, maxAge, methods, origin, }: ICorsOptions) => void; export declare const checkIfIAPIRes: (value: any) => value is APIRes; export declare const checkIfIRedirectRes: (value: any) => value is IRedirectRes;