import { Throwable } from "ts-injection"; import { ApiResponse, RequestContext, TypeCoercionError } from "../types"; import { ResponseValues } from "./types"; export declare function ok(body?: ApiResponse["body"]): ApiResponse; export declare function noContent(body?: ApiResponse["body"]): ApiResponse; export declare function created(body?: ApiResponse["body"]): ApiResponse; export declare function redirect(location: string): ApiResponse; export declare function internalError(body?: ApiResponse["body"]): ApiResponse; export declare function badRequest(body?: ApiResponse["body"]): ApiResponse; export declare function notFound(body?: ApiResponse["body"]): ApiResponse; export declare function unauthorized(body?: ApiResponse["body"]): ApiResponse; export declare function forbidden(body?: ApiResponse["body"]): ApiResponse; export declare function invalidVersion(message: string): ApiResponse; export declare class ResponseBuilder { private readonly response; constructor(); constructor(body: ApiResponse["body"]); constructor(apiResponse: ApiResponse); build(): ApiResponse; statusCode(statusCode: number): ResponseBuilder; header(headerName: string, value: string | number | boolean): ResponseBuilder; headers(headers: ResponseValues["headers"]): ResponseBuilder; multiValueHeader(headerName: string, values: (string | number | boolean)[]): ResponseBuilder; multiValueHeaders(headers: ApiResponse["multiValueHeaders"]): ResponseBuilder; encoded(): ResponseBuilder; body(body: ApiResponse["body"]): ResponseBuilder; } export declare function transformResponse(response: ApiResponse, context: RequestContext): Throwable;