import type { LiteralUnion } from 'type-fest';
import type { DeviceType, Env } from 'noodl-types';
import KeyValueCache from './cache/key-value-cache';
type KeyOfRootConfig = DeviceType | 'apiHost' | 'apiPort' | 'webApiHost' | 'appApiHost' | 'connectiontimeout' | 'loadinglevel' | 'debug' | 'viewWidthHeightRatio' | 'cadlBaseUrl' | 'cadlMain' | 'timestamp' | 'myBaseUrl' | 'keywords';
declare class NoodlConfig extends KeyValueCache<LiteralUnion<KeyOfRootConfig, string>> {
    rootConfigUrl: string;
    appKey: string;
    configKey: string;
    get baseUrl(): string;
    getTimestamp(): string;
    resolve(): any;
    resolve(key: LiteralUnion<'version', string>, deviceType: DeviceType, env?: Env): any;
    resolve(key: LiteralUnion<KeyOfRootConfig, string>, deviceType?: DeviceType): any;
    set(key: LiteralUnion<DeviceType, string>, values?: {
        stable?: string | number;
        test?: string | number;
    }): this;
    set(key: LiteralUnion<'viewWidthHeightRatio', string>, values?: {
        min?: number;
        max?: number;
    }): this;
    set(key: LiteralUnion<KeyOfRootConfig, string>, value: any): this;
    toJSON(): any;
    toString(): string;
}
export default NoodlConfig;
