import { CoreModule, Extension, ExtensionWithConfig, OnExtensionLoad, OnShutdown, ExtensionShutdown } from '@hapiness/core';
import { Observable } from 'rxjs/Observable';
import { Etcd3Manager } from './managers';
import { Etcd3Config } from './interfaces';
export declare class Etcd3Ext implements OnExtensionLoad, OnShutdown {
    static setConfig(config: Etcd3Config): ExtensionWithConfig;
    /**
     * Initilization of the extension
     * Create the manager instance
     *
     * @param  {CoreModule} module
     * @param  {Etcd3Config} config
     *
     * @returns Observable
     */
    onExtensionLoad(module: CoreModule, config: Etcd3Config): Observable<Extension>;
    onShutdown(module: CoreModule, manager: Etcd3Manager): ExtensionShutdown;
}
