import { StringedResult, VerifyResult } from "@sudoo/verify"; import { Request, Response } from "express"; import { SudooExpressResponseAgent } from "./agent"; export declare type SudooExpressStaticOptions = { readonly excludes?: string[]; }; export declare type SudooExpressExtendRequest = { readonly accepted: any[]; readonly ip: string; readonly ips: string[]; readonly protocol: string; readonly secure: boolean; readonly subdomains: string[]; readonly method: string; readonly path: string; readonly hostname: string; readonly host: string; readonly route: string; readonly originalUrl: string; readonly url: string; readonly baseUrl: string; readonly fresh: boolean; readonly stale: boolean; readonly xhr: boolean; readonly rawHeaders: string; readonly rawTailers: string; readonly headers: Record; readonly trailers: Record; readonly params: Record; readonly cookies: Record; readonly body: Record; readonly query: Record; get(name: "set-cookie"): string[] | undefined; get(name: string): string | undefined; header(name: "set-cookie"): string[] | undefined; header(name: string): string | undefined; param(name: string, defaultValue?: any): string; } & Request; export declare type Writeable = { -readonly [P in keyof T]: T[P]; }; export declare type SudooExpressRequest = { authenticate: AuthenticateType; principal: PrincipalType; valid: boolean; headersVerify?: VerifyResult; trailersVerify?: VerifyResult; queryVerify?: VerifyResult; paramsVerify?: VerifyResult; cookiesVerify?: VerifyResult; bodyVerify?: VerifyResult; stringedHeadersVerify?: StringedResult; stringedTrailersVerify?: StringedResult; stringedQueryVerify?: StringedResult; stringedParamsVerify?: StringedResult; stringedCookiesVerify?: StringedResult; stringedBodyVerify?: StringedResult; readonly infos: Record; readonly extras: Record; } & SudooExpressExtendRequest; export declare type SudooExpressResponse = { readonly agent: SudooExpressResponseAgent; } & Response; export declare type SudooExpressNextFunction = () => any | Promise; export declare type SudooExpressHandler = (req: SudooExpressRequest, res: SudooExpressResponse, next: SudooExpressNextFunction) => void | Promise; export declare type SudooExpressErrorInfo = { readonly code: number; readonly message?: string; readonly response?: any; }; export declare type SudooExpressErrorHandler = (code: number, error: Error) => SudooExpressErrorInfo;