import { Response } from "../Response";
import { IResponseHeaders } from "./IResponseHeaders";
export declare class Headers {
    /**
     * Response HTTP protocol version by request.
     * Example: `HTTP/1.0 | HTTP/1.1 | HTTP/2 | SPDY`
     */
    protected httpVersion?: string;
    /**
     * Response HTTP headers as `key => value` array.
     * Example:
     *	`array(
     *		'content-type'		=> 'text/html',
     *		'content-encoding'	=> 'utf-8'
     *	);`
     */
    protected headers?: any;
    /**
     * Response content encoding.
     * Example: `"utf-8" | "windows-1250" | "ISO-8859-2"`
     * @var \string|NULL
     */
    protected encoding?: string;
    /**
     * Disabled headers, never sent except if there is
     * rendered exception in development environment.
     */
    protected disabledHeaders: Map<string, boolean>;
    IsSentHeaders(): boolean;
    SetHeaders(headers?: IResponseHeaders, cleanAllPrevious?: boolean): Response;
    SetHeader(name: string, value: number | string | string[] | null): Response;
    GetHeader(name: string): number | string | string[] | null;
    HasHeader(name: string): boolean;
    UpdateHeaders(): Response;
    SetDisabledHeaders(...disabledHeaders: string[]): Response;
    GetDisabledHeaders(): string[];
    GetHttpVersion(): string;
    SetHttpVersion(httpVersion: string): Response;
    SetCode(code: number, codeMessage?: string): Response;
    GetCode(): number;
    GetEncoding(): string | null;
    SetEncoding(encoding?: string): Response;
    IsUpgrading(): boolean;
    IsRedirect(): boolean;
    IsSent(): boolean;
    SendHeaders(code?: number, end?: boolean): Response;
    Redirect(location: string, code?: number, reason?: string, end?: boolean): void;
    private endHttpRequest;
}
