import { NoInferType } from './types';
export declare class ConfigService<K = Record<string, any>> {
    private readonly internalConfig;
    get isCacheEnabled(): boolean;
    set isCacheEnabled(value: boolean);
    private readonly cache;
    private _isCacheEnabled;
    constructor(internalConfig?: Record<string, any>);
    get<T = any>(propertyPath: keyof K): T | undefined;
    get<T = any>(propertyPath: keyof K, defaultValue: NoInferType<T>): T;
    private getFromCache;
    private getFromValidatedEnv;
    private getFromProcessEnv;
    private getFromInternalConfig;
    private setInCacheIfDefined;
}
