import { type Logger, type ILogObj } from '../../../lib/logging/index.js';
import { ResponseInfo } from './HttpResponseParser.js';
export type BodyCompleteCallback = (body: Buffer) => void;
/**
 * Parser for HTTP body data
 */
export declare class BodyParser {
    private logger;
    private responseInfo;
    private rawBody?;
    constructor(logger: Logger<ILogObj>, responseInfo: ResponseInfo);
    /**
     * Process body with content-length encoding
     * @param data Buffer containing body data
     * @param onComplete Callback when body is complete
     */
    processContentLength(data: Buffer, onComplete: BodyCompleteCallback): void;
    /**
     * Process body with chunked transfer encoding
     * @param data Buffer containing chunked body data
     * @param onComplete Callback when body is complete
     */
    processChunked(data: Buffer, onComplete: BodyCompleteCallback): void;
    /**
     * Read chunk size from chunked transfer encoding
     * @param array Buffer containing chunk data
     * @returns Remaining data after reading chunk size
     */
    readChunkSize(array: Buffer): Buffer | undefined;
    /**
     * Get the raw body buffer
     */
    getRawBody(): Buffer | undefined;
    /**
     * Reset the parser state
     */
    reset(): void;
}
//# sourceMappingURL=BodyParser.d.ts.map