@stacksjs/dtsx 0.9.9 → 0.9.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +243 -15
  3. package/dist/bin/cli.js +10 -22
  4. package/dist/branded-types.d.ts +150 -0
  5. package/dist/bundler.d.ts +55 -0
  6. package/dist/cache.d.ts +43 -0
  7. package/dist/checker.d.ts +107 -0
  8. package/dist/chunk-1bav913n.js +6 -0
  9. package/dist/chunk-2wbhe1k8.js +2 -0
  10. package/dist/chunk-3d18fhrg.js +3 -0
  11. package/dist/chunk-3g2v2ns2.js +2 -0
  12. package/dist/chunk-3j7r0fxz.js +2 -0
  13. package/dist/chunk-4qpg9xnt.js +3 -0
  14. package/dist/chunk-57agx6g8.js +3 -0
  15. package/dist/chunk-5vqtjws2.js +2 -0
  16. package/dist/chunk-6mwq397e.js +2 -0
  17. package/dist/chunk-6qv7p9sg.js +170 -0
  18. package/dist/chunk-6s7n1gt0.js +2 -0
  19. package/dist/chunk-74j5mydx.js +3 -0
  20. package/dist/chunk-7cpp6v8f.js +2 -0
  21. package/dist/chunk-9a6yn7sv.js +75 -0
  22. package/dist/chunk-axb2kjeq.js +2 -0
  23. package/dist/chunk-begk3j01.js +33 -0
  24. package/dist/chunk-cmenkst5.js +3 -0
  25. package/dist/chunk-d0p3jzwb.js +34 -0
  26. package/dist/chunk-f18nyrrb.js +32 -0
  27. package/dist/chunk-fb4c98h2.js +2 -0
  28. package/dist/chunk-ggmn4a8c.js +4 -0
  29. package/dist/chunk-hrmnrn4p.js +3 -0
  30. package/dist/chunk-j0y71ank.js +2 -0
  31. package/dist/chunk-j6aqdbc4.js +2 -0
  32. package/dist/chunk-jm5ywn4e.js +13 -0
  33. package/dist/chunk-knkfbqze.js +2 -0
  34. package/dist/chunk-n28rjf9h.js +3 -0
  35. package/dist/chunk-p1d09y82.js +449 -0
  36. package/dist/chunk-r1m3q3dj.js +2 -0
  37. package/dist/chunk-r1ywapeb.js +6 -0
  38. package/dist/chunk-rnt0wkrk.js +23 -0
  39. package/dist/chunk-rw6j20e2.js +3 -0
  40. package/dist/chunk-v96rjx7x.js +134 -0
  41. package/dist/chunk-w9abhtgg.js +22 -0
  42. package/dist/chunk-wfevdmvd.js +19 -0
  43. package/dist/chunk-ws2dmfvj.js +2 -0
  44. package/dist/chunk-xnq1xw73.js +15 -0
  45. package/dist/chunk-xyctgc6x.js +102 -0
  46. package/dist/chunk-y3q50bn2.js +2 -0
  47. package/dist/chunk-ywd4k4hn.js +3 -0
  48. package/dist/circular.d.ts +82 -0
  49. package/dist/compat.d.ts +108 -0
  50. package/dist/config.d.ts +33 -3
  51. package/dist/diff.d.ts +82 -0
  52. package/dist/docs.d.ts +97 -0
  53. package/dist/errors.d.ts +113 -0
  54. package/dist/extractor/builders.d.ts +38 -0
  55. package/dist/extractor/cache.d.ts +47 -0
  56. package/dist/extractor/declarations.d.ts +50 -0
  57. package/dist/extractor/directives.d.ts +9 -0
  58. package/dist/extractor/extract.d.ts +10 -0
  59. package/dist/extractor/hash.d.ts +1 -0
  60. package/dist/extractor/helpers.d.ts +39 -0
  61. package/dist/extractor/index.d.ts +70 -0
  62. package/dist/extractor/scanner.d.ts +6 -0
  63. package/dist/extractor.d.ts +3 -4
  64. package/dist/formats.d.ts +50 -0
  65. package/dist/formatter.d.ts +61 -0
  66. package/dist/generator.d.ts +12 -3
  67. package/dist/import-sorter.d.ts +99 -0
  68. package/dist/incremental.d.ts +84 -0
  69. package/dist/index.d.ts +54 -1
  70. package/dist/logger.d.ts +57 -0
  71. package/dist/lsp.d.ts +317 -0
  72. package/dist/memory.d.ts +110 -0
  73. package/dist/merger.d.ts +38 -0
  74. package/dist/optimizer.d.ts +52 -0
  75. package/dist/output-normalizer.d.ts +123 -0
  76. package/dist/parallel-processor.d.ts +63 -0
  77. package/dist/parser.d.ts +24 -15
  78. package/dist/plugins/bun.d.ts +58 -0
  79. package/dist/plugins/esbuild.d.ts +63 -0
  80. package/dist/plugins/index.d.ts +14 -0
  81. package/dist/plugins/tsup.d.ts +53 -0
  82. package/dist/plugins/vite.d.ts +49 -0
  83. package/dist/plugins/webpack.d.ts +66 -0
  84. package/dist/plugins.d.ts +83 -0
  85. package/dist/process-source.d.ts +11 -0
  86. package/dist/processor/cache.d.ts +16 -0
  87. package/dist/processor/comments.d.ts +7 -0
  88. package/dist/processor/declarations.d.ts +37 -0
  89. package/dist/processor/imports.d.ts +65 -0
  90. package/dist/processor/index.d.ts +34 -0
  91. package/dist/processor/type-inference.d.ts +106 -0
  92. package/dist/processor.d.ts +3 -43
  93. package/dist/profiling.d.ts +101 -0
  94. package/dist/security.d.ts +100 -0
  95. package/dist/sourcemap.d.ts +125 -0
  96. package/dist/src/index.js +55 -2
  97. package/dist/src/plugins/bun.js +2 -0
  98. package/dist/src/plugins/esbuild.js +2 -0
  99. package/dist/src/plugins/index.js +2 -0
  100. package/dist/src/plugins/tsup.js +2 -0
  101. package/dist/src/plugins/vite.js +2 -0
  102. package/dist/src/plugins/webpack.js +2 -0
  103. package/dist/tracking.d.ts +89 -0
  104. package/dist/transformers.d.ts +173 -0
  105. package/dist/tree-shaker.d.ts +69 -0
  106. package/dist/type-mappings.d.ts +124 -0
  107. package/dist/types.d.ts +137 -7
  108. package/dist/utils.d.ts +53 -1
  109. package/dist/watcher.d.ts +64 -0
  110. package/dist/worker.d.ts +84 -0
  111. package/dist/workspace.d.ts +62 -0
  112. package/package.json +49 -11
  113. package/dist/chunk-qsyn1k3w.js +0 -504
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Parse an import statement
3
+ */
4
+ export declare function parseImport(statement: string): ParsedImport | null;
5
+ /**
6
+ * Detect the group for an import source
7
+ */
8
+ export declare function detectGroup(source: string, isTypeOnly?: boolean): ImportGroup;
9
+ /**
10
+ * Sort imports according to configuration
11
+ */
12
+ export declare function sortImports(imports: string[], config?: ImportSortConfig): string[];
13
+ /**
14
+ * Sort imports in a file content
15
+ */
16
+ export declare function sortImportsInContent(content: string, config?: ImportSortConfig): string;
17
+ /**
18
+ * Create a configured import sorter
19
+ */
20
+ export declare function createImportSorter(config?: ImportSortConfig): {
21
+ sort: (imports: string[]) => string[]
22
+ sortContent: (content: string) => string
23
+ parse: typeof parseImport
24
+ detectGroup: typeof detectGroup
25
+ };
26
+ /**
27
+ * Default import group order
28
+ */
29
+ export declare const DEFAULT_GROUP_ORDER: ImportGroup[];
30
+ /**
31
+ * Preset configurations
32
+ */
33
+ export declare const presets: {
34
+ /**
35
+ * Default preset - groups by type, alphabetizes
36
+ */
37
+ default: unknown;
38
+ /**
39
+ * Node.js style - node: first, then external, then relative
40
+ */
41
+ node: unknown;
42
+ /**
43
+ * Bun style - bun first
44
+ */
45
+ bun: unknown;
46
+ /**
47
+ * Type imports separated
48
+ */
49
+ typeSeparated: unknown;
50
+ /**
51
+ * No grouping, just alphabetize
52
+ */
53
+ alphabetical: unknown;
54
+ /**
55
+ * Keep original order
56
+ */
57
+ none: unknown
58
+ };
59
+ /**
60
+ * Import sorting module for organizing imports in declaration files
61
+ */
62
+ /**
63
+ * Import sorting configuration
64
+ */
65
+ export declare interface ImportSortConfig {
66
+ order?: string[]
67
+ groupByType?: boolean
68
+ groups?: ImportGroup[]
69
+ alphabetize?: boolean
70
+ caseInsensitive?: boolean
71
+ typeImportsLast?: boolean
72
+ separateTypeImports?: boolean
73
+ customGroups?: Record<string, string[]>
74
+ }
75
+ /**
76
+ * Parsed import information
77
+ */
78
+ export declare interface ParsedImport {
79
+ statement: string
80
+ source: string
81
+ isTypeOnly: boolean
82
+ group: ImportGroup
83
+ specifiers: string[]
84
+ defaultImport?: string
85
+ namespaceImport?: string
86
+ lineNumber?: number
87
+ }
88
+ /**
89
+ * Import group types
90
+ */
91
+ export type ImportGroup = | 'builtin'
92
+ | 'external'
93
+ | 'internal'
94
+ | 'parent'
95
+ | 'sibling'
96
+ | 'index'
97
+ | 'type'
98
+ | 'unknown'
99
+ | string // Custom group name;
@@ -0,0 +1,84 @@
1
+ import type { Declaration, DtsGenerationConfig } from './types';
2
+ /**
3
+ * Create an incremental build wrapper
4
+ */
5
+ export declare function createIncrementalBuilder(cache: IncrementalCache, configHash: string): void;
6
+ /**
7
+ * Prune old cache entries
8
+ */
9
+ export declare function pruneCache(cache: IncrementalCache, _maxAge?: number, // 7 days default: unknown): Promise<number>;
10
+ /**
11
+ * Format incremental build result
12
+ */
13
+ export declare function formatIncrementalResult(result: IncrementalBuildResult): string;
14
+ /**
15
+ * Extract dependencies from source content
16
+ */
17
+ export declare function extractDependencies(content: string, basePath: string): string[];
18
+ /**
19
+ * Incremental build configuration
20
+ */
21
+ export declare interface IncrementalConfig {
22
+ enabled?: boolean
23
+ cacheDir?: string
24
+ format?: 'json' | 'binary'
25
+ maxAge?: number
26
+ force?: boolean
27
+ validateCache?: boolean
28
+ }
29
+ /**
30
+ * Cached file entry for incremental builds
31
+ */
32
+ export declare interface IncrementalCacheEntry {
33
+ filePath: string
34
+ hash: string
35
+ mtime: number
36
+ declarations: Declaration[]
37
+ dtsContent: string
38
+ dependencies: string[]
39
+ cachedAt: number
40
+ configHash: string
41
+ }
42
+ /**
43
+ * Cache manifest for incremental builds
44
+ */
45
+ export declare interface IncrementalCacheManifest {
46
+ version: string
47
+ entries: Record<string, IncrementalCacheEntry>
48
+ createdAt: number
49
+ updatedAt: number
50
+ }
51
+ /**
52
+ * Incremental build result
53
+ */
54
+ export declare interface IncrementalBuildResult {
55
+ rebuilt: string[]
56
+ cached: string[]
57
+ skipped: string[]
58
+ stats: CacheStats
59
+ }
60
+ /**
61
+ * Cache statistics
62
+ */
63
+ export declare interface CacheStats {
64
+ totalEntries: number
65
+ hits: number
66
+ misses: number
67
+ hitRatio: number
68
+ sizeBytes: number
69
+ timeSavedMs: number
70
+ }
71
+ /**
72
+ * Incremental build cache manager
73
+ */
74
+ export declare class IncrementalCache {
75
+ constructor(config?: IncrementalConfig);
76
+ init(): Promise<void>;
77
+ save(): Promise<void>;
78
+ get(filePath: string, configHash: string): Promise<IncrementalCacheEntry | null>;
79
+ set(filePath: string, content: string, declarations: Declaration[], dtsContent: string, dependencies: string[], configHash: string): Promise<void>;
80
+ invalidate(filePath: string): void;
81
+ clear(): Promise<void>;
82
+ getStats(): CacheStats;
83
+ static hashConfig(config: DtsGenerationConfig): string;
84
+ }
package/dist/index.d.ts CHANGED
@@ -1,7 +1,60 @@
1
+ /**
2
+ * @stacksjs/dtsx - A modern, fast .d.ts generation tool
3
+ *
4
+ * This module exports the full API. For minimal bundle size when only
5
+ * using the core generator, import directly from './generator'.
6
+ *
7
+ * Core exports (most commonly used):
8
+ * - generate, watch, processFile, processSource from './generator'
9
+ * - extractDeclarations, extractDeclarationsAsync from './extractor'
10
+ * - processDeclarations from './processor'
11
+ * - DtsGenerationConfig, Declaration types from './types'
12
+ *
13
+ * Optional/Advanced exports are available but may increase bundle size:
14
+ * - LSP support: './lsp'
15
+ * - Type checking: './checker'
16
+ * - Circular dependency detection: './circular'
17
+ * - Custom transformers: './transformers'
18
+ * - Worker pool: './worker'
19
+ */
20
+ // Common utilities
21
+ export * from './branded-types';
22
+ export * from './bundler';
23
+ export * from './cache';
24
+ export * from './checker';
25
+ // Advanced features - larger bundle impact
26
+ export * from './circular';
27
+ export * from './compat';
1
28
  export * from './config';
29
+ export * from './diff';
30
+ export * from './docs';
31
+ export * from './errors';
2
32
  export * from './extractor';
33
+ export * from './formats';
34
+ export * from './formatter';
35
+ // Core API - essential for dts generation
3
36
  export * from './generator';
37
+ export * from './import-sorter';
38
+ export * from './incremental';
39
+ export * from './logger';
40
+ export * from './lsp';
41
+ export * from './memory';
42
+ export * from './merger';
43
+ export * from './optimizer';
44
+ export * from './output-normalizer';
45
+ export * from './parallel-processor';
4
46
  export * from './parser';
47
+ export * from './plugins';
5
48
  export * from './processor';
49
+ export * from './profiling';
50
+ export * from './security';
51
+ export * from './sourcemap';
52
+ export * from './tracking';
53
+ export * from './transformers';
54
+ export * from './tree-shaker';
55
+ export * from './type-mappings';
6
56
  export * from './types';
7
- export * from './utils';
57
+ export * from './utils';
58
+ export * from './watcher';
59
+ export * from './worker';
60
+ export * from './workspace';
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Create a logger instance
3
+ */
4
+ export declare function createLogger(options?: LoggerOptions): Logger;
5
+ /**
6
+ * Create a scoped logger for a specific module
7
+ * @example
8
+ * const log = scopedLogger('extractor')
9
+ * log.debug('Parsing file...') // [dtsx:extractor] Parsing file...
10
+ */
11
+ export declare function scopedLogger(scope: string): Logger;
12
+ /**
13
+ * Set the global log level
14
+ */
15
+ export declare function setLogLevel(level: LogLevel): void;
16
+ /**
17
+ * Get the current log level
18
+ */
19
+ export declare function getLogLevel(): LogLevel;
20
+ /**
21
+ * Set the log prefix
22
+ */
23
+ export declare function setLogPrefix(prefix: string): void;
24
+ /**
25
+ * Enable or disable timestamps
26
+ */
27
+ export declare function setTimestamps(enabled: boolean): void;
28
+ /**
29
+ * Default logger instance
30
+ */
31
+ export declare const logger: Logger;
32
+ /**
33
+ * No-op logger for silent mode or testing
34
+ */
35
+ export declare const nullLogger: Logger;
36
+ export declare interface LoggerOptions {
37
+ level?: LogLevel
38
+ prefix?: string
39
+ timestamps?: boolean
40
+ output?: (level: LogLevel, ...args: unknown[]) => void
41
+ }
42
+ export declare interface Logger {
43
+ debug: (...args: unknown[]) => void
44
+ info: (...args: unknown[]) => void
45
+ warn: (...args: unknown[]) => void
46
+ error: (...args: unknown[]) => void
47
+ setLevel: (level: LogLevel) => void
48
+ getLevel: () => LogLevel
49
+ child: (scope: string) => Logger
50
+ time: (label: string) => () => void
51
+ progress: (message: string) => void
52
+ }
53
+ /**
54
+ * Logger abstraction for dtsx
55
+ * Provides configurable logging with verbosity levels and scoped loggers
56
+ */
57
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'silent';
package/dist/lsp.d.ts ADDED
@@ -0,0 +1,317 @@
1
+ /**
2
+ * Start LSP server on stdio
3
+ */
4
+ export declare function startLSPServer(): void;
5
+ /**
6
+ * Create a simple file watcher that emits diagnostics
7
+ */
8
+ export declare function createFileWatcher(server: DtsxLanguageServer, onDiagnostics: (uri: string, diagnostics: Diagnostic[]) => void): (filePath: string) => void;
9
+ /**
10
+ * LSP message types
11
+ */
12
+ export declare interface LSPMessage {
13
+ jsonrpc: '2.0'
14
+ id?: number | string
15
+ method?: string
16
+ params?: unknown
17
+ result?: unknown
18
+ error?: LSPError
19
+ }
20
+ export declare interface LSPError {
21
+ code: number
22
+ message: string
23
+ data?: unknown
24
+ }
25
+ /**
26
+ * LSP initialization params
27
+ */
28
+ export declare interface InitializeParams {
29
+ processId: number | null
30
+ rootUri: string | null
31
+ capabilities: ClientCapabilities
32
+ }
33
+ export declare interface ClientCapabilities {
34
+ textDocument?: {
35
+ synchronization?: {
36
+ dynamicRegistration?: boolean
37
+ willSave?: boolean
38
+ didSave?: boolean
39
+ }
40
+ hover?: {
41
+ dynamicRegistration?: boolean
42
+ contentFormat?: string[]
43
+ }
44
+ completion?: {
45
+ dynamicRegistration?: boolean
46
+ completionItem?: {
47
+ snippetSupport?: boolean
48
+ documentationFormat?: string[]
49
+ }
50
+ }
51
+ definition?: {
52
+ dynamicRegistration?: boolean
53
+ }
54
+ diagnostic?: {
55
+ dynamicRegistration?: boolean
56
+ }
57
+ }
58
+ workspace?: {
59
+ workspaceFolders?: boolean
60
+ configuration?: boolean
61
+ }
62
+ }
63
+ export declare interface ServerCapabilities {
64
+ textDocumentSync?: number
65
+ hoverProvider?: boolean
66
+ completionProvider?: {
67
+ triggerCharacters?: string[]
68
+ resolveProvider?: boolean
69
+ }
70
+ definitionProvider?: boolean
71
+ referencesProvider?: boolean
72
+ renameProvider?: boolean | { prepareProvider?: boolean }
73
+ documentSymbolProvider?: boolean
74
+ workspaceSymbolProvider?: boolean
75
+ codeActionProvider?: boolean | { codeActionKinds?: string[] }
76
+ signatureHelpProvider?: {
77
+ triggerCharacters?: string[]
78
+ retriggerCharacters?: string[]
79
+ }
80
+ documentHighlightProvider?: boolean
81
+ documentFormattingProvider?: boolean
82
+ diagnosticProvider?: {
83
+ interFileDependencies: boolean
84
+ workspaceDiagnostics: boolean
85
+ }
86
+ }
87
+ /**
88
+ * Text document item
89
+ */
90
+ export declare interface TextDocumentItem {
91
+ uri: string
92
+ languageId: string
93
+ version: number
94
+ text: string
95
+ }
96
+ /**
97
+ * Position in a text document
98
+ */
99
+ export declare interface Position {
100
+ line: number
101
+ character: number
102
+ }
103
+ /**
104
+ * Range in a text document
105
+ */
106
+ export declare interface Range {
107
+ start: Position
108
+ end: Position
109
+ }
110
+ /**
111
+ * Diagnostic message
112
+ */
113
+ export declare interface Diagnostic {
114
+ range: Range
115
+ severity?: LspDiagnosticSeverity
116
+ code?: string | number
117
+ source?: string
118
+ message: string
119
+ }
120
+ /**
121
+ * Hover response
122
+ */
123
+ export declare interface Hover {
124
+ contents: string | { kind: string, value: string }
125
+ range?: Range
126
+ }
127
+ /**
128
+ * Location for go-to-definition
129
+ */
130
+ export declare interface Location {
131
+ uri: string
132
+ range: Range
133
+ }
134
+ /**
135
+ * Document symbol
136
+ */
137
+ export declare interface DocumentSymbol {
138
+ name: string
139
+ detail?: string
140
+ kind: SymbolKind
141
+ range: Range
142
+ selectionRange: Range
143
+ children?: DocumentSymbol[]
144
+ }
145
+ /**
146
+ * Workspace symbol
147
+ */
148
+ export declare interface WorkspaceSymbol {
149
+ name: string
150
+ kind: SymbolKind
151
+ location: Location
152
+ containerName?: string
153
+ }
154
+ /**
155
+ * Code action
156
+ */
157
+ export declare interface CodeAction {
158
+ title: string
159
+ kind?: string
160
+ diagnostics?: Diagnostic[]
161
+ isPreferred?: boolean
162
+ edit?: WorkspaceEdit
163
+ command?: Command
164
+ }
165
+ /**
166
+ * Workspace edit
167
+ */
168
+ export declare interface WorkspaceEdit {
169
+ changes?: Record<string, TextEdit[]>
170
+ }
171
+ /**
172
+ * Text edit
173
+ */
174
+ export declare interface TextEdit {
175
+ range: Range
176
+ newText: string
177
+ }
178
+ /**
179
+ * Command
180
+ */
181
+ export declare interface Command {
182
+ title: string
183
+ command: string
184
+ arguments?: unknown[]
185
+ }
186
+ /**
187
+ * Signature help
188
+ */
189
+ export declare interface SignatureHelp {
190
+ signatures: SignatureInformation[]
191
+ activeSignature?: number
192
+ activeParameter?: number
193
+ }
194
+ /**
195
+ * Signature information
196
+ */
197
+ export declare interface SignatureInformation {
198
+ label: string
199
+ documentation?: string | { kind: string, value: string }
200
+ parameters?: ParameterInformation[]
201
+ }
202
+ /**
203
+ * Parameter information
204
+ */
205
+ export declare interface ParameterInformation {
206
+ label: string | [number, number]
207
+ documentation?: string | { kind: string, value: string }
208
+ }
209
+ /**
210
+ * Document highlight
211
+ */
212
+ export declare interface DocumentHighlight {
213
+ range: Range
214
+ kind?: DocumentHighlightKind
215
+ }
216
+ /**
217
+ * LSP Server for dtsx
218
+ */
219
+ export declare class DtsxLanguageServer {
220
+ initialize(params: InitializeParams): { capabilities: ServerCapabilities };
221
+ didOpen(params: { textDocument: TextDocumentItem }): void;
222
+ didChange(params: { textDocument: { uri: string, version: number }, contentChanges: Array<{ text: string }> }): void;
223
+ didClose(params: { textDocument: { uri: string } }): void;
224
+ getDiagnostics(uri: string): Diagnostic[];
225
+ hover(params: { textDocument: { uri: string }, position: Position }): Hover | null;
226
+ completion(params: { textDocument: { uri: string }, position: Position }): Array<{ label: string, kind: number, detail?: string, documentation?: string }>;
227
+ definition(params: { textDocument: { uri: string }, position: Position }): Location | null;
228
+ references(params: { textDocument: { uri: string }, position: Position, context: { includeDeclaration: boolean } }): Location[];
229
+ prepareRename(params: { textDocument: { uri: string }, position: Position }): { range: Range, placeholder: string } | null;
230
+ rename(params: { textDocument: { uri: string }, position: Position, newName: string }): WorkspaceEdit | null;
231
+ documentSymbols(params: { textDocument: { uri: string } }): DocumentSymbol[];
232
+ workspaceSymbols(params: { query: string }): WorkspaceSymbol[];
233
+ codeActions(params: { textDocument: { uri: string }, range: Range, context: { diagnostics: Diagnostic[] } }): CodeAction[];
234
+ signatureHelp(params: { textDocument: { uri: string }, position: Position }): SignatureHelp | null;
235
+ documentHighlight(params: { textDocument: { uri: string }, position: Position }): DocumentHighlight[];
236
+ formatting(params: { textDocument: { uri: string }, options: { tabSize: number, insertSpaces: boolean } }): Promise<TextEdit[]>;
237
+ generateDts(uri: string): string | null;
238
+ handleMessage(message: LSPMessage): LSPMessage | null;
239
+ }
240
+ /**
241
+ * LSP Diagnostic severity (matches LSP specification)
242
+ */
243
+ export declare enum LspDiagnosticSeverity {
244
+ Error = 1,
245
+ Warning = 2,
246
+ Information = 3,
247
+ Hint = 4,
248
+ }
249
+ /**
250
+ * Symbol kind enum (LSP spec)
251
+ */
252
+ export declare enum SymbolKind {
253
+ File = 1,
254
+ Module = 2,
255
+ Namespace = 3,
256
+ Package = 4,
257
+ Class = 5,
258
+ Method = 6,
259
+ Property = 7,
260
+ Field = 8,
261
+ Constructor = 9,
262
+ Enum = 10,
263
+ Interface = 11,
264
+ Function = 12,
265
+ Variable = 13,
266
+ Constant = 14,
267
+ String = 15,
268
+ Number = 16,
269
+ Boolean = 17,
270
+ Array = 18,
271
+ Object = 19,
272
+ Key = 20,
273
+ Null = 21,
274
+ EnumMember = 22,
275
+ Struct = 23,
276
+ Event = 24,
277
+ Operator = 25,
278
+ TypeParameter = 26,
279
+ }
280
+ /**
281
+ * Completion item kind enum
282
+ */
283
+ export declare enum CompletionItemKind {
284
+ Text = 1,
285
+ Method = 2,
286
+ Function = 3,
287
+ Constructor = 4,
288
+ Field = 5,
289
+ Variable = 6,
290
+ Class = 7,
291
+ Interface = 8,
292
+ Module = 9,
293
+ Property = 10,
294
+ Unit = 11,
295
+ Value = 12,
296
+ Enum = 13,
297
+ Keyword = 14,
298
+ Snippet = 15,
299
+ Color = 16,
300
+ File = 17,
301
+ Reference = 18,
302
+ Folder = 19,
303
+ EnumMember = 20,
304
+ Constant = 21,
305
+ Struct = 22,
306
+ Event = 23,
307
+ Operator = 24,
308
+ TypeParameter = 25,
309
+ }
310
+ /**
311
+ * Document highlight kind
312
+ */
313
+ export declare enum DocumentHighlightKind {
314
+ Text = 1,
315
+ Read = 2,
316
+ Write = 3,
317
+ }