import { ApplicationService, ObjectNodeService } from '../../services';
import { ObjectNode } from './../../models/object-node.model';
import { CurrentContext } from './../../services/application.service';
import { TransientEntityService } from './../../services/transient-entity/transient-entity.service';
import { ContentEncryptedObjectService } from './../content-encrypted-object/content-encrypted-object.definition';
export declare class ServerConfigService {
    private appCtx;
    private transientEntityService;
    private objectNodeService;
    private contentEncryptedObjectService;
    private properties;
    constructor(appCtx: ApplicationService, transientEntityService: TransientEntityService, objectNodeService: ObjectNodeService, contentEncryptedObjectService: ContentEncryptedObjectService);
    completeServerConfigurationNode(objectNode: ObjectNode, ctx: CurrentContext): Promise<void>;
    getConfig(): Promise<{
        [key: string]: any;
    }>;
    setConfig(configValue: any): Promise<void>;
    get(key: string, defaultValue?: () => Promise<any>): Promise<any>;
    registerNewConfigurationKey(key: string, type: any): void;
}
