import { EncoderDecoder } from '@iotize/common/converter/api';
import { TLV } from '@iotize/common/tlv';
import { BodyConverter } from '@iotize/tap/client/api';
import { TLVConverter } from '../tlv-converter';
interface VariableMeta {
    id: number;
    converter?: EncoderDecoder<any, Uint8Array>;
    name?: string;
}
export declare class TlvBundleConverter<DataType = Record<string, Uint8Array>> implements BodyConverter<DataType> {
    protected variables: VariableMeta[];
    protected tlvConverter: TLVConverter;
    bundleId: number;
    constructor(variables?: VariableMeta[], tlvConverter?: TLVConverter);
    decode(data: Uint8Array | TLV.TlvNode, context?: any): DataType;
    encode(data: DataType): Uint8Array;
    /**
     * Converter tlv tree to variable name => value
     */
    private _convertFromTlvTree;
}
export {};
