export default class RequestBuffer {
    /**
     * Runs constructor.
     * @param {object} args - Options object.
     * @param {import("../../../configuration.js").default} args.configuration - Configuration instance.
     */
    constructor({ configuration }: {
        configuration: import("../../../configuration.js").default;
    });
    bodyLength: number;
    /**
     * Data.
      @type {number[]} */
    data: number[];
    events: import("eventemitter3").EventEmitter<string | symbol, any>;
    /**
     * Headers by name.
      @type {Record<string, Header>} */
    headersByName: Record<string, Header>;
    /**
     * Chunked body chars.
      @type {number[] | undefined} */
    chunkedBodyChars: number[] | undefined;
    multiPartyFormData: boolean;
    completed: boolean;
    params: {};
    readingBody: boolean;
    state: string;
    configuration: import("../../../configuration.js").default;
    logger: Logger;
    destroy(): void;
    /**
     * Runs feed.
     * @param {Buffer} data - Data payload.
     * @returns {Buffer | undefined} - Remaining data, if any.
     */
    feed(data: Buffer): Buffer | undefined;
    currentChunkBytesRead: number | undefined;
    currentChunkCrlfRead: any;
    /**
     * Runs get header.
     * @param {string} name - Name.
     * @returns {Header} - The header.
     */
    getHeader(name: string): Header;
    /**
     * Runs get headers hash.
     * @returns {Record<string, string>} - The headers hash.
     */
    getHeadersHash(): Record<string, string>;
    /**
     * Runs form data part done.
     * @returns {void} - No return value.
     */
    formDataPartDone(): void;
    formDataPart: FormDataPart | undefined;
    isMultiPartyFormData(): boolean;
    /**
     * Runs new form data part.
     * @returns {void} - No return value.
     */
    newFormDataPart(): void;
    /**
     * Runs parse.
     * @param {string} line - Line.
     * @returns {void} - No return value.
     */
    parse(line: string): void;
    /**
     * Runs read header from line.
     * @param {string} line - Line.
     * @returns {Header | undefined} - The header from line.
     */
    readHeaderFromLine(line: string): Header | undefined;
    /**
     * Runs add header.
     * @param {Header} header - Header value.
     */
    addHeader(header: Header): void;
    contentLength: number | undefined;
    /**
     * Runs parse header.
     * @param {string} line - Line.
     * @returns {void} - No return value.
     */
    parseHeader(line: string): void;
    boundary: string | undefined;
    boundaryLine: string | undefined;
    boundaryLineNext: string | undefined;
    boundaryLineEnd: string | undefined;
    /**
     * Narrows the runtime value to the documented type.
      @type {number[]} */
    postBodyChars: number[] | undefined;
    /**
     * Runs parse status line.
     * @param {string} line - Line.
     * @returns {void} - No return value.
     */
    parseStatusLine(line: string): void;
    httpMethod: string | undefined;
    httpVersion: string | undefined;
    path: string | undefined;
    postRequestDone(): void;
    postBody: string | undefined;
    /**
     * Runs expects request body.
     * @param {string} httpMethod - HTTP method.
     * @returns {boolean} - Whether the request expects a body.
     */
    expectsRequestBody(httpMethod: string): boolean;
    /**
     * Runs is chunked encoding.
     * @returns {boolean} - Whether the request uses chunked transfer encoding.
     */
    isChunkedEncoding(): boolean;
    /**
     * Runs initialize chunked body.
     * @returns {void} - No return value.
     */
    initializeChunkedBody(): void;
    currentChunkSize: number | undefined;
    /**
     * Runs parse chunk size line.
     * @param {string} line - Chunk size line.
     * @returns {void} - No return value.
     */
    parseChunkSizeLine(line: string): void;
    /**
     * Runs finish chunked body.
     * @returns {void} - No return value.
     */
    finishChunkedBody(): void;
    /**
     * Runs set state.
     * @param {string} newState - New state.
     * @returns {void} - No return value.
     */
    setState(newState: string): void;
    completeRequest: () => void;
    parseApplicationJsonParams(): void;
    parseQueryStringPostParams(): void;
}
import Header from "./header.js";
import Logger from "../../../logger.js";
import FormDataPart from "./form-data-part.js";
//# sourceMappingURL=index.d.ts.map