export declare namespace Protocol {
    interface DiscoveryPath {
        location: string;
    }
    interface ServerInstallation {
        location: string;
        name: string;
        version: string;
    }
    class ServerInstallationImpl implements ServerInstallation {
        location: string;
        name: string;
        version: string;
    }
    interface ServerConfig {
        id: string;
        processId: string;
        installation: ServerInstallation;
        attributes: {
            [index: string]: any;
        };
        status: ServerStatus;
    }
    class ServerConfigImpl implements ServerConfig {
        id: string;
        processId: string;
        installation: ServerInstallation;
        attributes: {
            [index: string]: any;
        };
        status: ServerStatus;
    }
    interface ServerStatus {
        state: number;
        message: string;
        ok: boolean;
    }
    interface Status {
        code: number;
        message: string;
        ok: boolean;
    }
    interface ServerOutput {
        config: ServerConfig;
        output: string;
    }
    interface JVM {
        id: string;
        location: string;
        version: string;
    }
    namespace ServerState {
        const UNKNOWN = 0;
        const STARTING = 1;
        const STARTED = 2;
        const RUNNING = 3;
        const STOPPING = 4;
        const STOPPED = 5;
        const ANALYZING = 6;
    }
}
