import { TlvEntity } from '../entities/tlv.entity';
/**
 * Service responsible for parsing a raw TLV-encoded string into structured `TlvEntity` objects.
 *
 * Supports recursive parsing of nested TLVs (e.g., value fields that themselves contain TLV structures),
 * commonly used in QR codes that follow the EMVCo standard.
 */
export declare class TlvParserService {
    /**
     * Parses a TLV-encoded string into a list of `TlvEntity` instances.
     *
     * The TLV (Tag-Length-Value) format assumes that:
     * - Each tag is 2 characters long.
     * - Each length is 2 characters, representing the length of the value in characters.
     * - The value follows the length field, and may itself be recursively parsed as a TLV string.
     *
     * @param tlvString - The raw TLV-encoded string.
     * @param recursive - Whether to recursively parse value fields that are TLV-encoded. Defaults to `true`.
     *
     * @returns An array of parsed `TlvEntity` objects representing the structure of the input string.
     *
     * @throws {Error} If the input string is invalid (e.g., incomplete, malformed length, or overflows).
     */
    static parse(tlvString: string, recursive?: boolean): TlvEntity[];
}
