import { Transform } from "stream";
import { UniversalGenericFunction } from "../utils/genericFunction.js";
/**
 * @class Parser
 *
 * Сreates an instance of Parser (String to Json conversion stream)
 */
export declare class Parser extends Transform {
    /**
     *
     * @param start - first separator
     * @param middle - middle separator
     * @param end - end separator
     */
    constructor(start?: string, middle?: string, end?: string);
    /**
     * separators
     *
     * @private
     */
    private __separators;
    /**
     * empty buffer
     *
     * @private
     */
    private static __empty;
    /**
     * stream byte counter
     *
     * @private
     */
    private __bytesRead;
    /**
     * stream encoding
     *
     * @private
     */
    private __encoding;
    /**
     * stream buffer
     *
     * @private
     */
    private __buffers;
    /**
     * left brace counter
     *
     * @private
     */
    private __leftBrace;
    /**
     * right brace counter
     *
     * @private
     */
    private __rightBrace;
    /**
     * open quote flag
     *
     * @private
     */
    private __openQuotes;
    /**
     * clear buffer and reset counters
     *
     * @private
     */
    private __clear;
    /**
     * basic stream handler
     */
    private __handler;
    /**
     * Data event handler
     *
     * @private
     * @param string - string or buffer data
     * @param encoding - stream encoding
     * @param callback - callback function
     */
    _transform(string: string | Buffer | null | undefined, encoding?: BufferEncoding, callback?: UniversalGenericFunction): void;
    /**
     * Flush event handler
     *
     * @private
     * @param callback - callback function
     */
    _flush(callback?: UniversalGenericFunction): void;
    /**
     * End event handler
     *
     * @private
     * @param callback - callback function
     */
    _final(callback?: UniversalGenericFunction): void;
    /**
     * set stream encoding
     */
    setEncoding(encoding: "utf8" | "utf-8" | "base64" | "latin1" | "binary" | "hex"): this;
}
