import { IDebugger } from "@gongt/ts-stl-library/debug/create-logger"; import { ApiResponse, STATUS_CODE_TYPE } from "@gongt/ts-stl-library/request/protocol"; import { HTTP } from "@gongt/ts-stl-library/request/request"; import { ErrorResponse } from "@gongt/ts-stl-library/request/request-error"; import { CookieOptions, Response } from "express-serve-static-core"; export declare type KV = { [name: string]: any; }; export interface AssignFunction { (name: string, value: any): void; } export interface AssignObjectFunction { (object: KV): void; } export declare abstract class ResponseInterface { protected readonly response: Response; private httpStatus; protected logDebug: IDebugger; protected logNotice: IDebugger; protected logError: IDebugger; protected logSill: IDebugger; constructor(response: Response); protected completed: boolean; readonly complete: boolean; __force_complete: boolean; redirect(target: string, permanent?: boolean, withGet?: boolean): void; sendRawData(data: any): void; protected send(): any; httpCode(status: HTTP): void; setHeader(name: string, value: string): void; protected fatalError(e: any): void; protected abstract _send(): void; protected abstract asyncResolve(res: ResType): void; protected asyncReject(e: any): void; resolve(p: Promise): Promise; setCookie(options: CookieOptions & { name: string; value: any; }): void; } export declare abstract class MultiValueResponseWrapper extends ResponseInterface { protected abstract result: ResType & ApiResponse | ErrorResponse; protected mergeTemplateLocals(): ResType & ApiResponse | ErrorResponse; readonly localValue: ErrorResponse | (ResType & ApiResponse); assignObject(object: KV): void; assign(name: string, value: any): void; success(): any; internalError(error: Error): any; error(error: STATUS_CODE_TYPE, extraMessage?: string): any; }