import { Handler, SchemaProperties, ParserMode } from "../types.js"; import { Parser, ParserInterface } from "@miqro/parser"; export interface CORSOptions { origins: string[] | string | undefined; validate?: (origin: string | undefined, origins: string[] | string) => boolean; methods?: string; preflightContinue?: boolean; } export declare const CORS: (options?: CORSOptions) => Handler; /** * ReadBuffer */ export declare const DEFAULT_READ_BUFFER_LIMIT: number; export declare function ReadBuffer(options?: { limit?: number; timeout?: number; }): Handler; export declare function URLEncodedParser(options?: { limit?: number; maxKeys?: number; type?: string; }): Handler; /** * JSONParser */ export declare function JSONParser(options?: { limit?: number; strict?: boolean; type?: string; }): Handler; /** * TextParser */ export declare function TextParser(options?: { limit?: number; type?: string; }): Handler; /** * ParseRequest */ export declare function assertNotUndefined(arg?: T, message?: string): T; export declare const DEFAULT_PARSER: Parser; export interface ParseRequestOptions { headers?: string | SchemaProperties | SchemaProperties[]; headersMode?: ParserMode; query?: string | SchemaProperties | boolean | SchemaProperties[]; queryMode?: ParserMode; params?: string | SchemaProperties | boolean | SchemaProperties[]; paramsMode?: ParserMode; body?: string | SchemaProperties | boolean | SchemaProperties[]; bodyMode?: ParserMode; } /** * ParseRequest * @param options * @param parser * @returns */ export declare function ParseRequest(options: ParseRequestOptions, parser?: ParserInterface): Handler; /** * ResultParser * @param options * @param parser * @returns */ export declare function ResultParser(options: { status?: number | number[]; headers?: string | SchemaProperties | SchemaProperties[]; headersMode?: ParserMode; body?: string | boolean | SchemaProperties | SchemaProperties[]; bodyMode?: ParserMode; }, parser?: ParserInterface): Handler; export interface ResponseHandlerOptions { etag?: boolean | ((lastResult?: { headers?: any; body?: any; status?: any; }) => Promise | string | false | null | undefined); } /** * ResponseHandler * @param req * @param res */ export declare function ResponseHandler(options?: ResponseHandlerOptions): Handler;