import { Observable } from "rxjs";
import { IHeliosConfig } from "../interfaces/configs/config.interface";
import { ExecuteService } from "../services/execute.service";
import { EServerService } from "../services/server.service";
import { UtilityService } from "../services/utility.service";
/**
 * Helios client
 */
export declare class HeliosClient {
    /**
     * Disable constructor
     * @description Make client a singleton
     */
    private constructor();
    /**
     * eServer
     * @description eServer service
     */
    private static _eServer;
    /**
     * Execute
     * @description Execute service
     */
    private static _execute;
    /**
     * Utility
     * @description Utility service
     */
    private static _utility;
    private static changeSource;
    static readonly change$: Observable<IHeliosConfig>;
    /**
     * eServer
     * @description eServer service
     */
    static get EServer(): EServerService;
    /**
     * Execute
     * @description Execute service
     */
    static get Execute(): ExecuteService;
    /**
     * Utility
     * @description Utility service
     */
    static get Utility(): UtilityService;
    /**
     * Initialize
     * @param config
     */
    static initialize(config: IHeliosConfig): void;
}
