/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */ /** JSON-RPC 2.0 message types */ export interface JsonRpcRequest { jsonrpc: '2.0'; id: number; method: string; params?: unknown | undefined; } export interface JsonRpcResponse { jsonrpc: '2.0'; id: number; result?: unknown | undefined; error?: { code: number; message: string; data?: unknown; }; } export interface JsonRpcNotification { jsonrpc: '2.0'; method: string; params?: unknown | undefined; } /** LSP position/location types */ export interface Position { line: number; character: number; } export interface Range { start: Position; end: Position; } export interface Location { uri: string; range: Range; } /** LSP document symbol */ export interface DocumentSymbol { name: string; kind: SymbolKind; range: Range; selectionRange: Range; children?: DocumentSymbol[] | undefined; } export declare enum SymbolKind { File = 1, Module = 2, Namespace = 3, Package = 4, Class = 5, Method = 6, Property = 7, Field = 8, Constructor = 9, Enum = 10, Interface = 11, Function = 12, Variable = 13, Constant = 14, String = 15, Number = 16, Boolean = 17, Array = 18, Object = 19, Key = 20, Null = 21, EnumMember = 22, Struct = 23, Event = 24, Operator = 25, TypeParameter = 26 } /** LSP diagnostic */ export interface Diagnostic { range: Range; severity?: 1 | 2 | 3 | 4; message: string; source?: string | undefined; } /** LSP hover result */ export interface Hover { contents: string | { kind: string; value: string; }; range?: Range | undefined; } /** LSP initialize params (minimal) */ export interface InitializeParams { processId: number; rootUri: string; capabilities: Record; } /** LSP text document identifier */ export interface TextDocumentIdentifier { uri: string; } export interface TextDocumentPositionParams { textDocument: TextDocumentIdentifier; position: Position; } //# sourceMappingURL=protocol.d.ts.map