import { Provider } from '../type';
/**
 * DefaultConfigProvider is a Provider backed by a map where all keys are lower case
 * All methods are thread safe (in single-threaded JS environment)
 */
export declare class DefaultConfigProvider implements Provider {
    private root;
    private keyCache;
    constructor(params?: Record<string, any>);
    private prepareParams;
    private getNestedKeyAndMap;
    getString(key: string): string;
    getInt(key: string): number;
    getBool(key: string): boolean;
    getParams(key: string): Record<string, any>;
    getStringMap(key: string): Record<string, any>;
    getStringMapString(key: string): Record<string, string>;
    getStringSlice(key: string): string[];
    get(key: string): any;
    set(key: string, value: any): void;
    keys(): string[];
    merge(key: string, value: any): void;
    setDefaults(params: Record<string, any>): void;
    setDefaultMergeStrategy(): void;
    walkParams(walkFn: (params: Record<string, any>) => boolean): void;
    isSet(key: string): boolean;
}
/**
 * Create a Provider backed by params
 */
export declare function newFromParams(params: Record<string, any>): Provider;
/**
 * Create a Provider backed by an empty params object
 */
export declare function newDefaultProvider(): Provider;
//# sourceMappingURL=provider.d.ts.map