import { EncoderDecoder } from '@iotize/common/converter/api';
import { IAccessor } from '@iotize/common/data-accessor';
import { ProtocolConfiguration, VariableType } from '@iotize/device-client.js';
import { ProtocolConfigurationDataConfig } from './definitions';
import { BundleConfig, SpecialProfileConfig, TapConfigSchema, TargetConfig, UserConfig, VariableConfig } from '@iotize/device-client.js/config/schema/v1';
import { TapAppPathConverter } from './tap-app-path-converter';
export declare function convertToVariableType(accessor: IAccessor): VariableType;
/**
 *  Convert an IoTize studio configuration file to the
 * TapConfigSchema
 */
export declare class TapConfigConverter {
    modbusSerialConfigConverter: EncoderDecoder<ProtocolConfigurationDataConfig, ProtocolConfiguration>;
    appPathConverter: TapAppPathConverter;
    constructor(modbusSerialConfigConverter?: EncoderDecoder<ProtocolConfigurationDataConfig, ProtocolConfiguration>, appPathConverter?: TapAppPathConverter);
    convert(accessor: IAccessor): TapConfigSchema;
    _convertTargetConfig(appConfig: IAccessor): TargetConfig;
    converteProfiles(profiles: IAccessor[]): (UserConfig | SpecialProfileConfig)[];
    fillWithKey(specialConfig: SpecialProfileConfig | UserConfig, xmlProfile: IAccessor): void;
    _converteUsers(subProfilesConfig: IAccessor[]): UserConfig[];
    converteBundles(xmlBundles: IAccessor[]): BundleConfig[];
    private _convertFeatures;
    converterVariables(variables: IAccessor[]): VariableConfig[];
}
