import * as Consul from 'consul';
import { IConfig } from '@nestcloud/common';
export declare class ConsulConfig implements IConfig {
    private readonly store;
    private readonly consul;
    private readonly key;
    private readonly retryInterval;
    private watcher;
    private readonly logger;
    constructor(consul: Consul, key: string);
    init(): Promise<void>;
    watch<T extends any>(path: string, callback?: (data: T) => void): void;
    getKey(): string;
    get<T extends any>(path?: string, defaults?: any): T;
    set(path: string, value: any): Promise<void>;
    private createWatcher;
}
