import type { RawResponseContent } from "./request"; import type { CookieOptions } from "./cookies"; export type RedirectOptions = [code: number, path: string]; type Stringifiable = [] | { [key: string]: any; } | null | boolean; export interface IResponse { locals: { [key: string]: any; }; callbackWaitsForEmptyEventLoop: boolean; succeed: (content: any) => void; fail: (error: any) => void; done: (error: any, content: any) => void; callback: (error: any, content: any) => void; functionVersion: string; functionName: string; memoryLimitInMB: string; logGroupName: string; logStreamName: string; clientContext: any; identity: any; invokedFunctionArn: string; awsRequestId: string; getRemainingTimeInMillis: Function; /** * set response status code. */ status: (code: number) => this; sendStatus: (code: number) => void; send: (content?: string | Buffer) => void; /** * equivalent to handler `return value`. Ignores all previous set values */ end: (rawContent: any) => void; /** * set response Content-Type. */ type(contentType: string): this; json: (content: Stringifiable) => void; set: (header: string | { [key: string]: string; }, value?: string) => this; setHeader: (header: string | { [key: string]: string; }, value?: string) => this; get: (headerKey: string) => string; getHeader: (headerKey: string) => string; redirect: (...redirectOptions: RedirectOptions) => void; location(url: string): this; links(links: any): this; cookie: (name: string, value: string, options?: CookieOptions) => this; /** * cookies set by res.cookie(); */ cookies: string[]; /** * headers set by res.set() / res.setHeader(); */ headers: string[]; clearCookie(name: string, options?: CookieOptions): this; } export declare class _Response implements IResponse { #private; locals: { [key: string]: any; }; callbackWaitsForEmptyEventLoop: boolean; functionVersion: string; functionName: string; memoryLimitInMB: string; logGroupName: string; logStreamName: string; clientContext: any; identity: any; invokedFunctionArn: string; awsRequestId: string; getRemainingTimeInMillis: () => number; callback: (error: any, content: RawResponseContent) => void; responseObject: any; constructor(init: { context: any; resolve: Function; locals: any; req: any; previousResponse?: any; callback: (error: any, content: RawResponseContent) => void; }); succeed(content: any): void; done(err: any, content: any): void; fail(error: any): void; cookie(name: string, value: string, options?: CookieOptions): this; clearCookie(name: string, options?: CookieOptions): this; status(code: number): this; sendStatus(code: number): void; type(contentType: string): this; set(...args: any): this; setHeader: (...args: any) => this; get(headerKey: string): any; getHeader: (headerKey: string) => any; json(content: Stringifiable): void; send(content?: string | Buffer): void; end(rawContent: any): void; redirect(...args: RedirectOptions): void; location(url: string): this; links(links: any): this; get cookies(): string[]; get headers(): string[]; } export {};