import { Tap } from '@iotize/tap';
import '@iotize/tap/service/impl/target';
import '@iotize/tap/service/impl/variable';
import '@iotize/tap/service/impl/interface';
import { Observable } from 'rxjs';
import { DBIOTConfig, TapVariableConfigWithDBIOT } from './definitions';
export declare namespace ReadDBIOTConfigurationEvent {
    interface Start {
        type: 'start';
        data: {
            total: number;
        };
    }
    interface Progress {
        type: 'progress';
        data: {
            /**
             * Total variable count
             */
            total: number;
            /**
             * Current variable loaded
             */
            current: number;
            /**
             * Variable config
             */
            variable?: TapVariableConfigWithDBIOT;
        };
    }
    interface Complete {
        type: 'complete';
        data: DBIOTConfig;
    }
}
export declare type ReadDBIOTConfigurationEvent = ReadDBIOTConfigurationEvent.Start | ReadDBIOTConfigurationEvent.Progress | ReadDBIOTConfigurationEvent.Complete;
/**
 * Create shared observable that read DBIOT configuration from tap
 * @param tap
 * @param maxVar
 * @returns
 */
export declare function createReadDBIOTConfigurationFromTapObservable(tap: Tap, maxVar: number): Observable<ReadDBIOTConfigurationEvent>;
