export interface Position { line: number; character: number; } export interface Range { start: Position; end: Position; } export interface Location { uri: string; range: Range; } export interface LocationLink { targetUri: string; targetRange: Range; targetSelectionRange: Range; } export declare enum DiagnosticSeverity { Error = 1, Warning = 2, Information = 3, Hint = 4 } export interface Diagnostic { range: Range; severity?: DiagnosticSeverity; code?: string | number; source?: string; message: string; } export interface PublishDiagnosticsParams { uri: string; version?: number; diagnostics: Diagnostic[]; } export interface TextEdit { range: Range; newText: string; } export interface WorkspaceEdit { changes?: Record; documentChanges?: Array<{ textDocument: { uri: string; version: number | null; }; edits: TextEdit[]; }>; } export interface Hover { contents: string | { kind: string; value: string; } | Array; range?: Range; } export interface MarkupContent { kind: "plaintext" | "markdown"; value: string; } export type RpcId = number | string; export interface RpcRequest { jsonrpc: "2.0"; id: RpcId; method: string; params?: unknown; } export interface RpcNotification { jsonrpc: "2.0"; method: string; params?: unknown; } export interface RpcResponse { jsonrpc: "2.0"; id: RpcId; result?: unknown; error?: { code: number; message: string; data?: unknown; }; } //# sourceMappingURL=protocol.d.ts.map