import { EncoderDecoder } from '@iotize/common/converter/api';
import { BundleConfigPredefined, Tap, TapConfigurator, VariableConfigPredefined } from '@iotize/device-client.js';
import { Observable } from 'rxjs';
import { IotizeBundleModel, IotizeConfigModel, IotizeVariableModel } from './model';
export declare function toVariableConfig(variables: IotizeVariableModel[]): VariableConfigPredefined<any>[];
export declare function toBundleConfig(bundles: IotizeBundleModel[]): BundleConfigPredefined[];
/**
 * Configure your tap device instance from a configuration model
 * This will
 *  - populate variable manager and bundle manager according to the configuration
 */
export declare class TapConfigConfigurator implements TapConfigurator<any> {
    configModel: IotizeConfigModel;
    constructor(configModel: IotizeConfigModel);
    configure(device: Tap): Observable<any>;
    configureVariables(tap: Tap): void;
    static getConverterFromVariableModel(variable: IotizeVariableModel): EncoderDecoder<number, Uint8Array>;
}
