import { Monitor } from '@neo-one/monitor';
import { ServerConfig } from '@neo-one/server-client';
import { Binary, Config, DescribeTable } from '@neo-one/server-plugin';
import { Observable } from 'rxjs';
import { PluginManager } from './PluginManager';
export declare class Server {
    static init$({ monitor, binary, serverConfig, }: {
        readonly monitor: Monitor;
        readonly binary: Binary;
        readonly serverConfig: Config<ServerConfig>;
    }): Observable<Server>;
    readonly serverConfig: Config<ServerConfig>;
    readonly dataPath: string;
    readonly pluginManager: PluginManager;
    private readonly monitor;
    private readonly mutableServerDebug;
    constructor({ monitor, serverConfig, dataPath, pluginManager, }: {
        readonly monitor: Monitor;
        readonly serverConfig: Config<ServerConfig>;
        readonly dataPath: string;
        readonly pluginManager: PluginManager;
    });
    start$(): Observable<any>;
    reset(): Promise<void>;
    getDebug(): DescribeTable;
    private getServerDebug;
    private getValue;
}
