import { OptionsOfJSONResponseBody } from 'got';
import { IKey } from './types';
import { Observer } from '../Observer';
export declare class KvStore {
    private client;
    private consulAddresses;
    private baseOptions;
    private watchMap;
    private maxRetries;
    constructor(consulAddresses?: Array<string>, baseOptions?: OptionsOfJSONResponseBody, maxRetries?: number);
    get<T>(key: IKey, requestOptions?: OptionsOfJSONResponseBody): Promise<T | null>;
    ignore(key: IKey): void;
    watch<T>(key: IKey, requestOptions?: OptionsOfJSONResponseBody): Observer<T>;
    set(key: IKey, value: any, requestOptions?: OptionsOfJSONResponseBody): Promise<boolean>;
    delete(key: IKey, requestOptions?: OptionsOfJSONResponseBody): Promise<boolean>;
}
