import { Context } from '@declaro/core';
export declare const SETTINGS_KEY = "DeclaroSettings";
export declare const SETTINGS_NAMESPACES = "DeclaroSettingsNamespaces";
export declare class Config<T = any> {
    readonly namespace: string;
    readonly defaultValue?: T | undefined;
    constructor(namespace: string, defaultValue?: T | undefined);
    private get namespaceKey();
    get(context: Context): Promise<T | undefined>;
    set(context: Context, value: Partial<T>): Promise<void>;
}
export declare class ConfigSet<T extends object> {
    readonly namespace: string;
    readonly defaultValues: T;
    constructor(namespace: string, defaultValues: T);
    private get namespaceKey();
    set(context: Context, key: string, values?: Partial<T>): Promise<void>;
    getAll(context: Context): Promise<{
        [x: string]: any;
    }>;
    get(context: Context, key: string): Promise<T>;
}
