import { type Connection, type Diagnostic as LspDiagnostic } from 'vscode-languageserver/node.js'; import { type EmitIrParams, type EmitIrResponse, type ProtocolCapability } from '@memoarchitect/tools'; export declare const IMPLEMENTATION_NAME = "sysmlc"; export declare function protocolCapability(version?: string): ProtocolCapability; export declare class SysmlcServer { private readonly version?; private readonly projects; constructor(version?: string | undefined); private state; /** * Answer `memo/emitIr`, or refuse to answer stale. * * The check happens after the work, not before it: a revision is superseded * by whatever arrived *while* it was compiling, and that is precisely the * window this rule exists to close. Handing back the finished-but-old model * would put a picture on the canvas of a revision the user has already * edited past, with nothing to tell them so. */ emitIr(params: EmitIrParams): Promise; /** Syntax diagnostics for one open document, in LSP's own shape. */ documentDiagnostics(text: string): Promise; /** Wire the server onto a connection. Split out so tests can drive it. */ listen(connection: Connection): void; } /** Entry point for `memo-sysmlc serve --stdio`. */ export declare function serveStdio(version?: string): void; /** Read this package's own version, for `--version` and the handshake. */ export declare function packageVersion(): string | undefined; //# sourceMappingURL=server.d.ts.map