@nice2dev/ui-tools 1.0.10

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 (158) hide show
  1. package/README.md +36 -0
  2. package/dist/access-control.d.ts +726 -0
  3. package/dist/access-control.d.ts.map +1 -0
  4. package/dist/accessibility-i18n.d.ts +1017 -0
  5. package/dist/accessibility-i18n.d.ts.map +1 -0
  6. package/dist/ai-assistant.d.ts +263 -0
  7. package/dist/ai-assistant.d.ts.map +1 -0
  8. package/dist/ai-playgrounds.d.ts +842 -0
  9. package/dist/ai-playgrounds.d.ts.map +1 -0
  10. package/dist/alerting-incidents.d.ts +558 -0
  11. package/dist/alerting-incidents.d.ts.map +1 -0
  12. package/dist/api-designer.d.ts +1568 -0
  13. package/dist/api-designer.d.ts.map +1 -0
  14. package/dist/api-testing.d.ts +1146 -0
  15. package/dist/api-testing.d.ts.map +1 -0
  16. package/dist/apm-profiling.d.ts +656 -0
  17. package/dist/apm-profiling.d.ts.map +1 -0
  18. package/dist/artifacts.d.ts +421 -0
  19. package/dist/artifacts.d.ts.map +1 -0
  20. package/dist/audit-compliance.d.ts +752 -0
  21. package/dist/audit-compliance.d.ts.map +1 -0
  22. package/dist/certificates.d.ts +256 -0
  23. package/dist/certificates.d.ts.map +1 -0
  24. package/dist/chart-builder.d.ts +1404 -0
  25. package/dist/chart-builder.d.ts.map +1 -0
  26. package/dist/cloud-instances.d.ts +169 -0
  27. package/dist/cloud-instances.d.ts.map +1 -0
  28. package/dist/config-management.d.ts +350 -0
  29. package/dist/config-management.d.ts.map +1 -0
  30. package/dist/containers.d.ts +256 -0
  31. package/dist/containers.d.ts.map +1 -0
  32. package/dist/dashboard-designer.d.ts +1238 -0
  33. package/dist/dashboard-designer.d.ts.map +1 -0
  34. package/dist/data-management.d.ts +496 -0
  35. package/dist/data-management.d.ts.map +1 -0
  36. package/dist/data-pipeline.d.ts +1105 -0
  37. package/dist/data-pipeline.d.ts.map +1 -0
  38. package/dist/data-warehouse.d.ts +1097 -0
  39. package/dist/data-warehouse.d.ts.map +1 -0
  40. package/dist/dataset-management.d.ts +782 -0
  41. package/dist/dataset-management.d.ts.map +1 -0
  42. package/dist/db-adapters.d.ts +704 -0
  43. package/dist/db-adapters.d.ts.map +1 -0
  44. package/dist/db-admin.d.ts +699 -0
  45. package/dist/db-admin.d.ts.map +1 -0
  46. package/dist/db-designer.d.ts +366 -0
  47. package/dist/db-designer.d.ts.map +1 -0
  48. package/dist/debugger.d.ts +356 -0
  49. package/dist/debugger.d.ts.map +1 -0
  50. package/dist/device-management.d.ts +871 -0
  51. package/dist/device-management.d.ts.map +1 -0
  52. package/dist/distributed-tracing.d.ts +427 -0
  53. package/dist/distributed-tracing.d.ts.map +1 -0
  54. package/dist/dns-management.d.ts +215 -0
  55. package/dist/dns-management.d.ts.map +1 -0
  56. package/dist/download-manager.d.ts +271 -0
  57. package/dist/download-manager.d.ts.map +1 -0
  58. package/dist/download-torrent.d.ts +1062 -0
  59. package/dist/download-torrent.d.ts.map +1 -0
  60. package/dist/edge-computing.d.ts +720 -0
  61. package/dist/edge-computing.d.ts.map +1 -0
  62. package/dist/education.d.ts +1135 -0
  63. package/dist/education.d.ts.map +1 -0
  64. package/dist/email-template.d.ts +1141 -0
  65. package/dist/email-template.d.ts.map +1 -0
  66. package/dist/erp-enterprise.d.ts +1270 -0
  67. package/dist/erp-enterprise.d.ts.map +1 -0
  68. package/dist/form-builder.d.ts +1117 -0
  69. package/dist/form-builder.d.ts.map +1 -0
  70. package/dist/game-engine-advanced.d.ts +1049 -0
  71. package/dist/game-engine-advanced.d.ts.map +1 -0
  72. package/dist/git.d.ts +415 -0
  73. package/dist/git.d.ts.map +1 -0
  74. package/dist/hardware-integration.d.ts +966 -0
  75. package/dist/hardware-integration.d.ts.map +1 -0
  76. package/dist/iac.d.ts +318 -0
  77. package/dist/iac.d.ts.map +1 -0
  78. package/dist/icon-tools.d.ts +1023 -0
  79. package/dist/icon-tools.d.ts.map +1 -0
  80. package/dist/ide.d.ts +322 -0
  81. package/dist/ide.d.ts.map +1 -0
  82. package/dist/index.cjs +2 -0
  83. package/dist/index.cjs.map +1 -0
  84. package/dist/index.d.ts +176 -0
  85. package/dist/index.d.ts.map +1 -0
  86. package/dist/index.mjs +1887 -0
  87. package/dist/index.mjs.map +1 -0
  88. package/dist/integration-platform.d.ts +857 -0
  89. package/dist/integration-platform.d.ts.map +1 -0
  90. package/dist/kubernetes.d.ts +278 -0
  91. package/dist/kubernetes.d.ts.map +1 -0
  92. package/dist/life-management.d.ts +1132 -0
  93. package/dist/life-management.d.ts.map +1 -0
  94. package/dist/log-management.d.ts +473 -0
  95. package/dist/log-management.d.ts.map +1 -0
  96. package/dist/mathematics.d.ts +870 -0
  97. package/dist/mathematics.d.ts.map +1 -0
  98. package/dist/message-queue.d.ts +1006 -0
  99. package/dist/message-queue.d.ts.map +1 -0
  100. package/dist/metrics-dashboard.d.ts +596 -0
  101. package/dist/metrics-dashboard.d.ts.map +1 -0
  102. package/dist/mobile-components.d.ts +766 -0
  103. package/dist/mobile-components.d.ts.map +1 -0
  104. package/dist/model-deployment.d.ts +787 -0
  105. package/dist/model-deployment.d.ts.map +1 -0
  106. package/dist/model-registry.d.ts +740 -0
  107. package/dist/model-registry.d.ts.map +1 -0
  108. package/dist/model-training.d.ts +706 -0
  109. package/dist/model-training.d.ts.map +1 -0
  110. package/dist/network-config.d.ts +334 -0
  111. package/dist/network-config.d.ts.map +1 -0
  112. package/dist/network-monitoring.d.ts +291 -0
  113. package/dist/network-monitoring.d.ts.map +1 -0
  114. package/dist/pdf-tools.d.ts +1003 -0
  115. package/dist/pdf-tools.d.ts.map +1 -0
  116. package/dist/pipelines.d.ts +250 -0
  117. package/dist/pipelines.d.ts.map +1 -0
  118. package/dist/remote-desktop.d.ts +207 -0
  119. package/dist/remote-desktop.d.ts.map +1 -0
  120. package/dist/report-designer.d.ts +1153 -0
  121. package/dist/report-designer.d.ts.map +1 -0
  122. package/dist/scada-industrial.d.ts +848 -0
  123. package/dist/scada-industrial.d.ts.map +1 -0
  124. package/dist/scientific-research.d.ts +1149 -0
  125. package/dist/scientific-research.d.ts.map +1 -0
  126. package/dist/secret-management.d.ts +617 -0
  127. package/dist/secret-management.d.ts.map +1 -0
  128. package/dist/security-scanning.d.ts +714 -0
  129. package/dist/security-scanning.d.ts.map +1 -0
  130. package/dist/self-service-analytics.d.ts +1208 -0
  131. package/dist/self-service-analytics.d.ts.map +1 -0
  132. package/dist/sensor-dashboard.d.ts +845 -0
  133. package/dist/sensor-dashboard.d.ts.map +1 -0
  134. package/dist/server-management.d.ts +331 -0
  135. package/dist/server-management.d.ts.map +1 -0
  136. package/dist/smart-home.d.ts +861 -0
  137. package/dist/smart-home.d.ts.map +1 -0
  138. package/dist/spreadsheet.d.ts +1043 -0
  139. package/dist/spreadsheet.d.ts.map +1 -0
  140. package/dist/sql-editor.d.ts +402 -0
  141. package/dist/sql-editor.d.ts.map +1 -0
  142. package/dist/terminal.d.ts +245 -0
  143. package/dist/terminal.d.ts.map +1 -0
  144. package/dist/testing-qa.d.ts +1013 -0
  145. package/dist/testing-qa.d.ts.map +1 -0
  146. package/dist/torrent-client.d.ts +298 -0
  147. package/dist/torrent-client.d.ts.map +1 -0
  148. package/dist/traceless.d.ts +759 -0
  149. package/dist/traceless.d.ts.map +1 -0
  150. package/dist/virtual-machines.d.ts +199 -0
  151. package/dist/virtual-machines.d.ts.map +1 -0
  152. package/dist/visual-scripting.d.ts +381 -0
  153. package/dist/visual-scripting.d.ts.map +1 -0
  154. package/dist/word-processor.d.ts +1124 -0
  155. package/dist/word-processor.d.ts.map +1 -0
  156. package/dist/workspace.d.ts +333 -0
  157. package/dist/workspace.d.ts.map +1 -0
  158. package/package.json +62 -0
@@ -0,0 +1,1568 @@
1
+ /**
2
+ * @file api-designer.ts
3
+ * @module @nice2dev/ui-tools
4
+ * @description PRO-13.1 — API Designer
5
+ *
6
+ * Types for API design tools: OpenAPI, GraphQL, AsyncAPI, Protocol Buffers,
7
+ * Thrift, Avro, schema visualization, mock servers, code generation, and more.
8
+ */
9
+ /** HTTP method type */
10
+ export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD' | 'OPTIONS' | 'TRACE';
11
+ /** Parameter location */
12
+ export type ParameterLocation = 'path' | 'query' | 'header' | 'cookie' | 'body';
13
+ /** Data format type */
14
+ export type SchemaFormat = 'int32' | 'int64' | 'float' | 'double' | 'byte' | 'binary' | 'date' | 'date-time' | 'password' | 'email' | 'uri' | 'uuid' | 'hostname' | 'ipv4' | 'ipv6';
15
+ /** Primitive schema type */
16
+ export type SchemaType = 'string' | 'number' | 'integer' | 'boolean' | 'array' | 'object' | 'null';
17
+ /** OpenAPI specification document */
18
+ export interface OpenAPISpec {
19
+ /** OpenAPI version (3.0.x, 3.1.x) */
20
+ openapi: string;
21
+ /** API information */
22
+ info: OpenAPIInfo;
23
+ /** Server URLs */
24
+ servers?: OpenAPIServer[];
25
+ /** API paths */
26
+ paths: Record<string, OpenAPIPathItem>;
27
+ /** Reusable components */
28
+ components?: OpenAPIComponents;
29
+ /** Security requirements */
30
+ security?: OpenAPISecurityRequirement[];
31
+ /** Tags for grouping */
32
+ tags?: OpenAPITag[];
33
+ /** External documentation */
34
+ externalDocs?: OpenAPIExternalDocs;
35
+ }
36
+ /** API info object */
37
+ export interface OpenAPIInfo {
38
+ /** API title */
39
+ title: string;
40
+ /** API version */
41
+ version: string;
42
+ /** API description */
43
+ description?: string;
44
+ /** Terms of service URL */
45
+ termsOfService?: string;
46
+ /** Contact information */
47
+ contact?: OpenAPIContact;
48
+ /** License information */
49
+ license?: OpenAPILicense;
50
+ }
51
+ /** Contact information */
52
+ export interface OpenAPIContact {
53
+ name?: string;
54
+ url?: string;
55
+ email?: string;
56
+ }
57
+ /** License information */
58
+ export interface OpenAPILicense {
59
+ name: string;
60
+ url?: string;
61
+ identifier?: string;
62
+ }
63
+ /** Server object */
64
+ export interface OpenAPIServer {
65
+ url: string;
66
+ description?: string;
67
+ variables?: Record<string, OpenAPIServerVariable>;
68
+ }
69
+ /** Server variable */
70
+ export interface OpenAPIServerVariable {
71
+ default: string;
72
+ description?: string;
73
+ enum?: string[];
74
+ }
75
+ /** Path item object */
76
+ export interface OpenAPIPathItem {
77
+ summary?: string;
78
+ description?: string;
79
+ get?: OpenAPIOperation;
80
+ post?: OpenAPIOperation;
81
+ put?: OpenAPIOperation;
82
+ patch?: OpenAPIOperation;
83
+ delete?: OpenAPIOperation;
84
+ head?: OpenAPIOperation;
85
+ options?: OpenAPIOperation;
86
+ trace?: OpenAPIOperation;
87
+ parameters?: OpenAPIParameter[];
88
+ }
89
+ /** Operation object */
90
+ export interface OpenAPIOperation {
91
+ operationId?: string;
92
+ summary?: string;
93
+ description?: string;
94
+ tags?: string[];
95
+ parameters?: OpenAPIParameter[];
96
+ requestBody?: OpenAPIRequestBody;
97
+ responses: Record<string, OpenAPIResponse>;
98
+ security?: OpenAPISecurityRequirement[];
99
+ deprecated?: boolean;
100
+ servers?: OpenAPIServer[];
101
+ externalDocs?: OpenAPIExternalDocs;
102
+ 'x-codegen-request-body-name'?: string;
103
+ callbacks?: Record<string, Record<string, OpenAPIPathItem>>;
104
+ }
105
+ /** Parameter object */
106
+ export interface OpenAPIParameter {
107
+ name: string;
108
+ in: ParameterLocation;
109
+ description?: string;
110
+ required?: boolean;
111
+ deprecated?: boolean;
112
+ allowEmptyValue?: boolean;
113
+ schema?: OpenAPISchema;
114
+ style?: ParameterStyle;
115
+ explode?: boolean;
116
+ example?: unknown;
117
+ examples?: Record<string, OpenAPIExample>;
118
+ }
119
+ /** Parameter serialization style */
120
+ export type ParameterStyle = 'matrix' | 'label' | 'form' | 'simple' | 'spaceDelimited' | 'pipeDelimited' | 'deepObject';
121
+ /** Request body object */
122
+ export interface OpenAPIRequestBody {
123
+ description?: string;
124
+ required?: boolean;
125
+ content: Record<string, OpenAPIMediaType>;
126
+ }
127
+ /** Media type object */
128
+ export interface OpenAPIMediaType {
129
+ schema?: OpenAPISchema;
130
+ example?: unknown;
131
+ examples?: Record<string, OpenAPIExample>;
132
+ encoding?: Record<string, OpenAPIEncoding>;
133
+ }
134
+ /** Encoding object for multipart */
135
+ export interface OpenAPIEncoding {
136
+ contentType?: string;
137
+ headers?: Record<string, OpenAPIHeader>;
138
+ style?: ParameterStyle;
139
+ explode?: boolean;
140
+ allowReserved?: boolean;
141
+ }
142
+ /** Header object */
143
+ export interface OpenAPIHeader extends Omit<OpenAPIParameter, 'name' | 'in'> {
144
+ }
145
+ /** Response object */
146
+ export interface OpenAPIResponse {
147
+ description: string;
148
+ headers?: Record<string, OpenAPIHeader>;
149
+ content?: Record<string, OpenAPIMediaType>;
150
+ links?: Record<string, OpenAPILink>;
151
+ }
152
+ /** Link object */
153
+ export interface OpenAPILink {
154
+ operationRef?: string;
155
+ operationId?: string;
156
+ parameters?: Record<string, unknown>;
157
+ requestBody?: unknown;
158
+ description?: string;
159
+ server?: OpenAPIServer;
160
+ }
161
+ /** Schema object */
162
+ export interface OpenAPISchema {
163
+ $ref?: string;
164
+ type?: SchemaType | SchemaType[];
165
+ format?: SchemaFormat | string;
166
+ title?: string;
167
+ description?: string;
168
+ default?: unknown;
169
+ example?: unknown;
170
+ enum?: unknown[];
171
+ const?: unknown;
172
+ nullable?: boolean;
173
+ readOnly?: boolean;
174
+ writeOnly?: boolean;
175
+ deprecated?: boolean;
176
+ minLength?: number;
177
+ maxLength?: number;
178
+ pattern?: string;
179
+ minimum?: number;
180
+ maximum?: number;
181
+ exclusiveMinimum?: number | boolean;
182
+ exclusiveMaximum?: number | boolean;
183
+ multipleOf?: number;
184
+ items?: OpenAPISchema;
185
+ minItems?: number;
186
+ maxItems?: number;
187
+ uniqueItems?: boolean;
188
+ contains?: OpenAPISchema;
189
+ minContains?: number;
190
+ maxContains?: number;
191
+ properties?: Record<string, OpenAPISchema>;
192
+ additionalProperties?: boolean | OpenAPISchema;
193
+ required?: string[];
194
+ minProperties?: number;
195
+ maxProperties?: number;
196
+ patternProperties?: Record<string, OpenAPISchema>;
197
+ propertyNames?: OpenAPISchema;
198
+ allOf?: OpenAPISchema[];
199
+ oneOf?: OpenAPISchema[];
200
+ anyOf?: OpenAPISchema[];
201
+ not?: OpenAPISchema;
202
+ discriminator?: OpenAPIDiscriminator;
203
+ externalDocs?: OpenAPIExternalDocs;
204
+ xml?: OpenAPIXml;
205
+ }
206
+ /** Discriminator object */
207
+ export interface OpenAPIDiscriminator {
208
+ propertyName: string;
209
+ mapping?: Record<string, string>;
210
+ }
211
+ /** XML object */
212
+ export interface OpenAPIXml {
213
+ name?: string;
214
+ namespace?: string;
215
+ prefix?: string;
216
+ attribute?: boolean;
217
+ wrapped?: boolean;
218
+ }
219
+ /** Example object */
220
+ export interface OpenAPIExample {
221
+ summary?: string;
222
+ description?: string;
223
+ value?: unknown;
224
+ externalValue?: string;
225
+ }
226
+ /** Security scheme object */
227
+ export interface OpenAPISecurityScheme {
228
+ type: 'apiKey' | 'http' | 'oauth2' | 'openIdConnect' | 'mutualTLS';
229
+ description?: string;
230
+ name?: string;
231
+ in?: 'query' | 'header' | 'cookie';
232
+ scheme?: string;
233
+ bearerFormat?: string;
234
+ flows?: OpenAPIOAuthFlows;
235
+ openIdConnectUrl?: string;
236
+ }
237
+ /** OAuth flows object */
238
+ export interface OpenAPIOAuthFlows {
239
+ implicit?: OpenAPIOAuthFlow;
240
+ password?: OpenAPIOAuthFlow;
241
+ clientCredentials?: OpenAPIOAuthFlow;
242
+ authorizationCode?: OpenAPIOAuthFlow;
243
+ }
244
+ /** OAuth flow object */
245
+ export interface OpenAPIOAuthFlow {
246
+ authorizationUrl?: string;
247
+ tokenUrl?: string;
248
+ refreshUrl?: string;
249
+ scopes: Record<string, string>;
250
+ }
251
+ /** Security requirement object */
252
+ export type OpenAPISecurityRequirement = Record<string, string[]>;
253
+ /** Tag object */
254
+ export interface OpenAPITag {
255
+ name: string;
256
+ description?: string;
257
+ externalDocs?: OpenAPIExternalDocs;
258
+ }
259
+ /** External documentation object */
260
+ export interface OpenAPIExternalDocs {
261
+ url: string;
262
+ description?: string;
263
+ }
264
+ /** Components object */
265
+ export interface OpenAPIComponents {
266
+ schemas?: Record<string, OpenAPISchema>;
267
+ responses?: Record<string, OpenAPIResponse>;
268
+ parameters?: Record<string, OpenAPIParameter>;
269
+ examples?: Record<string, OpenAPIExample>;
270
+ requestBodies?: Record<string, OpenAPIRequestBody>;
271
+ headers?: Record<string, OpenAPIHeader>;
272
+ securitySchemes?: Record<string, OpenAPISecurityScheme>;
273
+ links?: Record<string, OpenAPILink>;
274
+ callbacks?: Record<string, Record<string, OpenAPIPathItem>>;
275
+ pathItems?: Record<string, OpenAPIPathItem>;
276
+ }
277
+ /** OpenAPI editor configuration */
278
+ export interface OpenAPIEditorConfig {
279
+ /** Spec source (URL, file, or inline)*/
280
+ source: OpenAPISource;
281
+ /** Editor theme */
282
+ theme?: 'light' | 'dark' | 'swagger';
283
+ /** Enable spec validation */
284
+ validation?: boolean;
285
+ /** Validation rules */
286
+ validationRules?: OpenAPIValidationConfig;
287
+ /** Enable autocomplete */
288
+ autocomplete?: boolean;
289
+ /** Show preview panel */
290
+ showPreview?: boolean;
291
+ /** Preview layout */
292
+ previewLayout?: 'split' | 'tabs';
293
+ /** Enable YAML/JSON toggle */
294
+ formatToggle?: boolean;
295
+ /** Default format */
296
+ defaultFormat?: 'yaml' | 'json';
297
+ /** Read-only mode */
298
+ readOnly?: boolean;
299
+ /** Auto-save interval (ms) */
300
+ autoSaveInterval?: number;
301
+ /** Version history */
302
+ enableHistory?: boolean;
303
+ /** Collaboration mode */
304
+ collaboration?: CollaborationConfig;
305
+ }
306
+ /** OpenAPI source configuration */
307
+ export interface OpenAPISource {
308
+ type: 'url' | 'file' | 'inline';
309
+ url?: string;
310
+ content?: string;
311
+ format?: 'yaml' | 'json';
312
+ }
313
+ /** Validation configuration */
314
+ export interface OpenAPIValidationConfig {
315
+ /** Validate on change */
316
+ validateOnChange?: boolean;
317
+ /** Validation level */
318
+ level?: 'error' | 'warning' | 'info';
319
+ /** Rules to enable/disable */
320
+ rules?: Record<string, boolean>;
321
+ /** Custom validators */
322
+ customValidators?: OpenAPIValidator[];
323
+ }
324
+ /** Custom validator */
325
+ export interface OpenAPIValidator {
326
+ name: string;
327
+ description?: string;
328
+ validate: (spec: OpenAPISpec) => OpenAPIValidationResult[];
329
+ }
330
+ /** Validation result */
331
+ export interface OpenAPIValidationResult {
332
+ level: 'error' | 'warning' | 'info';
333
+ message: string;
334
+ path: string;
335
+ line?: number;
336
+ column?: number;
337
+ rule?: string;
338
+ }
339
+ /** Collaboration configuration */
340
+ export interface CollaborationConfig {
341
+ enabled: boolean;
342
+ provider?: 'yjs' | 'automerge' | 'custom';
343
+ serverUrl?: string;
344
+ roomId?: string;
345
+ userName?: string;
346
+ userColor?: string;
347
+ }
348
+ /** GraphQL schema document */
349
+ export interface GraphQLSchemaDefinition {
350
+ /** Raw SDL */
351
+ sdl: string;
352
+ /** Parsed types */
353
+ types: GraphQLTypeDefinition[];
354
+ /** Root query type name */
355
+ queryType?: string;
356
+ /** Root mutation type name */
357
+ mutationType?: string;
358
+ /** Root subscription type name */
359
+ subscriptionType?: string;
360
+ /** Directives */
361
+ directives: GraphQLDirectiveDefinition[];
362
+ }
363
+ /** GraphQL type definition */
364
+ export interface GraphQLTypeDefinition {
365
+ kind: GraphQLTypeKind;
366
+ name: string;
367
+ description?: string;
368
+ fields?: GraphQLFieldDefinition[];
369
+ interfaces?: string[];
370
+ possibleTypes?: string[];
371
+ enumValues?: GraphQLEnumValue[];
372
+ inputFields?: GraphQLInputValue[];
373
+ directives?: GraphQLDirectiveUsage[];
374
+ }
375
+ /** GraphQL type kind */
376
+ export type GraphQLTypeKind = 'SCALAR' | 'OBJECT' | 'INTERFACE' | 'UNION' | 'ENUM' | 'INPUT_OBJECT';
377
+ /** GraphQL field definition */
378
+ export interface GraphQLFieldDefinition {
379
+ name: string;
380
+ description?: string;
381
+ type: GraphQLTypeRef;
382
+ args?: GraphQLInputValue[];
383
+ deprecationReason?: string;
384
+ directives?: GraphQLDirectiveUsage[];
385
+ }
386
+ /** GraphQL type reference */
387
+ export interface GraphQLTypeRef {
388
+ kind: 'SCALAR' | 'OBJECT' | 'INTERFACE' | 'UNION' | 'ENUM' | 'INPUT_OBJECT' | 'NON_NULL' | 'LIST';
389
+ name?: string;
390
+ ofType?: GraphQLTypeRef;
391
+ }
392
+ /** GraphQL input value (field arg or input field) */
393
+ export interface GraphQLInputValue {
394
+ name: string;
395
+ description?: string;
396
+ type: GraphQLTypeRef;
397
+ defaultValue?: string;
398
+ deprecationReason?: string;
399
+ directives?: GraphQLDirectiveUsage[];
400
+ }
401
+ /** GraphQL enum value */
402
+ export interface GraphQLEnumValue {
403
+ name: string;
404
+ description?: string;
405
+ deprecationReason?: string;
406
+ directives?: GraphQLDirectiveUsage[];
407
+ }
408
+ /** GraphQL directive definition */
409
+ export interface GraphQLDirectiveDefinition {
410
+ name: string;
411
+ description?: string;
412
+ locations: GraphQLDirectiveLocation[];
413
+ args?: GraphQLInputValue[];
414
+ isRepeatable?: boolean;
415
+ }
416
+ /** GraphQL directive location */
417
+ export type GraphQLDirectiveLocation = 'QUERY' | 'MUTATION' | 'SUBSCRIPTION' | 'FIELD' | 'FRAGMENT_DEFINITION' | 'FRAGMENT_SPREAD' | 'INLINE_FRAGMENT' | 'VARIABLE_DEFINITION' | 'SCHEMA' | 'SCALAR' | 'OBJECT' | 'FIELD_DEFINITION' | 'ARGUMENT_DEFINITION' | 'INTERFACE' | 'UNION' | 'ENUM' | 'ENUM_VALUE' | 'INPUT_OBJECT' | 'INPUT_FIELD_DEFINITION';
418
+ /** GraphQL directive usage */
419
+ export interface GraphQLDirectiveUsage {
420
+ name: string;
421
+ args?: Record<string, unknown>;
422
+ }
423
+ /** GraphQL editor configuration */
424
+ export interface GraphQLEditorConfig {
425
+ /** Schema source */
426
+ source: GraphQLSource;
427
+ /** Explorer enabled */
428
+ showExplorer?: boolean;
429
+ /** Documentation panel */
430
+ showDocs?: boolean;
431
+ /** Query history */
432
+ enableHistory?: boolean;
433
+ /** Prettify on save */
434
+ prettify?: boolean;
435
+ /** Tab size */
436
+ tabSize?: number;
437
+ /** Use tabs */
438
+ useTabs?: boolean;
439
+ /** Theme */
440
+ theme?: 'light' | 'dark' | 'graphiql';
441
+ /** Headers for introspection */
442
+ headers?: Record<string, string>;
443
+ /** Subscription endpoint */
444
+ subscriptionEndpoint?: string;
445
+ }
446
+ /** GraphQL source */
447
+ export interface GraphQLSource {
448
+ type: 'url' | 'file' | 'inline';
449
+ /** Introspection endpoint URL */
450
+ url?: string;
451
+ /** SDL content */
452
+ sdl?: string;
453
+ /** File path */
454
+ path?: string;
455
+ }
456
+ /** AsyncAPI specification document */
457
+ export interface AsyncAPISpec {
458
+ asyncapi: string;
459
+ info: AsyncAPIInfo;
460
+ servers?: Record<string, AsyncAPIServer>;
461
+ channels: Record<string, AsyncAPIChannel>;
462
+ components?: AsyncAPIComponents;
463
+ tags?: AsyncAPITag[];
464
+ externalDocs?: AsyncAPIExternalDocs;
465
+ defaultContentType?: string;
466
+ }
467
+ /** AsyncAPI info */
468
+ export interface AsyncAPIInfo {
469
+ title: string;
470
+ version: string;
471
+ description?: string;
472
+ termsOfService?: string;
473
+ contact?: AsyncAPIContact;
474
+ license?: AsyncAPILicense;
475
+ }
476
+ /** AsyncAPI contact */
477
+ export interface AsyncAPIContact {
478
+ name?: string;
479
+ url?: string;
480
+ email?: string;
481
+ }
482
+ /** AsyncAPI license */
483
+ export interface AsyncAPILicense {
484
+ name: string;
485
+ url?: string;
486
+ }
487
+ /** AsyncAPI server */
488
+ export interface AsyncAPIServer {
489
+ url: string;
490
+ protocol: AsyncAPIProtocol;
491
+ protocolVersion?: string;
492
+ description?: string;
493
+ variables?: Record<string, AsyncAPIServerVariable>;
494
+ security?: Record<string, string[]>[];
495
+ bindings?: AsyncAPIServerBindings;
496
+ }
497
+ /** AsyncAPI protocol */
498
+ export type AsyncAPIProtocol = 'amqp' | 'amqps' | 'http' | 'https' | 'kafka' | 'kafka-secure' | 'mqtt' | 'mqtts' | 'ws' | 'wss' | 'stomp' | 'stomps' | 'jms' | 'nats' | 'redis' | 'sns' | 'sqs' | 'pulsar' | 'solace';
499
+ /** Server variable */
500
+ export interface AsyncAPIServerVariable {
501
+ default?: string;
502
+ description?: string;
503
+ enum?: string[];
504
+ examples?: string[];
505
+ }
506
+ /** Server bindings */
507
+ export interface AsyncAPIServerBindings {
508
+ mqtt?: MqttServerBinding;
509
+ kafka?: KafkaServerBinding;
510
+ amqp?: AmqpServerBinding;
511
+ [key: string]: unknown;
512
+ }
513
+ /** MQTT server binding */
514
+ export interface MqttServerBinding {
515
+ clientId?: string;
516
+ cleanSession?: boolean;
517
+ lastWill?: MqttLastWill;
518
+ keepAlive?: number;
519
+ }
520
+ /** MQTT last will */
521
+ export interface MqttLastWill {
522
+ topic: string;
523
+ qos?: 0 | 1 | 2;
524
+ message?: string;
525
+ retain?: boolean;
526
+ }
527
+ /** Kafka server binding */
528
+ export interface KafkaServerBinding {
529
+ schemaRegistryUrl?: string;
530
+ schemaRegistryVendor?: string;
531
+ }
532
+ /** AMQP server binding */
533
+ export interface AmqpServerBinding {
534
+ }
535
+ /** AsyncAPI channel */
536
+ export interface AsyncAPIChannel {
537
+ description?: string;
538
+ subscribe?: AsyncAPIOperation;
539
+ publish?: AsyncAPIOperation;
540
+ parameters?: Record<string, AsyncAPIParameter>;
541
+ bindings?: AsyncAPIChannelBindings;
542
+ }
543
+ /** Channel bindings */
544
+ export interface AsyncAPIChannelBindings {
545
+ kafka?: KafkaChannelBinding;
546
+ amqp?: AmqpChannelBinding;
547
+ [key: string]: unknown;
548
+ }
549
+ /** Kafka channel binding */
550
+ export interface KafkaChannelBinding {
551
+ topic?: string;
552
+ partitions?: number;
553
+ replicas?: number;
554
+ topicConfiguration?: Record<string, unknown>;
555
+ }
556
+ /** AMQP channel binding */
557
+ export interface AmqpChannelBinding {
558
+ is?: 'queue' | 'routingKey';
559
+ exchange?: AmqpExchange;
560
+ queue?: AmqpQueue;
561
+ }
562
+ /** AMQP exchange */
563
+ export interface AmqpExchange {
564
+ name?: string;
565
+ type?: 'topic' | 'direct' | 'fanout' | 'default' | 'headers';
566
+ durable?: boolean;
567
+ autoDelete?: boolean;
568
+ vhost?: string;
569
+ }
570
+ /** AMQP queue */
571
+ export interface AmqpQueue {
572
+ name?: string;
573
+ durable?: boolean;
574
+ exclusive?: boolean;
575
+ autoDelete?: boolean;
576
+ vhost?: string;
577
+ }
578
+ /** AsyncAPI operation */
579
+ export interface AsyncAPIOperation {
580
+ operationId?: string;
581
+ summary?: string;
582
+ description?: string;
583
+ tags?: AsyncAPITag[];
584
+ externalDocs?: AsyncAPIExternalDocs;
585
+ bindings?: AsyncAPIOperationBindings;
586
+ traits?: AsyncAPIOperationTrait[];
587
+ message?: AsyncAPIMessage | AsyncAPIMessageOneOf;
588
+ security?: Record<string, string[]>[];
589
+ }
590
+ /** Operation bindings */
591
+ export interface AsyncAPIOperationBindings {
592
+ kafka?: KafkaOperationBinding;
593
+ amqp?: AmqpOperationBinding;
594
+ [key: string]: unknown;
595
+ }
596
+ /** Kafka operation binding */
597
+ export interface KafkaOperationBinding {
598
+ groupId?: AsyncAPISchema;
599
+ clientId?: AsyncAPISchema;
600
+ }
601
+ /** AMQP operation binding */
602
+ export interface AmqpOperationBinding {
603
+ expiration?: number;
604
+ userId?: string;
605
+ cc?: string[];
606
+ priority?: number;
607
+ deliveryMode?: 1 | 2;
608
+ mandatory?: boolean;
609
+ bcc?: string[];
610
+ replyTo?: string;
611
+ timestamp?: boolean;
612
+ ack?: boolean;
613
+ }
614
+ /** Operation trait */
615
+ export interface AsyncAPIOperationTrait {
616
+ operationId?: string;
617
+ summary?: string;
618
+ description?: string;
619
+ tags?: AsyncAPITag[];
620
+ externalDocs?: AsyncAPIExternalDocs;
621
+ bindings?: AsyncAPIOperationBindings;
622
+ }
623
+ /** AsyncAPI message */
624
+ export interface AsyncAPIMessage {
625
+ messageId?: string;
626
+ headers?: AsyncAPISchema;
627
+ payload?: AsyncAPISchema;
628
+ correlationId?: AsyncAPICorrelationId;
629
+ schemaFormat?: string;
630
+ contentType?: string;
631
+ name?: string;
632
+ title?: string;
633
+ summary?: string;
634
+ description?: string;
635
+ tags?: AsyncAPITag[];
636
+ externalDocs?: AsyncAPIExternalDocs;
637
+ bindings?: AsyncAPIMessageBindings;
638
+ examples?: AsyncAPIMessageExample[];
639
+ traits?: AsyncAPIMessageTrait[];
640
+ }
641
+ /** Message oneOf */
642
+ export interface AsyncAPIMessageOneOf {
643
+ oneOf: AsyncAPIMessage[];
644
+ }
645
+ /** Message bindings */
646
+ export interface AsyncAPIMessageBindings {
647
+ kafka?: KafkaMessageBinding;
648
+ amqp?: AmqpMessageBinding;
649
+ [key: string]: unknown;
650
+ }
651
+ /** Kafka message binding */
652
+ export interface KafkaMessageBinding {
653
+ key?: AsyncAPISchema;
654
+ }
655
+ /** AMQP message binding */
656
+ export interface AmqpMessageBinding {
657
+ contentEncoding?: string;
658
+ messageType?: string;
659
+ }
660
+ /** Message example */
661
+ export interface AsyncAPIMessageExample {
662
+ name?: string;
663
+ summary?: string;
664
+ headers?: Record<string, unknown>;
665
+ payload?: unknown;
666
+ }
667
+ /** Message trait */
668
+ export interface AsyncAPIMessageTrait {
669
+ messageId?: string;
670
+ headers?: AsyncAPISchema;
671
+ correlationId?: AsyncAPICorrelationId;
672
+ schemaFormat?: string;
673
+ contentType?: string;
674
+ name?: string;
675
+ title?: string;
676
+ summary?: string;
677
+ description?: string;
678
+ tags?: AsyncAPITag[];
679
+ externalDocs?: AsyncAPIExternalDocs;
680
+ bindings?: AsyncAPIMessageBindings;
681
+ examples?: AsyncAPIMessageExample[];
682
+ }
683
+ /** Correlation ID */
684
+ export interface AsyncAPICorrelationId {
685
+ description?: string;
686
+ location: string;
687
+ }
688
+ /** AsyncAPI parameter */
689
+ export interface AsyncAPIParameter {
690
+ description?: string;
691
+ schema?: AsyncAPISchema;
692
+ location?: string;
693
+ }
694
+ /** AsyncAPI schema (JSON Schema) */
695
+ export interface AsyncAPISchema extends OpenAPISchema {
696
+ }
697
+ /** AsyncAPI tag */
698
+ export interface AsyncAPITag {
699
+ name: string;
700
+ description?: string;
701
+ externalDocs?: AsyncAPIExternalDocs;
702
+ }
703
+ /** AsyncAPI external docs */
704
+ export interface AsyncAPIExternalDocs {
705
+ url: string;
706
+ description?: string;
707
+ }
708
+ /** AsyncAPI components */
709
+ export interface AsyncAPIComponents {
710
+ schemas?: Record<string, AsyncAPISchema>;
711
+ messages?: Record<string, AsyncAPIMessage>;
712
+ securitySchemes?: Record<string, AsyncAPISecurityScheme>;
713
+ parameters?: Record<string, AsyncAPIParameter>;
714
+ correlationIds?: Record<string, AsyncAPICorrelationId>;
715
+ operationTraits?: Record<string, AsyncAPIOperationTrait>;
716
+ messageTraits?: Record<string, AsyncAPIMessageTrait>;
717
+ serverBindings?: Record<string, AsyncAPIServerBindings>;
718
+ channelBindings?: Record<string, AsyncAPIChannelBindings>;
719
+ operationBindings?: Record<string, AsyncAPIOperationBindings>;
720
+ messageBindings?: Record<string, AsyncAPIMessageBindings>;
721
+ }
722
+ /** AsyncAPI security scheme */
723
+ export interface AsyncAPISecurityScheme {
724
+ type: 'userPassword' | 'apiKey' | 'X509' | 'symmetricEncryption' | 'asymmetricEncryption' | 'httpApiKey' | 'http' | 'oauth2' | 'openIdConnect' | 'plain' | 'scramSha256' | 'scramSha512' | 'gssapi';
725
+ description?: string;
726
+ name?: string;
727
+ in?: 'user' | 'password' | 'query' | 'header' | 'cookie';
728
+ scheme?: string;
729
+ bearerFormat?: string;
730
+ flows?: AsyncAPIOAuthFlows;
731
+ openIdConnectUrl?: string;
732
+ }
733
+ /** OAuth flows for AsyncAPI */
734
+ export interface AsyncAPIOAuthFlows {
735
+ implicit?: AsyncAPIOAuthFlow;
736
+ password?: AsyncAPIOAuthFlow;
737
+ clientCredentials?: AsyncAPIOAuthFlow;
738
+ authorizationCode?: AsyncAPIOAuthFlow;
739
+ }
740
+ /** OAuth flow */
741
+ export interface AsyncAPIOAuthFlow {
742
+ authorizationUrl?: string;
743
+ tokenUrl?: string;
744
+ refreshUrl?: string;
745
+ scopes: Record<string, string>;
746
+ }
747
+ /** AsyncAPI editor configuration */
748
+ export interface AsyncAPIEditorConfig {
749
+ source: AsyncAPISource;
750
+ validation?: boolean;
751
+ theme?: 'light' | 'dark';
752
+ showPreview?: boolean;
753
+ formatToggle?: boolean;
754
+ readOnly?: boolean;
755
+ }
756
+ /** AsyncAPI source */
757
+ export interface AsyncAPISource {
758
+ type: 'url' | 'file' | 'inline';
759
+ url?: string;
760
+ content?: string;
761
+ format?: 'yaml' | 'json';
762
+ }
763
+ /** Protobuf file definition */
764
+ export interface ProtobufDefinition {
765
+ syntax: 'proto2' | 'proto3';
766
+ package?: string;
767
+ imports: ProtobufImport[];
768
+ options: ProtobufOption[];
769
+ messages: ProtobufMessage[];
770
+ enums: ProtobufEnum[];
771
+ services: ProtobufService[];
772
+ }
773
+ /** Protobuf import */
774
+ export interface ProtobufImport {
775
+ path: string;
776
+ public?: boolean;
777
+ weak?: boolean;
778
+ }
779
+ /** Protobuf option */
780
+ export interface ProtobufOption {
781
+ name: string;
782
+ value: unknown;
783
+ }
784
+ /** Protobuf message */
785
+ export interface ProtobufMessage {
786
+ name: string;
787
+ fields: ProtobufField[];
788
+ nestedMessages: ProtobufMessage[];
789
+ nestedEnums: ProtobufEnum[];
790
+ oneofs: ProtobufOneof[];
791
+ options: ProtobufOption[];
792
+ reserved: ProtobufReserved[];
793
+ extensions: ProtobufExtension[];
794
+ comments?: string;
795
+ }
796
+ /** Protobuf field */
797
+ export interface ProtobufField {
798
+ name: string;
799
+ number: number;
800
+ type: string;
801
+ label?: 'optional' | 'required' | 'repeated';
802
+ options?: ProtobufOption[];
803
+ map?: ProtobufMapType;
804
+ comments?: string;
805
+ }
806
+ /** Protobuf map type */
807
+ export interface ProtobufMapType {
808
+ keyType: string;
809
+ valueType: string;
810
+ }
811
+ /** Protobuf oneof */
812
+ export interface ProtobufOneof {
813
+ name: string;
814
+ fields: ProtobufField[];
815
+ options?: ProtobufOption[];
816
+ }
817
+ /** Protobuf reserved */
818
+ export interface ProtobufReserved {
819
+ ranges?: Array<number | {
820
+ start: number;
821
+ end: number;
822
+ }>;
823
+ names?: string[];
824
+ }
825
+ /** Protobuf extension */
826
+ export interface ProtobufExtension {
827
+ extendee: string;
828
+ fields: ProtobufField[];
829
+ }
830
+ /** Protobuf enum */
831
+ export interface ProtobufEnum {
832
+ name: string;
833
+ values: ProtobufEnumValue[];
834
+ options?: ProtobufOption[];
835
+ reserved?: ProtobufReserved[];
836
+ comments?: string;
837
+ }
838
+ /** Protobuf enum value */
839
+ export interface ProtobufEnumValue {
840
+ name: string;
841
+ number: number;
842
+ options?: ProtobufOption[];
843
+ comments?: string;
844
+ }
845
+ /** Protobuf service */
846
+ export interface ProtobufService {
847
+ name: string;
848
+ methods: ProtobufMethod[];
849
+ options?: ProtobufOption[];
850
+ comments?: string;
851
+ }
852
+ /** Protobuf method */
853
+ export interface ProtobufMethod {
854
+ name: string;
855
+ inputType: string;
856
+ outputType: string;
857
+ clientStreaming?: boolean;
858
+ serverStreaming?: boolean;
859
+ options?: ProtobufOption[];
860
+ comments?: string;
861
+ }
862
+ /** Protobuf editor configuration */
863
+ export interface ProtobufEditorConfig {
864
+ source: ProtobufSource;
865
+ syntax?: 'proto2' | 'proto3';
866
+ validation?: boolean;
867
+ theme?: 'light' | 'dark';
868
+ showLineNumbers?: boolean;
869
+ includePaths?: string[];
870
+ }
871
+ /** Protobuf source */
872
+ export interface ProtobufSource {
873
+ type: 'file' | 'inline';
874
+ path?: string;
875
+ content?: string;
876
+ }
877
+ /** Thrift document */
878
+ export interface ThriftDocument {
879
+ headers: ThriftHeader[];
880
+ definitions: ThriftDefinition[];
881
+ }
882
+ /** Thrift header */
883
+ export interface ThriftHeader {
884
+ type: 'include' | 'cppInclude' | 'namespace';
885
+ value: string;
886
+ scope?: string;
887
+ }
888
+ /** Thrift definition */
889
+ export type ThriftDefinition = ThriftConst | ThriftTypedef | ThriftEnum | ThriftStruct | ThriftUnion | ThriftException | ThriftService;
890
+ /** Thrift constant */
891
+ export interface ThriftConst {
892
+ kind: 'const';
893
+ name: string;
894
+ type: ThriftType;
895
+ value: unknown;
896
+ }
897
+ /** Thrift typedef */
898
+ export interface ThriftTypedef {
899
+ kind: 'typedef';
900
+ name: string;
901
+ type: ThriftType;
902
+ }
903
+ /** Thrift enum */
904
+ export interface ThriftEnum {
905
+ kind: 'enum';
906
+ name: string;
907
+ members: ThriftEnumMember[];
908
+ }
909
+ /** Thrift enum member */
910
+ export interface ThriftEnumMember {
911
+ name: string;
912
+ value?: number;
913
+ }
914
+ /** Thrift struct */
915
+ export interface ThriftStruct {
916
+ kind: 'struct';
917
+ name: string;
918
+ fields: ThriftField[];
919
+ annotations?: Record<string, string>;
920
+ }
921
+ /** Thrift union */
922
+ export interface ThriftUnion {
923
+ kind: 'union';
924
+ name: string;
925
+ fields: ThriftField[];
926
+ }
927
+ /** Thrift exception */
928
+ export interface ThriftException {
929
+ kind: 'exception';
930
+ name: string;
931
+ fields: ThriftField[];
932
+ }
933
+ /** Thrift field */
934
+ export interface ThriftField {
935
+ id?: number;
936
+ name: string;
937
+ type: ThriftType;
938
+ requiredness?: 'required' | 'optional';
939
+ defaultValue?: unknown;
940
+ annotations?: Record<string, string>;
941
+ }
942
+ /** Thrift type */
943
+ export interface ThriftType {
944
+ kind: 'base' | 'identifier' | 'map' | 'set' | 'list';
945
+ name?: string;
946
+ keyType?: ThriftType;
947
+ valueType?: ThriftType;
948
+ }
949
+ /** Thrift service */
950
+ export interface ThriftService {
951
+ kind: 'service';
952
+ name: string;
953
+ extends?: string;
954
+ functions: ThriftFunction[];
955
+ annotations?: Record<string, string>;
956
+ }
957
+ /** Thrift function */
958
+ export interface ThriftFunction {
959
+ name: string;
960
+ returnType: ThriftType | 'void';
961
+ oneway?: boolean;
962
+ parameters: ThriftField[];
963
+ throws?: ThriftField[];
964
+ annotations?: Record<string, string>;
965
+ }
966
+ /** Thrift editor configuration */
967
+ export interface ThriftEditorConfig {
968
+ source: ThriftSource;
969
+ validation?: boolean;
970
+ theme?: 'light' | 'dark';
971
+ includePaths?: string[];
972
+ }
973
+ /** Thrift source */
974
+ export interface ThriftSource {
975
+ type: 'file' | 'inline';
976
+ path?: string;
977
+ content?: string;
978
+ }
979
+ /** Avro schema */
980
+ export type AvroSchema = AvroPrimitive | AvroRecord | AvroEnum | AvroArray | AvroMap | AvroUnion | AvroFixed | AvroNamedType | AvroLogicalType;
981
+ /** Avro primitive types */
982
+ export type AvroPrimitive = 'null' | 'boolean' | 'int' | 'long' | 'float' | 'double' | 'bytes' | 'string';
983
+ /** Avro record schema */
984
+ export interface AvroRecord {
985
+ type: 'record';
986
+ name: string;
987
+ namespace?: string;
988
+ doc?: string;
989
+ aliases?: string[];
990
+ fields: AvroField[];
991
+ }
992
+ /** Avro field */
993
+ export interface AvroField {
994
+ name: string;
995
+ type: AvroSchema;
996
+ doc?: string;
997
+ default?: unknown;
998
+ order?: 'ascending' | 'descending' | 'ignore';
999
+ aliases?: string[];
1000
+ }
1001
+ /** Avro enum schema */
1002
+ export interface AvroEnum {
1003
+ type: 'enum';
1004
+ name: string;
1005
+ namespace?: string;
1006
+ doc?: string;
1007
+ aliases?: string[];
1008
+ symbols: string[];
1009
+ default?: string;
1010
+ }
1011
+ /** Avro array schema */
1012
+ export interface AvroArray {
1013
+ type: 'array';
1014
+ items: AvroSchema;
1015
+ }
1016
+ /** Avro map schema */
1017
+ export interface AvroMap {
1018
+ type: 'map';
1019
+ values: AvroSchema;
1020
+ }
1021
+ /** Avro union (array of types) */
1022
+ export type AvroUnion = AvroSchema[];
1023
+ /** Avro fixed schema */
1024
+ export interface AvroFixed {
1025
+ type: 'fixed';
1026
+ name: string;
1027
+ namespace?: string;
1028
+ aliases?: string[];
1029
+ size: number;
1030
+ }
1031
+ /** Named type reference */
1032
+ export type AvroNamedType = string;
1033
+ /** Avro logical type */
1034
+ export interface AvroLogicalType {
1035
+ type: AvroPrimitive | AvroFixed | 'bytes' | 'string';
1036
+ logicalType: 'decimal' | 'uuid' | 'date' | 'time-millis' | 'time-micros' | 'timestamp-millis' | 'timestamp-micros' | 'duration' | 'local-timestamp-millis' | 'local-timestamp-micros';
1037
+ precision?: number;
1038
+ scale?: number;
1039
+ }
1040
+ /** Avro protocol */
1041
+ export interface AvroProtocol {
1042
+ protocol: string;
1043
+ namespace?: string;
1044
+ doc?: string;
1045
+ types?: AvroSchema[];
1046
+ messages?: Record<string, AvroMessage>;
1047
+ }
1048
+ /** Avro message (RPC) */
1049
+ export interface AvroMessage {
1050
+ doc?: string;
1051
+ request: AvroField[];
1052
+ response: AvroSchema;
1053
+ errors?: AvroSchema[];
1054
+ one_way?: boolean;
1055
+ }
1056
+ /** Avro editor configuration */
1057
+ export interface AvroEditorConfig {
1058
+ source: AvroSource;
1059
+ validation?: boolean;
1060
+ theme?: 'light' | 'dark';
1061
+ schemaRegistry?: AvroSchemaRegistryConfig;
1062
+ }
1063
+ /** Avro source */
1064
+ export interface AvroSource {
1065
+ type: 'file' | 'inline' | 'registry';
1066
+ path?: string;
1067
+ content?: string;
1068
+ subject?: string;
1069
+ version?: number | 'latest';
1070
+ }
1071
+ /** Schema registry configuration */
1072
+ export interface AvroSchemaRegistryConfig {
1073
+ url: string;
1074
+ auth?: {
1075
+ type: 'basic' | 'bearer';
1076
+ username?: string;
1077
+ password?: string;
1078
+ token?: string;
1079
+ };
1080
+ }
1081
+ /** Schema diagram configuration */
1082
+ export interface SchemaDiagramConfig {
1083
+ /** Schema source */
1084
+ schema: SchemaSource;
1085
+ /** Diagram layout */
1086
+ layout?: DiagramLayout;
1087
+ /** Show relationships */
1088
+ showRelationships?: boolean;
1089
+ /** Show field types */
1090
+ showTypes?: boolean;
1091
+ /** Show descriptions */
1092
+ showDescriptions?: boolean;
1093
+ /** Collapsible nodes */
1094
+ collapsible?: boolean;
1095
+ /** Zoom controls */
1096
+ zoomControls?: boolean;
1097
+ /** Pan enabled */
1098
+ panEnabled?: boolean;
1099
+ /** Export formats */
1100
+ exportFormats?: DiagramExportFormat[];
1101
+ /** Theme */
1102
+ theme?: 'light' | 'dark';
1103
+ /** Custom colors */
1104
+ colors?: DiagramColors;
1105
+ }
1106
+ /** Schema source for visualization */
1107
+ export interface SchemaSource {
1108
+ type: 'openapi' | 'graphql' | 'asyncapi' | 'protobuf' | 'avro' | 'jsonschema';
1109
+ content: string | object;
1110
+ format?: 'yaml' | 'json' | 'sdl' | 'proto';
1111
+ }
1112
+ /** Diagram layout options */
1113
+ export interface DiagramLayout {
1114
+ algorithm: 'dagre' | 'elk' | 'force' | 'hierarchy' | 'radial';
1115
+ direction?: 'TB' | 'BT' | 'LR' | 'RL';
1116
+ nodeSpacing?: number;
1117
+ rankSpacing?: number;
1118
+ grouping?: 'none' | 'namespace' | 'tag';
1119
+ }
1120
+ /** Diagram export format */
1121
+ export type DiagramExportFormat = 'png' | 'svg' | 'pdf' | 'json';
1122
+ /** Diagram colors */
1123
+ export interface DiagramColors {
1124
+ background?: string;
1125
+ node?: string;
1126
+ nodeBorder?: string;
1127
+ nodeText?: string;
1128
+ edge?: string;
1129
+ edgeLabel?: string;
1130
+ highlight?: string;
1131
+ }
1132
+ /** Diagram node */
1133
+ export interface DiagramNode {
1134
+ id: string;
1135
+ type: 'type' | 'endpoint' | 'channel' | 'message' | 'service' | 'method';
1136
+ label: string;
1137
+ description?: string;
1138
+ properties?: DiagramNodeProperty[];
1139
+ group?: string;
1140
+ x?: number;
1141
+ y?: number;
1142
+ collapsed?: boolean;
1143
+ }
1144
+ /** Diagram node property */
1145
+ export interface DiagramNodeProperty {
1146
+ name: string;
1147
+ type: string;
1148
+ required?: boolean;
1149
+ deprecated?: boolean;
1150
+ description?: string;
1151
+ }
1152
+ /** Diagram edge */
1153
+ export interface DiagramEdge {
1154
+ id: string;
1155
+ source: string;
1156
+ target: string;
1157
+ label?: string;
1158
+ type: 'reference' | 'inheritance' | 'composition' | 'association' | 'dependency';
1159
+ cardinality?: string;
1160
+ }
1161
+ /** Mock server configuration */
1162
+ export interface MockServerConfig {
1163
+ /** Schema source */
1164
+ schema: SchemaSource;
1165
+ /** Server port */
1166
+ port?: number;
1167
+ /** Host */
1168
+ host?: string;
1169
+ /** Base path */
1170
+ basePath?: string;
1171
+ /** Response delay (ms) */
1172
+ delay?: number | {
1173
+ min: number;
1174
+ max: number;
1175
+ };
1176
+ /** Mock data configuration */
1177
+ mockData?: MockDataConfig;
1178
+ /** CORS configuration */
1179
+ cors?: MockCorsConfig;
1180
+ /** Request logging */
1181
+ logging?: boolean;
1182
+ /** Record requests */
1183
+ recording?: boolean;
1184
+ /** Dynamic mocks */
1185
+ dynamicMocks?: MockOverride[];
1186
+ /** Proxy fallback */
1187
+ proxy?: MockProxyConfig;
1188
+ }
1189
+ /** Mock data configuration */
1190
+ export interface MockDataConfig {
1191
+ /** Use schema examples */
1192
+ useExamples?: boolean;
1193
+ /** Generate random data */
1194
+ generateRandom?: boolean;
1195
+ /** Faker.js locale */
1196
+ locale?: string;
1197
+ /** Custom generators */
1198
+ generators?: Record<string, MockGenerator>;
1199
+ /** Field overrides */
1200
+ fieldOverrides?: Record<string, unknown>;
1201
+ }
1202
+ /** Mock data generator */
1203
+ export interface MockGenerator {
1204
+ type: 'faker' | 'custom' | 'static';
1205
+ fakerMethod?: string;
1206
+ customFn?: string;
1207
+ staticValue?: unknown;
1208
+ }
1209
+ /** Mock CORS config */
1210
+ export interface MockCorsConfig {
1211
+ enabled?: boolean;
1212
+ origin?: string | string[];
1213
+ methods?: string[];
1214
+ headers?: string[];
1215
+ credentials?: boolean;
1216
+ }
1217
+ /** Mock override */
1218
+ export interface MockOverride {
1219
+ path: string;
1220
+ method?: HttpMethod;
1221
+ response?: MockResponse;
1222
+ condition?: MockCondition;
1223
+ priority?: number;
1224
+ }
1225
+ /** Mock response */
1226
+ export interface MockResponse {
1227
+ statusCode?: number;
1228
+ headers?: Record<string, string>;
1229
+ body?: unknown;
1230
+ delay?: number;
1231
+ file?: string;
1232
+ }
1233
+ /** Mock condition */
1234
+ export interface MockCondition {
1235
+ query?: Record<string, string | RegExp>;
1236
+ headers?: Record<string, string | RegExp>;
1237
+ body?: Record<string, unknown>;
1238
+ jsonPath?: string;
1239
+ jsonPathValue?: unknown;
1240
+ }
1241
+ /** Mock proxy config */
1242
+ export interface MockProxyConfig {
1243
+ target: string;
1244
+ paths?: string[];
1245
+ changeOrigin?: boolean;
1246
+ rewrite?: Record<string, string>;
1247
+ }
1248
+ /** Mock server status */
1249
+ export interface MockServerStatus {
1250
+ running: boolean;
1251
+ port?: number;
1252
+ host?: string;
1253
+ startTime?: Date;
1254
+ requestCount: number;
1255
+ endpoints: MockEndpointStatus[];
1256
+ }
1257
+ /** Mock endpoint status */
1258
+ export interface MockEndpointStatus {
1259
+ path: string;
1260
+ method: HttpMethod;
1261
+ hitCount: number;
1262
+ lastRequest?: Date;
1263
+ averageLatency?: number;
1264
+ }
1265
+ /** Code generation configuration */
1266
+ export interface CodeGenConfig {
1267
+ /** Schema source */
1268
+ schema: SchemaSource;
1269
+ /** Output language */
1270
+ language: CodeGenLanguage;
1271
+ /** Output type (client/server) */
1272
+ outputType: 'client' | 'server' | 'both' | 'types';
1273
+ /** Framework */
1274
+ framework?: string;
1275
+ /** Output directory */
1276
+ outputDir?: string;
1277
+ /** Package/namespace name */
1278
+ packageName?: string;
1279
+ /** Generation options */
1280
+ options?: CodeGenOptions;
1281
+ /** Template overrides */
1282
+ templates?: CodeGenTemplate[];
1283
+ }
1284
+ /** Supported languages / framework targets for code generation */
1285
+ export type CodeGenLanguage = 'typescript' | 'javascript' | 'python' | 'java' | 'kotlin' | 'csharp' | 'go' | 'rust' | 'ruby' | 'php' | 'swift' | 'dart' | 'nextjs' | 'nuxt' | 'sveltekit' | 'remix' | 'react-native' | 'flutter' | 'blazor';
1286
+ /** Code generation options */
1287
+ export interface CodeGenOptions {
1288
+ /** Include documentation */
1289
+ includeDocs?: boolean;
1290
+ /** Include examples */
1291
+ includeExamples?: boolean;
1292
+ /** Generate validators */
1293
+ generateValidators?: boolean;
1294
+ /** Generate mocks */
1295
+ generateMocks?: boolean;
1296
+ /** Enum style */
1297
+ enumStyle?: 'string' | 'numeric' | 'const';
1298
+ /** Date/time library */
1299
+ dateTimeLibrary?: string;
1300
+ /** HTTP client library */
1301
+ httpClient?: string;
1302
+ /** Use optional chaining */
1303
+ useOptionalChaining?: boolean;
1304
+ /** Strict null checks */
1305
+ strictNullChecks?: boolean;
1306
+ /** Generate index file */
1307
+ generateIndex?: boolean;
1308
+ /** File naming convention */
1309
+ fileNaming?: 'camelCase' | 'PascalCase' | 'snake_case' | 'kebab-case';
1310
+ }
1311
+ /** Custom template */
1312
+ export interface CodeGenTemplate {
1313
+ name: string;
1314
+ template: string;
1315
+ outputPath: string;
1316
+ condition?: string;
1317
+ }
1318
+ /** Code generation result */
1319
+ export interface CodeGenResult {
1320
+ success: boolean;
1321
+ files: GeneratedFile[];
1322
+ errors?: CodeGenError[];
1323
+ warnings?: CodeGenWarning[];
1324
+ }
1325
+ /** Generated file */
1326
+ export interface GeneratedFile {
1327
+ path: string;
1328
+ content: string;
1329
+ size: number;
1330
+ hash?: string;
1331
+ }
1332
+ /** Code generation error */
1333
+ export interface CodeGenError {
1334
+ message: string;
1335
+ location?: string;
1336
+ code?: string;
1337
+ }
1338
+ /** Code generation warning */
1339
+ export interface CodeGenWarning {
1340
+ message: string;
1341
+ location?: string;
1342
+ code?: string;
1343
+ }
1344
+ /** Documentation configuration */
1345
+ export interface APIDocConfig {
1346
+ /** Schema source */
1347
+ schema: SchemaSource;
1348
+ /** Documentation style */
1349
+ style: 'swagger-ui' | 'redoc' | 'stoplight' | 'slate' | 'custom';
1350
+ /** Theme */
1351
+ theme?: DocTheme;
1352
+ /** Logo */
1353
+ logo?: DocLogo;
1354
+ /** Navigation */
1355
+ navigation?: DocNavigation;
1356
+ /** Custom sections */
1357
+ sections?: DocSection[];
1358
+ /** Code samples */
1359
+ codeSamples?: DocCodeSampleConfig;
1360
+ /** Try-it-out */
1361
+ tryItOut?: boolean;
1362
+ /** Authentication */
1363
+ auth?: DocAuthConfig;
1364
+ /** Output format */
1365
+ output?: 'html' | 'markdown' | 'pdf';
1366
+ }
1367
+ /** Documentation theme */
1368
+ export interface DocTheme {
1369
+ primaryColor?: string;
1370
+ accentColor?: string;
1371
+ textColor?: string;
1372
+ backgroundColor?: string;
1373
+ codeBackground?: string;
1374
+ fontFamily?: string;
1375
+ codeFontFamily?: string;
1376
+ }
1377
+ /** Documentation logo */
1378
+ export interface DocLogo {
1379
+ url: string;
1380
+ altText?: string;
1381
+ link?: string;
1382
+ height?: number;
1383
+ }
1384
+ /** Documentation navigation */
1385
+ export interface DocNavigation {
1386
+ position?: 'left' | 'right' | 'top';
1387
+ collapsed?: boolean;
1388
+ searchEnabled?: boolean;
1389
+ tagGroups?: DocTagGroup[];
1390
+ }
1391
+ /** Tag group */
1392
+ export interface DocTagGroup {
1393
+ name: string;
1394
+ tags: string[];
1395
+ }
1396
+ /** Custom documentation section */
1397
+ export interface DocSection {
1398
+ title: string;
1399
+ content: string;
1400
+ position?: 'before' | 'after';
1401
+ target?: string;
1402
+ }
1403
+ /** Code sample configuration */
1404
+ export interface DocCodeSampleConfig {
1405
+ enabled?: boolean;
1406
+ languages?: DocCodeLanguage[];
1407
+ defaultLanguage?: string;
1408
+ }
1409
+ /** Code sample language */
1410
+ export interface DocCodeLanguage {
1411
+ name: string;
1412
+ label: string;
1413
+ prism?: string;
1414
+ generator?: 'automatic' | 'manual';
1415
+ }
1416
+ /** Documentation auth config */
1417
+ export interface DocAuthConfig {
1418
+ enabled?: boolean;
1419
+ persistAuth?: boolean;
1420
+ defaultScheme?: string;
1421
+ credentials?: Record<string, string>;
1422
+ }
1423
+ /** Version diff configuration */
1424
+ export interface VersionDiffConfig {
1425
+ /** Old version */
1426
+ oldVersion: SchemaVersion;
1427
+ /** New version */
1428
+ newVersion: SchemaVersion;
1429
+ /** Rules */
1430
+ rules?: BreakingChangeRules;
1431
+ /** Output format */
1432
+ outputFormat?: 'json' | 'markdown' | 'html';
1433
+ }
1434
+ /** Schema version */
1435
+ export interface SchemaVersion {
1436
+ source: SchemaSource;
1437
+ version?: string;
1438
+ label?: string;
1439
+ }
1440
+ /** Breaking change rules */
1441
+ export interface BreakingChangeRules {
1442
+ /** Treat removals as breaking */
1443
+ removalsBreaking?: boolean;
1444
+ /** Treat type changes as breaking */
1445
+ typeChangesBreaking?: boolean;
1446
+ /** Treat required changes as breaking */
1447
+ requiredChangesBreaking?: boolean;
1448
+ /** Allow deprecation grace period */
1449
+ deprecationGracePeriod?: boolean;
1450
+ /** Custom rules */
1451
+ customRules?: BreakingChangeRule[];
1452
+ }
1453
+ /** Custom breaking change rule */
1454
+ export interface BreakingChangeRule {
1455
+ name: string;
1456
+ description?: string;
1457
+ severity: 'error' | 'warning' | 'info';
1458
+ check: string;
1459
+ }
1460
+ /** Version diff result */
1461
+ export interface VersionDiffResult {
1462
+ compatible: boolean;
1463
+ breakingChanges: SchemaChange[];
1464
+ nonBreakingChanges: SchemaChange[];
1465
+ deprecations: SchemaChange[];
1466
+ additions: SchemaChange[];
1467
+ summary: DiffSummary;
1468
+ }
1469
+ /** Schema change */
1470
+ export interface SchemaChange {
1471
+ type: 'addition' | 'removal' | 'modification' | 'deprecation';
1472
+ severity: 'breaking' | 'non-breaking' | 'info';
1473
+ path: string;
1474
+ message: string;
1475
+ oldValue?: unknown;
1476
+ newValue?: unknown;
1477
+ rule?: string;
1478
+ }
1479
+ /** Diff summary */
1480
+ export interface DiffSummary {
1481
+ totalChanges: number;
1482
+ breakingCount: number;
1483
+ nonBreakingCount: number;
1484
+ additionCount: number;
1485
+ removalCount: number;
1486
+ modificationCount: number;
1487
+ }
1488
+ /** Linting configuration */
1489
+ export interface APILintConfig {
1490
+ /** Schema source */
1491
+ schema: SchemaSource;
1492
+ /** Ruleset */
1493
+ ruleset?: 'spectral:oas' | 'spectral:asyncapi' | 'custom';
1494
+ /** Custom rules path */
1495
+ customRulesPath?: string;
1496
+ /** Rule overrides */
1497
+ rules?: Record<string, APILintRuleSeverity>;
1498
+ /** Output format */
1499
+ outputFormat?: 'json' | 'pretty' | 'stylish';
1500
+ }
1501
+ /** Rule severity */
1502
+ export type APILintRuleSeverity = 'off' | 'warn' | 'error';
1503
+ /** Linting result */
1504
+ export interface APILintResult {
1505
+ valid: boolean;
1506
+ errors: APILintIssue[];
1507
+ warnings: APILintIssue[];
1508
+ info: APILintIssue[];
1509
+ }
1510
+ /** Linting issue */
1511
+ export interface APILintIssue {
1512
+ code: string;
1513
+ message: string;
1514
+ severity: 'error' | 'warning' | 'info';
1515
+ path: string[];
1516
+ range?: {
1517
+ start: {
1518
+ line: number;
1519
+ character: number;
1520
+ };
1521
+ end: {
1522
+ line: number;
1523
+ character: number;
1524
+ };
1525
+ };
1526
+ source?: string;
1527
+ }
1528
+ /** Built-in linting rules */
1529
+ export interface APILintRuleDefinition {
1530
+ name: string;
1531
+ description: string;
1532
+ severity: APILintRuleSeverity;
1533
+ category: 'naming' | 'structure' | 'documentation' | 'security' | 'performance' | 'compatibility';
1534
+ fixable?: boolean;
1535
+ }
1536
+ /** Common OpenAPI linting rules */
1537
+ export declare const OPENAPI_LINT_RULES: Record<string, APILintRuleDefinition>;
1538
+ /** Editor change event */
1539
+ export interface APIEditorChangeEvent {
1540
+ type: 'change' | 'save' | 'validate' | 'format';
1541
+ content: string;
1542
+ format: 'yaml' | 'json';
1543
+ timestamp: Date;
1544
+ valid?: boolean;
1545
+ errors?: OpenAPIValidationResult[];
1546
+ }
1547
+ /** Editor selection event */
1548
+ export interface APIEditorSelectionEvent {
1549
+ path: string;
1550
+ range: {
1551
+ start: {
1552
+ line: number;
1553
+ column: number;
1554
+ };
1555
+ end: {
1556
+ line: number;
1557
+ column: number;
1558
+ };
1559
+ };
1560
+ selectedText: string;
1561
+ }
1562
+ /** Editor navigation event */
1563
+ export interface APIEditorNavigationEvent {
1564
+ from: string;
1565
+ to: string;
1566
+ type: 'reference' | 'definition' | 'usage';
1567
+ }
1568
+ //# sourceMappingURL=api-designer.d.ts.map