import { EncoderDecoder } from '@iotize/common/converter/api'; import { Tap } from '@iotize/tap'; import { TlvBundleConverter } from '@iotize/tap/client/impl'; import { VariableType } from '@iotize/tap/service/impl/variable'; import { AbstractBundleDataStream, EditableDataStreamInterface, KeyTypeType, RawBundleType } from '../../utility/editable-data-stream'; export declare const TLV_BUNDLE_CONVERTER: TlvBundleConverter>>; export interface TapBundleContextType { tap: Tap; config: TapBundle.Config; } export type TapVariableConfig = { id: number; length?: number; } & ({ dataType: VariableType.Data; converter?: EncoderDecoder; } | { dataType?: VariableType.Data; converter: EncoderDecoder; }); export interface TapBundleConfig { id: number; variables: Record>; } export declare function createTapBundleFromConfig>(tap: Tap, name: KeyTypeType, config: TapBundleConfig): TapBundle; export type BundleVariableMapType = Record>; export declare namespace TapBundle { interface Config { /** * Configured bundle id */ id: number; } } export declare class TapBundle> extends AbstractBundleDataStream { private _id; private context; get id(): KeyTypeType; get bundleId(): number; constructor(_id: KeyTypeType, context: TapBundleContextType, _variables: BundleVariableMapType); readRawInner(): Promise>; }