import '@iotize/tap/service/impl/device';
import { Tap } from '@iotize/tap';
import { TapConfiguratorConfig } from '@iotize/tap/config/schema/v1';
import { TapConfiguratorReader, TapConfiguratorWriter } from '@iotize/tap/configurator';
declare module '@iotize/tap/lib/tap' {
    interface Tap {
        configurator: TapConfiguratorExtension;
    }
}
export declare const _TAP_EXTENSION_CONFIGURATOR_: void;
/**
 * @deprecated use _TAP_EXTENSION_CONFIGURATOR_ instead
 */
export declare const __DEFINED_PROPERTY_GETTER_CONFIGURATOR_: void;
/**
 * Tempory class in order not to break SchemaTapConfigurator API
 */
export declare class TapConfiguratorExtension {
    context: {
        tap: Tap;
    };
    private configuratorWriter;
    private configuratorReader;
    private get tap();
    constructor(context: {
        tap: Tap;
    }, options?: TapConfiguratorWriter.Options);
    setup(schema: TapConfiguratorConfig, options?: TapConfiguratorWriter.ConfigureOptions): Promise<TapConfiguratorWriter.Runner>;
    setupConfigState(): Promise<void>;
    applyConfig(newVersion?: string): Promise<void>;
    isConfigured(): Promise<boolean>;
    /**
     * Read configurations
     * Last emitter event will be the configuration keys mapping
     */
    read(): import("rxjs").Observable<TapConfiguratorReader.Event>;
}
