///
import * as lean_client from "lean-client-js-node";
import { EventEmitter } from "events";
declare type SyncString = any;
declare type Client = any;
declare type LeanServer = any;
declare type Message = any;
declare type Messages = Message[];
interface State {
tasks: any;
paths: {
[key: string]: Messages;
};
}
export declare class Lean extends EventEmitter {
paths: {
[key: string]: SyncString;
};
client: Client;
_server: LeanServer | undefined;
_state: State;
private running;
dbg: Function;
constructor(client: Client);
close(): void;
is_running(path: string): boolean;
private server;
register(path: string): Promise;
unregister(path: string): void;
kill(): void;
restart(): Promise;
info(path: string, line: number, column: number): Promise;
complete(path: string, line: number, column: number, skipCompletions?: boolean): Promise;
version(): Promise;
state(): State;
messages(path: string): any[];
}
export declare function lean_server(client: Client): Lean;
export {};