import { ServerResponse, IncomingHttpHeaders } from 'http';
import { Status } from '../model';
import { IResponse } from './model';
import { Http2ServerResponse } from 'http2';
/**
 * Implementation of the wrapper around a response.
 *
 * @param original The original response object (that can be retrieved through `original`)
 */
export declare class Response implements IResponse {
    readonly original: ServerResponse | Http2ServerResponse;
    private _body;
    private _json;
    status: Partial<Readonly<Status>> | null;
    private _headers;
    constructor(original: ServerResponse | Http2ServerResponse);
    set body(value: any);
    get body(): any;
    get json(): boolean;
    set json(value: boolean);
    setData(data: any): void;
    get headers(): Readonly<IncomingHttpHeaders>;
    setHeaders(headers?: Readonly<IncomingHttpHeaders>): Readonly<IncomingHttpHeaders>;
    private _computeBody;
    private _setHead;
    send(): Promise<void>;
}
