directix 1.10.0 → 2.0.0

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.
package/dist/index.d.ts CHANGED
@@ -7,6 +7,11 @@ import { Ref } from 'vue';
7
7
  import { ShallowRef } from 'vue';
8
8
  import { VNode } from 'vue';
9
9
 
10
+ /**
11
+ * Acknowledge alert
12
+ */
13
+ export declare function acknowledgeAlert(alertId: string, acknowledgedBy: string): boolean;
14
+
10
15
  /**
11
16
  * Add cleanup function to element
12
17
  */
@@ -17,6 +22,11 @@ export declare function addCleanupVue2(el: Element, fn: () => void): void;
17
22
  */
18
23
  export declare function addCleanupVue3(el: Element, fn: () => void): void;
19
24
 
25
+ /**
26
+ * Add health check
27
+ */
28
+ export declare function addHealthCheck(check: HealthCheck): void;
29
+
20
30
  /**
21
31
  * Add non-passive event listener (for events that need preventDefault)
22
32
  */
@@ -27,6 +37,49 @@ export declare function addNonPassiveListener(element: EventTarget, event: strin
27
37
  */
28
38
  export declare function addPassiveListener(element: EventTarget, event: string, handler: EventListener, options?: AddEventListenerOptions): () => void;
29
39
 
40
+ export declare interface Alert {
41
+ id: string;
42
+ ruleId: string;
43
+ name: string;
44
+ severity: AlertSeverity;
45
+ status: AlertStatus;
46
+ message: string;
47
+ labels: Record<string, string>;
48
+ value: number;
49
+ threshold: number;
50
+ startedAt: number;
51
+ resolvedAt?: number;
52
+ acknowledgedAt?: number;
53
+ acknowledgedBy?: string;
54
+ }
55
+
56
+ export declare interface AlertChannel {
57
+ type: 'webhook' | 'email' | 'slack' | 'pagerduty' | 'custom';
58
+ name: string;
59
+ config: Record<string, any>;
60
+ severity: AlertSeverity[];
61
+ }
62
+
63
+ export declare interface AlertRule {
64
+ id: string;
65
+ name: string;
66
+ description: string;
67
+ condition: string;
68
+ severity: AlertSeverity;
69
+ duration: number;
70
+ labels: Record<string, string>;
71
+ annotations: Record<string, string>;
72
+ enabled: boolean;
73
+ }
74
+
75
+ /**
76
+ * Monitoring and Alerting Integration Module for Directix
77
+ * Provides real-time monitoring, metrics collection, and alerting capabilities
78
+ */
79
+ export declare type AlertSeverity = 'info' | 'warning' | 'error' | 'critical';
80
+
81
+ export declare type AlertStatus = 'active' | 'resolved' | 'acknowledged';
82
+
30
83
  /**
31
84
  * Announce a message to screen readers
32
85
  */
@@ -49,6 +102,23 @@ export declare interface AnnounceOptions {
49
102
  */
50
103
  export declare function applyAriaAttributes(el: HTMLElement, config: ARIAConfig): void;
51
104
 
105
+ /**
106
+ * Apply a Vue directive to a custom element
107
+ *
108
+ * @example
109
+ * ```ts
110
+ * import { vLazy } from 'directix'
111
+ * import { applyDirectiveToCustomElement } from 'directix/web-components'
112
+ *
113
+ * const myElement = document.querySelector('my-component')
114
+ * applyDirectiveToCustomElement(myElement, vLazy, { threshold: 0.5 })
115
+ * ```
116
+ */
117
+ export declare function applyDirectiveToCustomElement<T = any>(el: Element, directive: Directive, value?: T, options?: {
118
+ arg?: string;
119
+ modifiers?: Record<string, boolean>;
120
+ }): () => void;
121
+
52
122
  /**
53
123
  * ARIA attribute configuration
54
124
  */
@@ -135,6 +205,105 @@ export declare function assertRange(value: number, min: number, max: number, dir
135
205
  declare function assertType_2<T>(value: unknown, type: 'string' | 'number' | 'boolean' | 'object' | 'function' | 'symbol' | 'bigint' | 'undefined', directive: string, param: string): asserts value is T;
136
206
  export { assertType_2 as assertType }
137
207
 
208
+ /**
209
+ * Convenience logging methods
210
+ */
211
+ export declare const audit: {
212
+ debug: (type: AuditEventType, message: string, details?: Record<string, unknown>, context?: Partial<AuditContext>) => AuditLogEntry | null;
213
+ info: (type: AuditEventType, message: string, details?: Record<string, unknown>, context?: Partial<AuditContext>) => AuditLogEntry | null;
214
+ warn: (type: AuditEventType, message: string, details?: Record<string, unknown>, context?: Partial<AuditContext>) => AuditLogEntry | null;
215
+ error: (type: AuditEventType, message: string, details?: Record<string, unknown>, context?: Partial<AuditContext>) => AuditLogEntry | null;
216
+ critical: (type: AuditEventType, message: string, details?: Record<string, unknown>, context?: Partial<AuditContext>) => AuditLogEntry | null;
217
+ };
218
+
219
+ export declare interface AuditContext {
220
+ directive?: string;
221
+ component?: string;
222
+ file?: string;
223
+ line?: number;
224
+ userAgent?: string;
225
+ url?: string;
226
+ sessionId?: string;
227
+ userId?: string;
228
+ environment?: string;
229
+ version?: string;
230
+ [key: string]: unknown;
231
+ }
232
+
233
+ export declare type AuditEventType = 'directive.mount' | 'directive.update' | 'directive.unmount' | 'permission.check' | 'permission.grant' | 'permission.deny' | 'security.violation' | 'performance.slow' | 'compatibility.warning' | 'migration.detected' | 'config.change' | 'error.caught' | 'user.action';
234
+
235
+ export declare interface AuditLogConfig {
236
+ enabled: boolean;
237
+ level: AuditLogLevel;
238
+ maxEntries: number;
239
+ persistToStorage: boolean;
240
+ storageKey: string;
241
+ consoleOutput: boolean;
242
+ consoleLevel: AuditLogLevel;
243
+ includeStackTrace: boolean;
244
+ sampleRate: number;
245
+ filters: {
246
+ excludeTypes?: AuditEventType[];
247
+ excludeLevels?: AuditLogLevel[];
248
+ minDuration?: number;
249
+ };
250
+ handlers: {
251
+ onLog?: (entry: AuditLogEntry) => void;
252
+ onError?: (entry: AuditLogEntry) => void;
253
+ onCritical?: (entry: AuditLogEntry) => void;
254
+ };
255
+ sensitiveFields: string[];
256
+ maskSensitive: boolean;
257
+ }
258
+
259
+ export declare interface AuditLogEntry {
260
+ id: string;
261
+ timestamp: number;
262
+ level: AuditLogLevel;
263
+ type: AuditEventType;
264
+ message: string;
265
+ details: Record<string, unknown>;
266
+ context: AuditContext;
267
+ duration?: number;
268
+ stackTrace?: string;
269
+ }
270
+
271
+ export declare interface AuditLogExportOptions {
272
+ format: 'json' | 'csv' | 'markdown' | 'html';
273
+ includeDetails: boolean;
274
+ includeContext: boolean;
275
+ dateFormat: 'iso' | 'unix' | 'locale';
276
+ }
277
+
278
+ export declare interface AuditLogFilter {
279
+ level?: AuditLogLevel | AuditLogLevel[];
280
+ type?: AuditEventType | AuditEventType[];
281
+ since?: number;
282
+ until?: number;
283
+ directive?: string | string[];
284
+ component?: string | string[];
285
+ limit?: number;
286
+ offset?: number;
287
+ }
288
+
289
+ /**
290
+ * Comprehensive Audit Logging System for Directix
291
+ * Provides detailed logging for directive operations, permission checks, and security events
292
+ */
293
+ export declare type AuditLogLevel = 'debug' | 'info' | 'warn' | 'error' | 'critical';
294
+
295
+ export declare interface AuditLogStats {
296
+ totalEntries: number;
297
+ byLevel: Record<AuditLogLevel, number>;
298
+ byType: Record<AuditEventType, number>;
299
+ byDirective: Record<string, number>;
300
+ avgDuration: number;
301
+ errorRate: number;
302
+ criticalCount: number;
303
+ last24Hours: number;
304
+ lastHour: number;
305
+ }
306
+
138
307
  /**
139
308
  * Auto-generate ARIA attributes based on directive type
140
309
  */
@@ -151,6 +320,214 @@ export declare interface AutoAriaOptions {
151
320
  relatedId?: string;
152
321
  }
153
322
 
323
+ /**
324
+ * Simple benchmark decorator
325
+ */
326
+ export declare function benchmark(name?: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
327
+
328
+ export declare interface BenchmarkComparison {
329
+ baseline: BenchmarkResult;
330
+ current: BenchmarkResult;
331
+ improvement: number;
332
+ significant: boolean;
333
+ regression: boolean;
334
+ }
335
+
336
+ /**
337
+ * Performance Benchmark Module for Directix
338
+ * Provides utilities for measuring and comparing directive performance
339
+ */
340
+ export declare interface BenchmarkConfig {
341
+ iterations: number;
342
+ warmupIterations: number;
343
+ samples: number;
344
+ timeout: number;
345
+ gc: boolean;
346
+ verbose: boolean;
347
+ }
348
+
349
+ export declare type BenchmarkFunction = () => void | Promise<void>;
350
+
351
+ export declare interface BenchmarkResult {
352
+ name: string;
353
+ iterations: number;
354
+ samples: number;
355
+ mean: number;
356
+ median: number;
357
+ min: number;
358
+ max: number;
359
+ stdDev: number;
360
+ percentiles: {
361
+ p50: number;
362
+ p75: number;
363
+ p90: number;
364
+ p95: number;
365
+ p99: number;
366
+ };
367
+ opsPerSecond: number;
368
+ marginOfError: number;
369
+ timestamp: number;
370
+ }
371
+
372
+ export declare interface BenchmarkSuite {
373
+ name: string;
374
+ benchmarks: BenchmarkResult[];
375
+ summary: {
376
+ totalTime: number;
377
+ averageTime: number;
378
+ fastest: string;
379
+ slowest: string;
380
+ };
381
+ timestamp: number;
382
+ }
383
+
384
+ export declare const BREAKING_CHANGES_REGISTRY: BreakingChangeDefinition[];
385
+
386
+ /**
387
+ * Breaking change information
388
+ */
389
+ export declare interface BreakingChange {
390
+ type: 'api' | 'behavior' | 'signature' | 'option';
391
+ name: string;
392
+ location: string;
393
+ line: number;
394
+ description: string;
395
+ migration: string;
396
+ }
397
+
398
+ export declare type BreakingChangeCategory = 'api' | 'behavior' | 'config' | 'type' | 'directive';
399
+
400
+ export declare interface BreakingChangeDefinition {
401
+ id: string;
402
+ version: string;
403
+ description: string;
404
+ severity: ChangeSeverity;
405
+ status: ChangeStatus;
406
+ category: BreakingChangeCategory;
407
+ affectedAPIs: string[];
408
+ migrationGuide: string;
409
+ detectionPattern?: RegExp;
410
+ autoFixable: boolean;
411
+ deprecatedIn?: string;
412
+ removedIn?: string;
413
+ alternatives?: string[];
414
+ examples?: {
415
+ before: string;
416
+ after: string;
417
+ };
418
+ }
419
+
420
+ export declare interface BreakingChangeDetection {
421
+ changeId: string;
422
+ location: {
423
+ file?: string;
424
+ line?: number;
425
+ column?: number;
426
+ snippet?: string;
427
+ };
428
+ matchedPattern: string;
429
+ severity: ChangeSeverity;
430
+ suggestion: string;
431
+ }
432
+
433
+ export declare interface BreakingChangesConfig {
434
+ enabled: boolean;
435
+ targetVersion: string;
436
+ warnLevel: 'none' | 'low' | 'medium' | 'high' | 'all';
437
+ consoleOutput: boolean;
438
+ throwOnCritical: boolean;
439
+ customHandlers: {
440
+ onDetected?: (detection: BreakingChangeDetection) => void;
441
+ onWarning?: (change: BreakingChangeDefinition) => void;
442
+ onCritical?: (change: BreakingChangeDefinition) => void;
443
+ };
444
+ }
445
+
446
+ export declare interface BreakingChangesReport {
447
+ targetVersion: string;
448
+ generatedAt: number;
449
+ totalChanges: number;
450
+ bySeverity: Record<ChangeSeverity, number>;
451
+ byCategory: Record<BreakingChangeCategory, number>;
452
+ byStatus: Record<ChangeStatus, number>;
453
+ changes: BreakingChangeDefinition[];
454
+ detections: BreakingChangeDetection[];
455
+ readyForMigration: boolean;
456
+ migrationEffort: 'low' | 'medium' | 'high' | 'critical';
457
+ recommendations: string[];
458
+ }
459
+
460
+ export declare const BROWSER_TARGETS: MatrixBrowserTarget[];
461
+
462
+ /**
463
+ * Compatibility configuration
464
+ */
465
+ export declare interface BrowserCompatibilityConfig {
466
+ targets: BrowserTarget;
467
+ fallback: FallbackConfig;
468
+ polyfill: PolyfillStrategy;
469
+ warnOnUnsupported: boolean;
470
+ strictMode: boolean;
471
+ }
472
+
473
+ /**
474
+ * Browser feature support status
475
+ */
476
+ export declare interface BrowserFeatures {
477
+ passive: boolean;
478
+ intersectionObserver: boolean;
479
+ resizeObserver: boolean;
480
+ mutationObserver: boolean;
481
+ clipboard: boolean;
482
+ clipboardItem: boolean;
483
+ clipboardWrite: boolean;
484
+ clipboardRead: boolean;
485
+ pointerEvents: boolean;
486
+ touchEvents: boolean;
487
+ webAnimations: boolean;
488
+ customElements: boolean;
489
+ shadowDom: boolean;
490
+ cssVariables: boolean;
491
+ cssGrid: boolean;
492
+ cssFlexbox: boolean;
493
+ es2020: boolean;
494
+ es2021: boolean;
495
+ es2022: boolean;
496
+ }
497
+
498
+ /**
499
+ * Browser version info
500
+ */
501
+ export declare interface BrowserInfo {
502
+ type: BrowserType;
503
+ version: string;
504
+ major: number;
505
+ platform: PlatformType;
506
+ os: string;
507
+ supportLevel: SupportLevel;
508
+ features: BrowserFeatures;
509
+ }
510
+
511
+ /**
512
+ * Browser target configuration
513
+ */
514
+ export declare interface BrowserTarget {
515
+ chrome?: string;
516
+ firefox?: string;
517
+ safari?: string;
518
+ edge?: string;
519
+ samsung?: string;
520
+ }
521
+
522
+ /**
523
+ * Browser compatibility module for Directix
524
+ * Provides browser detection, polyfill management, and fallback strategies
525
+ */
526
+ /**
527
+ * Browser type
528
+ */
529
+ declare type BrowserType = 'chrome' | 'firefox' | 'safari' | 'edge' | 'opera' | 'samsung' | 'uc' | 'wechat' | 'unknown';
530
+
154
531
  /**
155
532
  * Calculate statistics from metrics
156
533
  */
@@ -161,6 +538,17 @@ export declare function calculateStats(metrics: PerformanceMetric[]): Performanc
161
538
  */
162
539
  export declare function calculateTime(remaining: number): CountdownTime;
163
540
 
541
+ /**
542
+ * Calculate Time to Interactive estimate
543
+ */
544
+ export declare function calculateTTI(): number | undefined;
545
+
546
+ /**
547
+ * Cancel idle callback
548
+ */
549
+ declare function cancelIdleCallback_2(id: number): void;
550
+ export { cancelIdleCallback_2 as cancelIdleCallback }
551
+
164
552
  /**
165
553
  * Capitalize text based on options
166
554
  */
@@ -174,6 +562,34 @@ export declare function capitalizeText(text: string, options?: {
174
562
  */
175
563
  export declare function capitalizeWord(word: string): string;
176
564
 
565
+ /**
566
+ * Breaking Changes Warning System for Directix
567
+ * Provides early warning for upcoming breaking changes in future versions
568
+ */
569
+ export declare type ChangeSeverity = 'low' | 'medium' | 'high' | 'critical';
570
+
571
+ export declare type ChangeStatus = 'planned' | 'deprecated' | 'removed';
572
+
573
+ /**
574
+ * Check API usage and warn if affected
575
+ */
576
+ export declare function checkAPIUsage(apiName: string): void;
577
+
578
+ /**
579
+ * Check dependency availability
580
+ */
581
+ export declare function checkDependency(name: string, globalPath?: string): boolean;
582
+
583
+ /**
584
+ * Cleanup
585
+ */
586
+ export declare function cleanupFirstScreenOptimizer(): void;
587
+
588
+ /**
589
+ * Clear alerts
590
+ */
591
+ export declare function clearAlerts(): void;
592
+
177
593
  /**
178
594
  * Clear the announcer
179
595
  */
@@ -184,16 +600,41 @@ export declare function clearAnnouncer(): void;
184
600
  */
185
601
  export declare function clearAriaAttributes(el: HTMLElement): void;
186
602
 
603
+ /**
604
+ * Clear audit logs
605
+ */
606
+ export declare function clearAuditLogs(): void;
607
+
608
+ /**
609
+ * Clear stored results
610
+ */
611
+ export declare function clearBenchmarkResults(): void;
612
+
187
613
  /**
188
614
  * Clear DevTools state
189
615
  */
190
616
  export declare function clearDevtoolsState(): void;
191
617
 
618
+ /**
619
+ * Clear warnings
620
+ */
621
+ export declare function clearEdgeCaseWarnings(): void;
622
+
192
623
  /**
193
624
  * Clear all performance metrics
194
625
  */
195
626
  export declare function clearPerformanceMetrics(): void;
196
627
 
628
+ /**
629
+ * Clear warned changes cache
630
+ */
631
+ export declare function clearWarnedChanges(): void;
632
+
633
+ /**
634
+ * Clear warned features cache
635
+ */
636
+ export declare function clearWarnedFeatures(): void;
637
+
197
638
  /**
198
639
  * Click delay handler
199
640
  */
@@ -204,6 +645,56 @@ export declare type ClickDelayHandler = (event: MouseEvent | TouchEvent) => void
204
645
  */
205
646
  export declare type ClickOutsideHandler = (event: MouseEvent | TouchEvent) => void;
206
647
 
648
+ /**
649
+ * Code change information
650
+ */
651
+ export declare interface CodeChange {
652
+ type: 'replace' | 'insert' | 'delete';
653
+ location: string;
654
+ line: number;
655
+ original: string;
656
+ new: string;
657
+ description: string;
658
+ }
659
+
660
+ /**
661
+ * Compare two benchmark results
662
+ */
663
+ export declare function compareBenchmarks(baseline: BenchmarkResult, current: BenchmarkResult, threshold?: number): BenchmarkComparison;
664
+
665
+ /**
666
+ * Compare performance snapshots
667
+ */
668
+ export declare function compareSnapshots(before: PerformanceSnapshot, after: PerformanceSnapshot): {
669
+ memoryDiff?: {
670
+ usedJSHeapSize: number;
671
+ totalJSHeapSize: number;
672
+ };
673
+ timeDiff: number;
674
+ };
675
+
676
+ /**
677
+ * Version comparison utility
678
+ */
679
+ export declare function compareVersions(a: string, b: string): -1 | 0 | 1;
680
+
681
+ export declare interface CompatibilityMatrix {
682
+ browsers: MatrixBrowserTarget[];
683
+ features: Record<string, FeatureMatrix>;
684
+ mobileDevices: MobileDevice[];
685
+ }
686
+
687
+ /**
688
+ * Compatibility report
689
+ */
690
+ export declare interface CompatibilityReport {
691
+ browser: BrowserInfo;
692
+ config: BrowserCompatibilityConfig;
693
+ unsupportedFeatures: (keyof BrowserFeatures)[];
694
+ warnings: string[];
695
+ recommendations: string[];
696
+ }
697
+
207
698
  /**
208
699
  * Debounced function type for composables
209
700
  */
@@ -240,6 +731,37 @@ export declare interface ComposableThrottledFunction<T extends (...args: any[])
240
731
  cancel: () => void;
241
732
  }
242
733
 
734
+ /**
735
+ * Cache for computed results with dependency tracking
736
+ */
737
+ export declare class ComputedCache<K, V> {
738
+ private cache;
739
+ private maxSize;
740
+ private computeFunction;
741
+ private ttl;
742
+ constructor(computeFunction: (key: K, ...deps: any[]) => V, maxSize?: number, ttl?: number);
743
+ /**
744
+ * Get or compute cached value
745
+ */
746
+ get(key: K, dependencies: any[]): V;
747
+ /**
748
+ * Compare dependencies
749
+ */
750
+ private compareDependencies;
751
+ /**
752
+ * Invalidate specific key
753
+ */
754
+ invalidate(key: K): void;
755
+ /**
756
+ * Clear all cache
757
+ */
758
+ clear(): void;
759
+ /**
760
+ * Get cache size
761
+ */
762
+ size(): number;
763
+ }
764
+
243
765
  /**
244
766
  * Computed ref with automatic cleanup
245
767
  */
@@ -255,60 +777,193 @@ export declare interface ComputedWithCleanupOptions<T> {
255
777
  cleanup?: (value: T) => void;
256
778
  }
257
779
 
780
+ export declare interface ConfigCenterConfig {
781
+ sources: ConfigSource[];
782
+ mergeStrategy: 'override' | 'merge' | 'deepMerge';
783
+ cache: {
784
+ enabled: boolean;
785
+ ttl: number;
786
+ key: string;
787
+ };
788
+ sync: {
789
+ enabled: boolean;
790
+ broadcastChannel?: string;
791
+ onUpdate?: (key: string, value: any) => void;
792
+ };
793
+ validation: {
794
+ enabled: boolean;
795
+ schema?: Record<string, ConfigSchema>;
796
+ };
797
+ encryption: {
798
+ enabled: boolean;
799
+ algorithm: 'AES' | 'none';
800
+ key?: string;
801
+ };
802
+ }
803
+
804
+ export declare interface ConfigChangeEvent {
805
+ key: string;
806
+ oldValue: any;
807
+ newValue: any;
808
+ source: string;
809
+ timestamp: number;
810
+ }
811
+
812
+ export declare interface ConfigSchema {
813
+ type: 'string' | 'number' | 'boolean' | 'object' | 'array';
814
+ required?: boolean;
815
+ default?: any;
816
+ enum?: any[];
817
+ min?: number;
818
+ max?: number;
819
+ pattern?: string;
820
+ validator?: (value: any) => boolean;
821
+ }
822
+
823
+ export declare interface ConfigSnapshot {
824
+ version: string;
825
+ config: Record<string, any>;
826
+ timestamp: number;
827
+ source: string;
828
+ hash: string;
829
+ }
830
+
831
+ export declare interface ConfigSource {
832
+ type: ConfigSourceType;
833
+ priority: number;
834
+ api?: {
835
+ url: string;
836
+ method: 'GET' | 'POST';
837
+ headers?: Record<string, string>;
838
+ refreshInterval?: number;
839
+ timeout?: number;
840
+ };
841
+ storage?: {
842
+ key: string;
843
+ encrypt?: boolean;
844
+ };
845
+ static?: Record<string, any>;
846
+ }
847
+
258
848
  /**
259
- * Configure performance monitoring
849
+ * Configuration Center Integration Module for Directix
850
+ * Provides centralized configuration management with remote sync support
260
851
  */
261
- export declare function configurePerformance(config: Partial<PerformanceConfig>): void;
852
+ export declare type ConfigSourceType = 'static' | 'api' | 'localStorage' | 'sessionStorage' | 'remote';
262
853
 
263
854
  /**
264
- * Configure permission directive
855
+ * Configure audit logging
265
856
  */
266
- export declare function configurePermission(config: PermissionConfig): void;
857
+ export declare function configureAuditLog(config: Partial<AuditLogConfig>): void;
267
858
 
268
859
  /**
269
- * Context menu item
860
+ * Configure benchmark
270
861
  */
271
- export declare interface ContextMenuItem {
272
- label: string;
273
- handler?: () => void;
274
- disabled?: boolean;
275
- divider?: boolean;
276
- icon?: string;
277
- class?: string;
278
- }
862
+ export declare function configureBenchmark(config: Partial<BenchmarkConfig>): void;
279
863
 
280
864
  /**
281
- * Countdown complete callback
865
+ * Configure breaking changes warning system
282
866
  */
283
- export declare type CountdownCompleteCallback = () => void;
867
+ export declare function configureBreakingChanges(config: Partial<BreakingChangesConfig>): void;
284
868
 
285
869
  /**
286
- * Countdown format function
870
+ * Configure browser compatibility settings
287
871
  */
288
- export declare type CountdownFormatFunction = (time: CountdownTime) => string;
872
+ export declare function configureCompatibility(config: Partial<BrowserCompatibilityConfig>): void;
289
873
 
290
874
  /**
291
- * Countdown tick callback
875
+ * Configure configuration center
292
876
  */
293
- export declare type CountdownTickCallback = (time: CountdownTime) => void;
877
+ export declare function configureConfigCenter(config: Partial<ConfigCenterConfig>): void;
294
878
 
295
879
  /**
296
- * Countdown time object
880
+ * Configure edge case handler
297
881
  */
298
- export declare interface CountdownTime {
299
- days: number;
300
- hours: number;
301
- minutes: number;
302
- seconds: number;
303
- milliseconds: number;
304
- total: number;
305
- }
882
+ export declare function configureEdgeCase(config: Partial<EdgeCaseConfig>): void;
883
+
884
+ /**
885
+ * Configure global permission manager
886
+ */
887
+ export declare function configureEnterprisePermission(config: Partial<EnterprisePermissionConfig>): EnterprisePermissionManager;
888
+
889
+ /**
890
+ * Configure first screen optimization
891
+ */
892
+ export declare function configureFirstScreen(config: Partial<FirstScreenConfig>): void;
893
+
894
+ /**
895
+ * Configure monitoring
896
+ */
897
+ export declare function configureMonitoring(config: Partial<MonitoringConfig>): void;
898
+
899
+ /**
900
+ * Configure performance monitoring
901
+ */
902
+ export declare function configurePerformance(config: Partial<PerformanceConfig>): void;
903
+
904
+ /**
905
+ * Configure performance optimization
906
+ */
907
+ export declare function configurePerformanceOptimization(config: Partial<PerformanceOptimizationConfig>): void;
908
+
909
+ /**
910
+ * Configure permission directive
911
+ */
912
+ export declare function configurePermission(config: PermissionConfig): void;
913
+
914
+ /**
915
+ * Context menu item
916
+ */
917
+ export declare interface ContextMenuItem {
918
+ label: string;
919
+ handler?: () => void;
920
+ disabled?: boolean;
921
+ divider?: boolean;
922
+ icon?: string;
923
+ class?: string;
924
+ }
925
+
926
+ /**
927
+ * Countdown complete callback
928
+ */
929
+ export declare type CountdownCompleteCallback = () => void;
930
+
931
+ /**
932
+ * Countdown format function
933
+ */
934
+ export declare type CountdownFormatFunction = (time: CountdownTime) => string;
935
+
936
+ /**
937
+ * Countdown tick callback
938
+ */
939
+ export declare type CountdownTickCallback = (time: CountdownTime) => void;
940
+
941
+ /**
942
+ * Countdown time object
943
+ */
944
+ export declare interface CountdownTime {
945
+ days: number;
946
+ hours: number;
947
+ minutes: number;
948
+ seconds: number;
949
+ milliseconds: number;
950
+ total: number;
951
+ }
306
952
 
307
953
  /**
308
954
  * Easing type
309
955
  */
310
956
  export declare type CounterEasing = 'linear' | 'easeOut' | 'easeInOut' | 'easeOutQuart' | 'easeOutExpo';
311
957
 
958
+ /**
959
+ * Create audit log middleware for directives
960
+ */
961
+ export declare function createAuditLogMiddleware(directiveName: string): {
962
+ onMount: (_el: HTMLElement, binding: any, vnode: any) => void;
963
+ onUpdate: (_el: HTMLElement, binding: any, vnode: any, oldBinding: any) => void;
964
+ onUnmount: (_el: HTMLElement, _binding: any, vnode: any) => void;
965
+ };
966
+
312
967
  /**
313
968
  * Create a capitalizing function with preset options
314
969
  *
@@ -331,6 +986,11 @@ export declare function createCapitalizer(options?: {
331
986
  keepLower?: string[];
332
987
  }): (text: string) => string;
333
988
 
989
+ /**
990
+ * Debounce resize handler
991
+ */
992
+ export declare function createDebouncedResizeHandler(handler: () => void, delay?: number): () => void;
993
+
334
994
  /**
335
995
  * Create a debounced click handler
336
996
  *
@@ -350,6 +1010,34 @@ export declare function createCapitalizer(options?: {
350
1010
  */
351
1011
  export declare function createDelayedClick(handler: ClickDelayHandler, delay?: number): (event: MouseEvent | TouchEvent) => void;
352
1012
 
1013
+ /**
1014
+ * Create a deprecation warning helper
1015
+ */
1016
+ export declare function createDeprecationWarning(changeId: string, deprecatedAPI: string, alternative: string): () => void;
1017
+
1018
+ /**
1019
+ * Create benchmark for directive
1020
+ */
1021
+ export declare function createDirectiveBenchmark(directiveName: string, setup: () => HTMLElement, teardown?: (el: HTMLElement) => void): {
1022
+ measureMount: () => Promise<BenchmarkResult>;
1023
+ measureUpdate: (newValue: any) => Promise<BenchmarkResult>;
1024
+ measureUnmount: () => Promise<BenchmarkResult>;
1025
+ measureFullCycle: () => Promise<BenchmarkResult>;
1026
+ };
1027
+
1028
+ /**
1029
+ * Create a directive element wrapper
1030
+ *
1031
+ * @example
1032
+ * ```ts
1033
+ * import { createDirectiveElement, vLazy } from 'directix'
1034
+ *
1035
+ * const LazyImage = createDirectiveElement('lazy-image', vLazy)
1036
+ * customElements.define('lazy-image', LazyImage)
1037
+ * ```
1038
+ */
1039
+ export declare function createDirectiveElement(_name: string, directive: Directive, options?: Omit<CustomElementDirectiveOptions, 'name' | 'directive'>): CustomElementConstructor;
1040
+
353
1041
  /**
354
1042
  * Create a directive from a template
355
1043
  *
@@ -399,6 +1087,19 @@ export declare function createEventDirective(options: {
399
1087
  */
400
1088
  export declare function createI18n(options: I18nOptions): I18nInstance;
401
1089
 
1090
+ /**
1091
+ * Create lazy loader for directives
1092
+ */
1093
+ export declare function createLazyLoader(options?: {
1094
+ rootMargin?: string;
1095
+ threshold?: number;
1096
+ onVisible?: (element: Element) => void;
1097
+ }): {
1098
+ observe: (element: Element) => void;
1099
+ unobserve: (element: Element) => void;
1100
+ disconnect: () => void;
1101
+ };
1102
+
402
1103
  /**
403
1104
  * Create a lowercase transformation function
404
1105
  *
@@ -462,6 +1163,28 @@ export declare function createNumberFormatter(options?: {
462
1163
  suffix?: string;
463
1164
  }): (value: number) => string;
464
1165
 
1166
+ /**
1167
+ * Create performance budget checker
1168
+ */
1169
+ export declare function createPerformanceBudget(budget: {
1170
+ fcp?: number;
1171
+ lcp?: number;
1172
+ tti?: number;
1173
+ cls?: number;
1174
+ tbt?: number;
1175
+ }): {
1176
+ check: () => {
1177
+ passed: boolean;
1178
+ violations: string[];
1179
+ };
1180
+ report: () => string;
1181
+ };
1182
+
1183
+ /**
1184
+ * Create permission directive helper
1185
+ */
1186
+ export declare function createPermissionCheck(permission: string | string[], mode?: 'any' | 'all'): (context?: Record<string, any>) => Promise<boolean>;
1187
+
465
1188
  /**
466
1189
  * Create a permission checker with shared configuration
467
1190
  *
@@ -494,6 +1217,14 @@ export declare function createPermissionChecker(config: {
494
1217
  */
495
1218
  export declare function createSafeContentHandler(config?: XSSProtectionConfig): SafeContentHandler;
496
1219
 
1220
+ /**
1221
+ * Create safe directive wrapper
1222
+ */
1223
+ export declare function createSafeDirectiveWrapper<T>(directiveName: string, operation: (el: HTMLElement, binding: any, vnode: any) => T | Promise<T>, options?: {
1224
+ requireDOM?: boolean;
1225
+ validateBinding?: (binding: any) => boolean;
1226
+ }): (el: HTMLElement, binding: any, vnode: any) => Promise<T | undefined>;
1227
+
497
1228
  /**
498
1229
  * Create a style-based directive template
499
1230
  *
@@ -563,8 +1294,9 @@ export declare function createUppercaser(first?: boolean): (text: string) => str
563
1294
  export declare function createVue2Directive<T, B extends Element>(hooks: DirectiveHooks<T, B>): Record<string, any>;
564
1295
 
565
1296
  /**
566
- * Vue 3 directive adapter
567
- * @returns Vue 3 directive object with created/mounted/updated/unmounted hooks
1297
+ * Create Vue 3 directive with optimizations
1298
+ * Uses markRaw for DOM elements and shallowReactive for state
1299
+ * @returns Vue 3 directive object
568
1300
  */
569
1301
  export declare function createVue3Directive<T, B extends Element>(hooks: DirectiveHooks<T, B>): Record<string, any>;
570
1302
 
@@ -610,6 +1342,35 @@ export declare interface CSPConfig {
610
1342
  nonce?: string;
611
1343
  }
612
1344
 
1345
+ /**
1346
+ * Options for creating a custom element directive
1347
+ */
1348
+ export declare interface CustomElementDirectiveOptions {
1349
+ /** The element name (must contain a hyphen) */
1350
+ name: string;
1351
+ /** The Vue directive to apply */
1352
+ directive: Directive;
1353
+ /** Default binding value */
1354
+ defaultValue?: any;
1355
+ /** Whether to use shadow DOM */
1356
+ shadow?: boolean;
1357
+ /** Shadow DOM mode */
1358
+ shadowMode?: 'open' | 'closed';
1359
+ }
1360
+
1361
+ declare interface CustomIntegration {
1362
+ enabled: boolean;
1363
+ pushMetrics: (metrics: Metric[]) => Promise<void>;
1364
+ pushAlert: (alert: Alert) => Promise<void>;
1365
+ }
1366
+
1367
+ declare interface DatadogConfig {
1368
+ enabled: boolean;
1369
+ apiKey: string;
1370
+ appKey?: string;
1371
+ host?: string;
1372
+ }
1373
+
613
1374
  /**
614
1375
  * Date format options per region
615
1376
  */
@@ -669,6 +1430,58 @@ export declare function deepClone<T>(obj: T): T;
669
1430
  */
670
1431
  export declare function deepMerge<T extends Record<string, any>>(target: T, ...sources: Partial<T>[]): T;
671
1432
 
1433
+ export declare const DEFAULT_AUDIT_LOG_CONFIG: AuditLogConfig;
1434
+
1435
+ export declare const DEFAULT_BENCHMARK_CONFIG: BenchmarkConfig;
1436
+
1437
+ export declare const DEFAULT_BREAKING_CHANGES_CONFIG: BreakingChangesConfig;
1438
+
1439
+ export declare const DEFAULT_CONFIG_CENTER_CONFIG: ConfigCenterConfig;
1440
+
1441
+ export declare const DEFAULT_EDGE_CASE_CONFIG: EdgeCaseConfig;
1442
+
1443
+ export declare const DEFAULT_ENTERPRISE_PERMISSION_CONFIG: EnterprisePermissionConfig;
1444
+
1445
+ export declare const DEFAULT_FIRST_SCREEN_CONFIG: FirstScreenConfig;
1446
+
1447
+ export declare const DEFAULT_MONITORING_CONFIG: MonitoringConfig;
1448
+
1449
+ export declare const DEFAULT_PERFORMANCE_CONFIG: PerformanceOptimizationConfig;
1450
+
1451
+ /**
1452
+ * Defer non-critical directive
1453
+ */
1454
+ export declare function deferNonCriticalDirective(_directiveName: string, setup: () => void | Promise<void>, isCritical?: boolean): void;
1455
+
1456
+ export declare interface DeferredTask {
1457
+ id: string;
1458
+ priority: 'critical' | 'high' | 'medium' | 'low';
1459
+ execute: () => void | Promise<void>;
1460
+ executed: boolean;
1461
+ }
1462
+
1463
+ /**
1464
+ * Defer task execution
1465
+ */
1466
+ export declare function deferTask(id: string, execute: () => void | Promise<void>, priority?: 'critical' | 'high' | 'medium' | 'low'): void;
1467
+
1468
+ /**
1469
+ * Define a custom element that wraps a Vue directive
1470
+ *
1471
+ * @example
1472
+ * ```ts
1473
+ * import { vClickOutside, defineCustomElementDirective } from 'directix'
1474
+ *
1475
+ * defineCustomElementDirective({
1476
+ * name: 'click-outside',
1477
+ * directive: vClickOutside,
1478
+ * })
1479
+ *
1480
+ * // Now you can use: <click-outside></click-outside>
1481
+ * ```
1482
+ */
1483
+ export declare function defineCustomElementDirective(options: CustomElementDirectiveOptions): void;
1484
+
672
1485
  /**
673
1486
  * Define a cross-version compatible directive
674
1487
  * @param definition The directive definition
@@ -690,6 +1503,11 @@ export declare function defineDirectiveGroup(name: string, directives: Record<st
690
1503
  */
691
1504
  export declare function definePlugin(plugin: DirectixPlugin): DirectixPlugin;
692
1505
 
1506
+ /**
1507
+ * Delete configuration value
1508
+ */
1509
+ export declare function deleteConfig(key: string): void;
1510
+
693
1511
  /**
694
1512
  * Dependency vulnerability info
695
1513
  */
@@ -710,11 +1528,46 @@ export declare interface DependencyVulnerability {
710
1528
  patchedVersions?: string;
711
1529
  }
712
1530
 
1531
+ /**
1532
+ * Deprecated API information
1533
+ */
1534
+ export declare interface DeprecatedAPI {
1535
+ name: string;
1536
+ location: string;
1537
+ line: number;
1538
+ deprecatedIn: string;
1539
+ removedIn: string;
1540
+ replacement: string;
1541
+ migrationCode?: string;
1542
+ }
1543
+
1544
+ /**
1545
+ * Detect breaking changes in code
1546
+ */
1547
+ export declare function detectBreakingChangesInCode(code: string, options?: {
1548
+ file?: string;
1549
+ }): BreakingChangeDetection[];
1550
+
1551
+ /**
1552
+ * Detect legacy usage in code
1553
+ */
1554
+ export declare function detectLegacyUsage(code: string, source?: MigrationSource): LegacyUsageReport;
1555
+
713
1556
  /**
714
1557
  * Detect user locale info
715
1558
  */
716
1559
  export declare function detectLocaleInfo(): LocaleInfo;
717
1560
 
1561
+ /**
1562
+ * Detect resize loop
1563
+ */
1564
+ export declare function detectResizeLoop(_entries: ResizeObserverEntry[], threshold?: number): boolean;
1565
+
1566
+ /**
1567
+ * Detect scroll jank
1568
+ */
1569
+ export declare function detectScrollJank(frameTime: number, threshold?: number): boolean;
1570
+
718
1571
  /**
719
1572
  * DevTools event
720
1573
  */
@@ -924,11 +1777,87 @@ export declare function disableDevtools(): void;
924
1777
  */
925
1778
  export declare function disablePerformance(): void;
926
1779
 
1780
+ /**
1781
+ * Cache for DOM queries to reduce repeated queries
1782
+ */
1783
+ export declare class DOMQueryCache {
1784
+ private queryCache;
1785
+ private styleCache;
1786
+ /**
1787
+ * Query selector with caching
1788
+ */
1789
+ querySelector(element: Element, selector: string): Element | null;
1790
+ /**
1791
+ * Query selector all with caching
1792
+ */
1793
+ querySelectorAll(element: Element, selector: string): Element[];
1794
+ /**
1795
+ * Get computed style with caching
1796
+ */
1797
+ getComputedStyle(element: Element): CSSStyleDeclaration;
1798
+ /**
1799
+ * Invalidate cache for element
1800
+ */
1801
+ invalidate(element: Element): void;
1802
+ }
1803
+
927
1804
  /**
928
1805
  * Draggable axis
929
1806
  */
930
1807
  export declare type DraggableAxis = 'x' | 'y' | 'both';
931
1808
 
1809
+ /**
1810
+ * Edge Case Handler Module for Directix
1811
+ * Provides robust handling for edge cases and error scenarios
1812
+ */
1813
+ export declare interface EdgeCaseConfig {
1814
+ ssr: {
1815
+ enabled: boolean;
1816
+ warnOnUnsupported: boolean;
1817
+ fallbackBehavior: 'skip' | 'mock' | 'throw';
1818
+ };
1819
+ domReady: {
1820
+ waitForReady: boolean;
1821
+ timeout: number;
1822
+ retryCount: number;
1823
+ };
1824
+ memory: {
1825
+ maxObservers: number;
1826
+ cleanupInterval: number;
1827
+ warnThreshold: number;
1828
+ };
1829
+ errorRecovery: {
1830
+ enabled: boolean;
1831
+ maxRetries: number;
1832
+ retryDelay: number;
1833
+ fallbackValue?: any;
1834
+ };
1835
+ mobile: {
1836
+ touchDelay: number;
1837
+ debounceResize: number;
1838
+ preventDefaultOnTouch: boolean;
1839
+ };
1840
+ }
1841
+
1842
+ export declare interface EdgeCaseResult<T> {
1843
+ success: boolean;
1844
+ value?: T;
1845
+ error?: Error;
1846
+ recovered: boolean;
1847
+ retryCount: number;
1848
+ }
1849
+
1850
+ export declare type EdgeCaseType = 'ssr-unsupported' | 'dom-not-ready' | 'element-not-found' | 'observer-limit' | 'memory-leak' | 'touch-conflict' | 'resize-loop' | 'scroll-jank' | 'invalid-binding' | 'missing-dependency';
1851
+
1852
+ export declare interface EdgeCaseWarning {
1853
+ type: EdgeCaseType;
1854
+ message: string;
1855
+ element?: Element;
1856
+ directive?: string;
1857
+ timestamp: number;
1858
+ handled: boolean;
1859
+ }
1860
+
932
1861
  /**
933
1862
  * Enable DevTools integration
934
1863
  */
@@ -949,6 +1878,139 @@ export declare function endMeasure(markId: string, directive: string, phase: 'mo
949
1878
  */
950
1879
  export declare function ensureTeleportTarget(target: string): HTMLElement | null;
951
1880
 
1881
+ /**
1882
+ * Permission configuration
1883
+ */
1884
+ export declare interface EnterprisePermissionConfig {
1885
+ sources: PermissionSourceConfig[];
1886
+ roles: Record<string, RoleDefinition>;
1887
+ cache: {
1888
+ enabled: boolean;
1889
+ ttl: number;
1890
+ key: string;
1891
+ };
1892
+ audit: {
1893
+ enabled: boolean;
1894
+ onCheck?: (result: PermissionCheckResult) => void;
1895
+ onGrant?: (result: PermissionCheckResult) => void;
1896
+ onDeny?: (result: PermissionCheckResult) => void;
1897
+ logToConsole?: boolean;
1898
+ };
1899
+ defaultBehavior: 'allow' | 'deny';
1900
+ customCheck?: (permission: string, context?: any) => boolean | Promise<boolean>;
1901
+ }
1902
+
1903
+ /**
1904
+ * Enterprise Permission Manager
1905
+ */
1906
+ export declare class EnterprisePermissionManager {
1907
+ private config;
1908
+ private permissions;
1909
+ private resolvedRoles;
1910
+ private auditLogs;
1911
+ private cacheTimestamp;
1912
+ private refreshTimer;
1913
+ private initialized;
1914
+ constructor(config?: Partial<EnterprisePermissionConfig>);
1915
+ /**
1916
+ * Initialize permission manager
1917
+ */
1918
+ initialize(): Promise<void>;
1919
+ /**
1920
+ * Load permissions from all configured sources
1921
+ */
1922
+ private loadPermissions;
1923
+ /**
1924
+ * Load permissions from a single source
1925
+ */
1926
+ private loadFromSource;
1927
+ /**
1928
+ * Load permissions from API
1929
+ */
1930
+ private loadFromApi;
1931
+ /**
1932
+ * Load permissions from storage
1933
+ */
1934
+ private loadFromStorage;
1935
+ /**
1936
+ * Resolve all role inheritances
1937
+ */
1938
+ private resolveAllRoles;
1939
+ /**
1940
+ * Resolve a single role with inheritance
1941
+ */
1942
+ private resolveRole;
1943
+ /**
1944
+ * Set up automatic refresh timer
1945
+ */
1946
+ private setupRefreshTimer;
1947
+ /**
1948
+ * Check if permission is granted
1949
+ */
1950
+ check(permission: string, context?: Record<string, any>): Promise<PermissionCheckResult>;
1951
+ /**
1952
+ * Check permission synchronously (without API refresh)
1953
+ */
1954
+ checkSync(permission: string, context?: Record<string, any>): PermissionCheckResult;
1955
+ /**
1956
+ * Check multiple permissions
1957
+ */
1958
+ checkAll(permissions: string[], context?: Record<string, any>): Promise<Record<string, boolean>>;
1959
+ /**
1960
+ * Check if any of the permissions is granted
1961
+ */
1962
+ checkAny(permissions: string[], context?: Record<string, any>): Promise<boolean>;
1963
+ /**
1964
+ * Log audit entry
1965
+ */
1966
+ private logAudit;
1967
+ /**
1968
+ * Get audit logs
1969
+ */
1970
+ getAuditLogs(filter?: {
1971
+ permission?: string;
1972
+ result?: 'granted' | 'denied';
1973
+ since?: number;
1974
+ limit?: number;
1975
+ }): PermissionAuditLogEntry[];
1976
+ /**
1977
+ * Clear audit logs
1978
+ */
1979
+ clearAuditLogs(): void;
1980
+ /**
1981
+ * Add permission dynamically
1982
+ */
1983
+ addPermission(permission: string): void;
1984
+ /**
1985
+ * Remove permission dynamically
1986
+ */
1987
+ removePermission(permission: string): void;
1988
+ /**
1989
+ * Get all current permissions
1990
+ */
1991
+ getPermissions(): string[];
1992
+ /**
1993
+ * Add role dynamically
1994
+ */
1995
+ addRole(role: RoleDefinition): void;
1996
+ /**
1997
+ * Remove role dynamically
1998
+ */
1999
+ removeRole(roleName: string): void;
2000
+ /**
2001
+ * Get resolved permissions for a role
2002
+ */
2003
+ getRolePermissions(roleName: string): string[];
2004
+ /**
2005
+ * Export audit logs
2006
+ */
2007
+ exportAuditLogs(format?: 'json' | 'csv'): string;
2008
+ /**
2009
+ * Destroy and cleanup
2010
+ */
2011
+ destroy(): void;
2012
+ }
2013
+
952
2014
  export declare const enUS: I18nMessages;
953
2015
 
954
2016
  /**
@@ -975,6 +2037,58 @@ declare interface ErrorMessages {
975
2037
  */
976
2038
  export declare function escapeHtml(str: string): string;
977
2039
 
2040
+ /**
2041
+ * Estimate migration effort
2042
+ */
2043
+ export declare function estimateMigrationEffort(report: LegacyUsageReport): {
2044
+ estimatedTime: string;
2045
+ difficulty: 'easy' | 'medium' | 'hard';
2046
+ autoFixablePercentage: number;
2047
+ };
2048
+
2049
+ /**
2050
+ * Batch processor for events to reduce DOM operations
2051
+ */
2052
+ export declare class EventBatchProcessor {
2053
+ private queue;
2054
+ private processing;
2055
+ private batchSize;
2056
+ private scheduled;
2057
+ constructor(batchSize?: number);
2058
+ /**
2059
+ * Add event to batch queue
2060
+ */
2061
+ add(target: HTMLElement, event: string, handler: EventListener): void;
2062
+ /**
2063
+ * Process batched events
2064
+ */
2065
+ private processBatch;
2066
+ /**
2067
+ * Clear the queue
2068
+ */
2069
+ clear(): void;
2070
+ }
2071
+
2072
+ /**
2073
+ * Execute deferred tasks
2074
+ */
2075
+ export declare function executeDeferredTasks(): Promise<void>;
2076
+
2077
+ /**
2078
+ * Export audit logs
2079
+ */
2080
+ export declare function exportAuditLogs(options?: AuditLogExportOptions): string;
2081
+
2082
+ /**
2083
+ * Export results as JSON
2084
+ */
2085
+ export declare function exportBenchmarkResults(format?: 'json' | 'csv'): string;
2086
+
2087
+ /**
2088
+ * Export configuration
2089
+ */
2090
+ export declare function exportConfig(format?: 'json' | 'yaml' | 'env'): string;
2091
+
978
2092
  /**
979
2093
  * Export format type
980
2094
  */
@@ -989,6 +2103,11 @@ export declare function exportPerformanceData(): {
989
2103
  report: DirectivePerformance[];
990
2104
  };
991
2105
 
2106
+ /**
2107
+ * Export metrics in Prometheus format
2108
+ */
2109
+ export declare function exportPrometheusMetrics(): string;
2110
+
992
2111
  /**
993
2112
  * Extended touch gesture types
994
2113
  */
@@ -1023,6 +2142,87 @@ export declare interface ExtendedTouchEvent {
1023
2142
  duration?: number;
1024
2143
  }
1025
2144
 
2145
+ /**
2146
+ * Get Critical CSS
2147
+ */
2148
+ export declare function extractCriticalCSS(): string;
2149
+
2150
+ /**
2151
+ * Fallback strategy configuration
2152
+ */
2153
+ export declare interface FallbackConfig {
2154
+ intersectionObserver: boolean;
2155
+ resizeObserver: boolean;
2156
+ clipboard: boolean;
2157
+ mutationObserver: boolean;
2158
+ pointerEvents: boolean;
2159
+ touchEvents: boolean;
2160
+ }
2161
+
2162
+ export declare const FEATURE_MATRIX: Record<string, FeatureMatrix>;
2163
+
2164
+ export declare interface FeatureMatrix {
2165
+ name: string;
2166
+ description: string;
2167
+ browserSupport: Record<string, {
2168
+ minVersion: number;
2169
+ notes?: string;
2170
+ }>;
2171
+ fallbackAvailable: boolean;
2172
+ }
2173
+
2174
+ export declare interface FeatureSupport {
2175
+ name: string;
2176
+ supported: boolean;
2177
+ polyfillAvailable: boolean;
2178
+ notes?: string;
2179
+ }
2180
+
2181
+ /**
2182
+ * First Screen Loading Optimization Module for Directix
2183
+ * Provides utilities for optimizing initial page load performance
2184
+ */
2185
+ export declare interface FirstScreenConfig {
2186
+ lazyLoading: {
2187
+ enabled: boolean;
2188
+ rootMargin: string;
2189
+ threshold: number;
2190
+ deferNonCritical: boolean;
2191
+ };
2192
+ codeSplitting: {
2193
+ enabled: boolean;
2194
+ preloadAfter: number;
2195
+ prefetchVisible: boolean;
2196
+ };
2197
+ resourceHints: {
2198
+ preconnect: string[];
2199
+ preload: string[];
2200
+ prefetch: string[];
2201
+ dnsPrefetch: string[];
2202
+ };
2203
+ deferredExecution: {
2204
+ enabled: boolean;
2205
+ deferDelay: number;
2206
+ priorityQueue: boolean;
2207
+ };
2208
+ criticalCSS: {
2209
+ extract: boolean;
2210
+ inline: boolean;
2211
+ inlineThreshold: number;
2212
+ };
2213
+ }
2214
+
2215
+ export declare interface FirstScreenMetrics {
2216
+ domContentLoaded: number;
2217
+ load: number;
2218
+ firstPaint: number;
2219
+ firstContentfulPaint: number;
2220
+ largestContentfulPaint: number;
2221
+ timeToInteractive: number;
2222
+ totalBlockingTime: number;
2223
+ cumulativeLayoutShift: number;
2224
+ }
2225
+
1026
2226
  /**
1027
2227
  * Focus trap options
1028
2228
  */
@@ -1072,74 +2272,369 @@ export declare function formatNumber(value: number, options?: {
1072
2272
  }): string;
1073
2273
 
1074
2274
  /**
1075
- * Format number with locale-specific separators
2275
+ * Format number with locale-specific separators
2276
+ */
2277
+ export declare function formatNumberLocale(value: number, decimals?: number, options?: Partial<NumberFormatOptions>): string;
2278
+
2279
+ /**
2280
+ * Format time to string
2281
+ */
2282
+ export declare function formatTime(time: CountdownTime, format: string | CountdownFormatFunction): string;
2283
+
2284
+ /**
2285
+ * Generate unique ID for ARIA references
2286
+ */
2287
+ export declare function generateAriaId(prefix?: string): string;
2288
+
2289
+ /**
2290
+ * Generate benchmark report
2291
+ */
2292
+ export declare function generateBenchmarkReport(): string;
2293
+
2294
+ /**
2295
+ * Generate comprehensive breaking changes report
2296
+ */
2297
+ export declare function generateBreakingChangesReport(targetVersion?: string): BreakingChangesReport;
2298
+
2299
+ /**
2300
+ * Generate browserslist configuration
2301
+ */
2302
+ export declare function generateBrowserslistConfig(): string[];
2303
+
2304
+ /**
2305
+ * Generate compatibility report
2306
+ */
2307
+ export declare function generateCompatibilityReport(): CompatibilityReport;
2308
+
2309
+ /**
2310
+ * Generate unique ID
2311
+ */
2312
+ export declare function generateId(prefix?: string): string;
2313
+
2314
+ /**
2315
+ * Generate migration report
2316
+ */
2317
+ export declare function generateMigrationReport(report: LegacyUsageReport, format: 'text' | 'json' | 'markdown'): string;
2318
+
2319
+ /**
2320
+ * Get nested property value by path
2321
+ */
2322
+ export declare function get<T = any>(obj: Record<string, any>, path: string, defaultValue?: T): T;
2323
+
2324
+ /**
2325
+ * Get alerts
2326
+ */
2327
+ export declare function getAlerts(filter?: {
2328
+ status?: AlertStatus;
2329
+ severity?: AlertSeverity;
2330
+ ruleId?: string;
2331
+ since?: number;
2332
+ }): Alert[];
2333
+
2334
+ /**
2335
+ * Get all stored results
2336
+ */
2337
+ export declare function getAllBenchmarkResults(): Map<string, BenchmarkResult>;
2338
+
2339
+ /**
2340
+ * Get all breaking changes
2341
+ */
2342
+ export declare function getAllBreakingChanges(): BreakingChangeDefinition[];
2343
+
2344
+ /**
2345
+ * Get all configuration values
2346
+ */
2347
+ export declare function getAllConfig(): Record<string, any>;
2348
+
2349
+ /**
2350
+ * Get audit log by ID
2351
+ */
2352
+ export declare function getAuditLogById(id: string): AuditLogEntry | undefined;
2353
+
2354
+ /**
2355
+ * Get current configuration
2356
+ */
2357
+ export declare function getAuditLogConfig(): AuditLogConfig;
2358
+
2359
+ /**
2360
+ * Get audit logs with filtering
2361
+ */
2362
+ export declare function getAuditLogs(filter?: AuditLogFilter): AuditLogEntry[];
2363
+
2364
+ /**
2365
+ * Get audit log statistics
2366
+ */
2367
+ export declare function getAuditLogStats(): AuditLogStats;
2368
+
2369
+ /**
2370
+ * Get default ARIA config for directive type
2371
+ */
2372
+ export declare function getAutoAriaConfig(options: AutoAriaOptions): ARIAConfig;
2373
+
2374
+ /**
2375
+ * Get current configuration
2376
+ */
2377
+ export declare function getBenchmarkConfig(): BenchmarkConfig;
2378
+
2379
+ /**
2380
+ * Get stored benchmark result
2381
+ */
2382
+ export declare function getBenchmarkResult(name: string): BenchmarkResult | undefined;
2383
+
2384
+ /**
2385
+ * Get breaking changes by category
2386
+ */
2387
+ export declare function getBreakingChangesByCategory(category: BreakingChangeCategory): BreakingChangeDefinition[];
2388
+
2389
+ /**
2390
+ * Get breaking changes by severity
2391
+ */
2392
+ export declare function getBreakingChangesBySeverity(severity: ChangeSeverity): BreakingChangeDefinition[];
2393
+
2394
+ /**
2395
+ * Get current configuration
2396
+ */
2397
+ export declare function getBreakingChangesConfig(): BreakingChangesConfig;
2398
+
2399
+ /**
2400
+ * Get breaking changes affecting a specific API
2401
+ */
2402
+ export declare function getBreakingChangesForAPI(apiName: string): BreakingChangeDefinition[];
2403
+
2404
+ /**
2405
+ * Get breaking changes for a specific version
2406
+ */
2407
+ export declare function getBreakingChangesForVersion(version: string): BreakingChangeDefinition[];
2408
+
2409
+ /**
2410
+ * Get compatibility report for a browser
2411
+ */
2412
+ export declare function getBrowserCompatibilityReport(browserName: string, version: number): {
2413
+ supported: boolean;
2414
+ features: FeatureSupport[];
2415
+ recommendations: string[];
2416
+ };
2417
+
2418
+ /**
2419
+ * Get browser information
2420
+ */
2421
+ export declare function getBrowserInfo(): BrowserInfo;
2422
+
2423
+ /**
2424
+ * Get all supported browsers for a feature
2425
+ */
2426
+ export declare function getBrowsersSupportingFeature(featureName: string): MatrixBrowserTarget[];
2427
+
2428
+ /**
2429
+ * Get current compatibility configuration
2430
+ */
2431
+ export declare function getCompatibilityConfig(): BrowserCompatibilityConfig;
2432
+
2433
+ /**
2434
+ * Get full compatibility matrix
2435
+ */
2436
+ export declare function getCompatibilityMatrix(): CompatibilityMatrix;
2437
+
2438
+ /**
2439
+ * Get configuration value
2440
+ */
2441
+ export declare function getConfig<T = any>(key: string, defaultValue?: T): T;
2442
+
2443
+ /**
2444
+ * Get current configuration
2445
+ */
2446
+ export declare function getConfigCenterConfig(): ConfigCenterConfig;
2447
+
2448
+ /**
2449
+ * Get snapshots
2450
+ */
2451
+ export declare function getConfigSnapshots(): ConfigSnapshot[];
2452
+
2453
+ /**
2454
+ * Get config statistics
2455
+ */
2456
+ export declare function getConfigStats(): {
2457
+ totalKeys: number;
2458
+ snapshotCount: number;
2459
+ listenerCount: number;
2460
+ cacheEnabled: boolean;
2461
+ syncEnabled: boolean;
2462
+ };
2463
+
2464
+ /**
2465
+ * Get counter value
2466
+ */
2467
+ export declare function getCounterValue(name: string, labels?: Record<string, string>): number;
2468
+
2469
+ /**
2470
+ * Get CSP nonce from meta tag
2471
+ */
2472
+ export declare function getCSPNonce(): string | null;
2473
+
2474
+ /**
2475
+ * Get region-specific date format
2476
+ */
2477
+ export declare function getDateFormat(region?: string): DateFormatOptions;
2478
+
2479
+ /**
2480
+ * Get device pixel ratio
2481
+ */
2482
+ export declare function getDevicePixelRatio(): number;
2483
+
2484
+ /**
2485
+ * Get DevTools state (for external access)
2486
+ */
2487
+ export declare function getDevtoolsState(): {
2488
+ enabled: boolean;
2489
+ directiveCount: number;
2490
+ pluginCount: number;
2491
+ eventCount: number;
2492
+ };
2493
+
2494
+ /**
2495
+ * Get performance metrics for a specific directive
2496
+ */
2497
+ export declare function getDirectiveMetrics(directive: string): PerformanceMetric[];
2498
+
2499
+ /**
2500
+ * Get DOM query cache
2501
+ */
2502
+ export declare function getDOMQueryCache(): DOMQueryCache | null;
2503
+
2504
+ /**
2505
+ * Get current configuration
2506
+ */
2507
+ export declare function getEdgeCaseConfig(): EdgeCaseConfig;
2508
+
2509
+ /**
2510
+ * Get warnings
2511
+ */
2512
+ export declare function getEdgeCaseWarnings(filter?: {
2513
+ type?: EdgeCaseType;
2514
+ directive?: string;
2515
+ since?: number;
2516
+ }): EdgeCaseWarning[];
2517
+
2518
+ /**
2519
+ * Get element with edge case handling
2520
+ */
2521
+ export declare function getElementWithFallback(selector: string, fallbackSelectors?: string[]): Element | null;
2522
+
2523
+ /**
2524
+ * Get event batch processor
2525
+ */
2526
+ export declare function getEventBatchProcessor(): EventBatchProcessor | null;
2527
+
2528
+ /**
2529
+ * Get feature support for a browser
2530
+ */
2531
+ export declare function getFeatureSupport(browserName: string, featureName: string): FeatureSupport | undefined;
2532
+
2533
+ /**
2534
+ * Get current configuration
2535
+ */
2536
+ export declare function getFirstScreenConfig(): FirstScreenConfig;
2537
+
2538
+ /**
2539
+ * Get first screen metrics
2540
+ */
2541
+ export declare function getFirstScreenMetrics(): Partial<FirstScreenMetrics>;
2542
+
2543
+ /**
2544
+ * Get gauge value
1076
2545
  */
1077
- export declare function formatNumberLocale(value: number, decimals?: number, options?: Partial<NumberFormatOptions>): string;
2546
+ export declare function getGaugeValue(name: string, labels?: Record<string, string>): number | undefined;
1078
2547
 
1079
2548
  /**
1080
- * Format time to string
2549
+ * Get health status
1081
2550
  */
1082
- export declare function formatTime(time: CountdownTime, format: string | CountdownFormatFunction): string;
2551
+ export declare function getHealthStatus(): {
2552
+ healthy: boolean;
2553
+ checks: HealthStatus[];
2554
+ timestamp: number;
2555
+ };
1083
2556
 
1084
2557
  /**
1085
- * Generate unique ID for ARIA references
2558
+ * Get histogram statistics
1086
2559
  */
1087
- export declare function generateAriaId(prefix?: string): string;
2560
+ export declare function getHistogramStats(name: string, labels?: Record<string, string>): {
2561
+ count: number;
2562
+ min: number;
2563
+ max: number;
2564
+ mean: number;
2565
+ p50: number;
2566
+ p95: number;
2567
+ p99: number;
2568
+ } | undefined;
1088
2569
 
1089
2570
  /**
1090
- * Generate unique ID
2571
+ * Get current locale
1091
2572
  */
1092
- export declare function generateId(prefix?: string): string;
2573
+ export declare function getLocale(): string;
1093
2574
 
1094
2575
  /**
1095
- * Get nested property value by path
2576
+ * Get locale display name
1096
2577
  */
1097
- export declare function get<T = any>(obj: Record<string, any>, path: string, defaultValue?: T): T;
2578
+ export declare function getLocaleDisplayName(locale: string, displayLocale?: string): string;
1098
2579
 
1099
2580
  /**
1100
- * Get default ARIA config for directive type
2581
+ * Get memory cleanup manager
1101
2582
  */
1102
- export declare function getAutoAriaConfig(options: AutoAriaOptions): ARIAConfig;
2583
+ export declare function getMemoryCleanupManager(): MemoryCleanupManager | null;
1103
2584
 
1104
2585
  /**
1105
- * Get CSP nonce from meta tag
2586
+ * Get memory statistics
1106
2587
  */
1107
- export declare function getCSPNonce(): string | null;
2588
+ export declare function getMemoryStats(): {
2589
+ observerCount: number;
2590
+ maxObservers: number;
2591
+ warningCount: number;
2592
+ usedPercentage: number;
2593
+ };
1108
2594
 
1109
2595
  /**
1110
- * Get region-specific date format
2596
+ * Get metrics
1111
2597
  */
1112
- export declare function getDateFormat(region?: string): DateFormatOptions;
2598
+ export declare function getMetrics(filter?: {
2599
+ name?: string;
2600
+ type?: MetricType;
2601
+ since?: number;
2602
+ }): Metric[];
1113
2603
 
1114
2604
  /**
1115
- * Get device pixel ratio
2605
+ * Get migration rules for a specific source
1116
2606
  */
1117
- export declare function getDevicePixelRatio(): number;
2607
+ export declare function getMigrationRules(source: MigrationSource): MigrationRule[];
1118
2608
 
1119
2609
  /**
1120
- * Get DevTools state (for external access)
2610
+ * Get migration timeline
1121
2611
  */
1122
- export declare function getDevtoolsState(): {
1123
- enabled: boolean;
1124
- directiveCount: number;
1125
- pluginCount: number;
1126
- eventCount: number;
1127
- };
2612
+ export declare function getMigrationTimeline(): Array<{
2613
+ version: string;
2614
+ changes: BreakingChangeDefinition[];
2615
+ milestone: 'deprecated' | 'removed';
2616
+ }>;
1128
2617
 
1129
2618
  /**
1130
- * Get performance metrics for a specific directive
2619
+ * Get required polyfills that are not loaded
1131
2620
  */
1132
- export declare function getDirectiveMetrics(directive: string): PerformanceMetric[];
2621
+ export declare function getMissingPolyfills(): string[];
1133
2622
 
1134
2623
  /**
1135
- * Get current locale
2624
+ * Get current configuration
1136
2625
  */
1137
- export declare function getLocale(): string;
2626
+ export declare function getMonitoringConfig(): MonitoringConfig;
1138
2627
 
1139
2628
  /**
1140
- * Get locale display name
2629
+ * Get monitoring statistics
1141
2630
  */
1142
- export declare function getLocaleDisplayName(locale: string, displayLocale?: string): string;
2631
+ export declare function getMonitoringStats(): {
2632
+ metricsCount: number;
2633
+ alertsCount: number;
2634
+ activeAlerts: number;
2635
+ healthChecksCount: number;
2636
+ healthyChecks: number;
2637
+ };
1143
2638
 
1144
2639
  /**
1145
2640
  * Get most frequently called directives
@@ -1151,11 +2646,21 @@ export declare function getMostFrequentDirectives(limit?: number): DirectivePerf
1151
2646
  */
1152
2647
  export declare function getNumberFormat(region?: string): NumberFormatOptions;
1153
2648
 
2649
+ /**
2650
+ * Get observer count
2651
+ */
2652
+ export declare function getObserverCount(): number;
2653
+
1154
2654
  /**
1155
2655
  * Get all performance metrics
1156
2656
  */
1157
2657
  export declare function getPerformanceMetrics(): PerformanceMetric[];
1158
2658
 
2659
+ /**
2660
+ * Get current performance config
2661
+ */
2662
+ export declare function getPerformanceOptimizationConfig(): PerformanceOptimizationConfig;
2663
+
1159
2664
  /**
1160
2665
  * Get performance report for all directives
1161
2666
  */
@@ -1166,6 +2671,11 @@ export declare function getPerformanceReport(): DirectivePerformance[];
1166
2671
  */
1167
2672
  export declare function getPermissionConfig(): PermissionConfig | null;
1168
2673
 
2674
+ /**
2675
+ * Get global permission manager
2676
+ */
2677
+ export declare function getPermissionManager(): EnterprisePermissionManager | null;
2678
+
1169
2679
  /**
1170
2680
  * Get or create the global plugin manager
1171
2681
  */
@@ -1176,6 +2686,14 @@ export declare function getPluginManager(config?: PluginConfig): PluginManager;
1176
2686
  */
1177
2687
  export declare function getPluginRegistry(registryUrl?: string): PluginRegistry;
1178
2688
 
2689
+ /**
2690
+ * Get polyfill status
2691
+ */
2692
+ export declare function getPolyfillStatus(): Record<string, {
2693
+ loaded: boolean;
2694
+ required: boolean;
2695
+ }>;
2696
+
1179
2697
  /**
1180
2698
  * Get slowest directives
1181
2699
  */
@@ -1191,11 +2709,57 @@ export declare function getSupportedRegions(): string[];
1191
2709
  */
1192
2710
  export declare function getTimezoneInfo(): TimezoneInfo;
1193
2711
 
2712
+ /**
2713
+ * Get unsupported features list
2714
+ */
2715
+ export declare function getUnsupportedFeatures(): (keyof BrowserFeatures)[];
2716
+
1194
2717
  /**
1195
2718
  * Get current Vue version
1196
2719
  */
1197
2720
  export declare function getVueVersion(): VueVersion;
1198
2721
 
2722
+ /**
2723
+ * Get warned changes
2724
+ */
2725
+ export declare function getWarnedChanges(): string[];
2726
+
2727
+ /**
2728
+ * Handle SSR unsupported operation
2729
+ */
2730
+ export declare function handleSSRUnsupported(operation: string, directive?: string): EdgeCaseResult<undefined>;
2731
+
2732
+ /**
2733
+ * Handle touch conflict (for mobile)
2734
+ */
2735
+ export declare function handleTouchConflict(element: Element, event: TouchEvent, directive?: string): boolean;
2736
+
2737
+ /**
2738
+ * Check permission using global manager
2739
+ */
2740
+ export declare function hasPermission(permission: string, context?: Record<string, any>): Promise<boolean>;
2741
+
2742
+ /**
2743
+ * Check permission synchronously
2744
+ */
2745
+ export declare function hasPermissionSync(permission: string, context?: Record<string, any>): boolean;
2746
+
2747
+ export declare interface HealthCheck {
2748
+ name: string;
2749
+ check: () => Promise<boolean> | boolean;
2750
+ interval: number;
2751
+ timeout: number;
2752
+ enabled: boolean;
2753
+ }
2754
+
2755
+ export declare interface HealthStatus {
2756
+ name: string;
2757
+ healthy: boolean;
2758
+ lastCheck: number;
2759
+ error?: string;
2760
+ latency: number;
2761
+ }
2762
+
1199
2763
  /**
1200
2764
  * Hotkey definition
1201
2765
  */
@@ -1263,11 +2827,31 @@ export declare interface I18nOptions {
1263
2827
  messages: Record<string, I18nMessages>;
1264
2828
  }
1265
2829
 
2830
+ /**
2831
+ * Import configuration
2832
+ */
2833
+ export declare function importConfig(data: string, format?: 'json' | 'yaml' | 'env', merge?: boolean): Promise<void>;
2834
+
2835
+ /**
2836
+ * Increment counter
2837
+ */
2838
+ export declare function incrementCounter(name: string, labels?: Record<string, string>, value?: number): void;
2839
+
1266
2840
  /**
1267
2841
  * Show an info message
1268
2842
  */
1269
2843
  export declare function info(message: string, params?: Record<string, any>): void;
1270
2844
 
2845
+ /**
2846
+ * Initialize configuration center
2847
+ */
2848
+ export declare function initConfigCenter(): Promise<void>;
2849
+
2850
+ /**
2851
+ * Initialize first screen optimizer
2852
+ */
2853
+ export declare function initFirstScreenOptimizer(): void;
2854
+
1271
2855
  /**
1272
2856
  * CSP-safe script injection
1273
2857
  */
@@ -1278,11 +2862,21 @@ export declare function injectScriptCSP(src: string, options?: CSPConfig): HTMLS
1278
2862
  */
1279
2863
  export declare function injectStylesCSP(css: string, options?: CSPConfig): HTMLStyleElement | HTMLLinkElement | null;
1280
2864
 
2865
+ /**
2866
+ * Inline critical CSS
2867
+ */
2868
+ export declare function inlineCriticalCSS(css: string): void;
2869
+
1281
2870
  /**
1282
2871
  * Intersect event handler
1283
2872
  */
1284
2873
  export declare type IntersectHandler = (entry: IntersectionObserverEntry, observer: IntersectionObserver) => void;
1285
2874
 
2875
+ /**
2876
+ * Check if an API is affected by breaking changes
2877
+ */
2878
+ export declare function isAPIAffected(apiName: string, version?: string): boolean;
2879
+
1286
2880
  /**
1287
2881
  * Check if value is an array
1288
2882
  */
@@ -1298,21 +2892,51 @@ export declare function isBoolean(value: unknown): value is boolean;
1298
2892
  */
1299
2893
  export declare const isBrowser: () => boolean;
1300
2894
 
2895
+ /**
2896
+ * Check if a browser version is supported
2897
+ */
2898
+ export declare function isBrowserSupported(browserName: string, version: number): boolean;
2899
+
2900
+ /**
2901
+ * Check if an element is a custom element
2902
+ */
2903
+ export declare function isCustomElement(el: Element): boolean;
2904
+
1301
2905
  /**
1302
2906
  * Check if DevTools is available
1303
2907
  */
1304
2908
  export declare function isDevtoolsAvailable(): boolean;
1305
2909
 
2910
+ /**
2911
+ * Check if DOM is ready
2912
+ */
2913
+ export declare function isDOMReady(): boolean;
2914
+
1306
2915
  /**
1307
2916
  * Check if value is empty
1308
2917
  */
1309
2918
  export declare function isEmpty(value: unknown): boolean;
1310
2919
 
2920
+ /**
2921
+ * Check if a feature is supported
2922
+ */
2923
+ export declare function isFeatureSupported(feature: keyof BrowserFeatures): boolean;
2924
+
2925
+ /**
2926
+ * Check if current browser is fully supported
2927
+ */
2928
+ export declare function isFullySupported(): boolean;
2929
+
1311
2930
  /**
1312
2931
  * Check if value is a function
1313
2932
  */
1314
2933
  export declare function isFunction(value: unknown): value is (...args: any[]) => any;
1315
2934
 
2935
+ /**
2936
+ * Check if element is in viewport (with fallback)
2937
+ */
2938
+ export declare function isInViewport(element: Element): boolean;
2939
+
1316
2940
  /**
1317
2941
  * Check if device is mobile
1318
2942
  */
@@ -1328,11 +2952,21 @@ export declare function isNumber(value: unknown): value is number;
1328
2952
  */
1329
2953
  export declare function isObject(value: unknown): value is Record<string, any>;
1330
2954
 
2955
+ /**
2956
+ * Check if page is loaded
2957
+ */
2958
+ export declare function isPageLoaded(): boolean;
2959
+
1331
2960
  /**
1332
2961
  * Check if performance monitoring is enabled
1333
2962
  */
1334
2963
  export declare function isPerformanceEnabled(): boolean;
1335
2964
 
2965
+ /**
2966
+ * Check if a polyfill is loaded
2967
+ */
2968
+ export declare function isPolyfillLoaded(name: string): boolean;
2969
+
1336
2970
  /**
1337
2971
  * Check if value is a Promise
1338
2972
  */
@@ -1343,6 +2977,11 @@ export declare function isPromise<T = any>(value: unknown): value is Promise<T>;
1343
2977
  */
1344
2978
  export declare const isSSR: () => boolean;
1345
2979
 
2980
+ /**
2981
+ * Check if running in SSR environment
2982
+ */
2983
+ export declare function isSSREnvironment(): boolean;
2984
+
1346
2985
  /**
1347
2986
  * Check if value is a string
1348
2987
  */
@@ -1353,11 +2992,21 @@ export declare function isString(value: unknown): value is string;
1353
2992
  */
1354
2993
  export declare function isTouchDevice(): boolean;
1355
2994
 
2995
+ /**
2996
+ * Check if running in a known unsupported browser
2997
+ */
2998
+ export declare function isUnsupportedBrowser(): boolean;
2999
+
1356
3000
  /**
1357
3001
  * Check if URL is safe
1358
3002
  */
1359
3003
  export declare function isUrlSafe(url: string, allowedProtocols?: string[]): boolean;
1360
3004
 
3005
+ /**
3006
+ * Check if a version is affected by any breaking changes
3007
+ */
3008
+ export declare function isVersionAffected(version: string): boolean;
3009
+
1361
3010
  /**
1362
3011
  * Check if Vue 2 (includes 2.7)
1363
3012
  */
@@ -1410,66 +3059,329 @@ export declare interface KeyboardNavigationConfig {
1410
3059
  rovingTabindex?: boolean;
1411
3060
  }
1412
3061
 
3062
+ /**
3063
+ * Lazy initialization helper to defer expensive operations
3064
+ */
3065
+ export declare class LazyInitializer<T> {
3066
+ private value;
3067
+ private initFunction;
3068
+ private initialized;
3069
+ private pendingPromise;
3070
+ constructor(initFunction: () => T | Promise<T>);
3071
+ /**
3072
+ * Get value, initializing if needed
3073
+ */
3074
+ get(): T;
3075
+ /**
3076
+ * Get value asynchronously
3077
+ */
3078
+ getAsync(): Promise<T>;
3079
+ /**
3080
+ * Check if initialized
3081
+ */
3082
+ isInitialized(): boolean;
3083
+ /**
3084
+ * Reset and clear value
3085
+ */
3086
+ reset(): void;
3087
+ }
3088
+
1413
3089
  /**
1414
3090
  * Lazy loading state
1415
3091
  */
1416
3092
  export declare type LazyState = 'pending' | 'loading' | 'loaded' | 'error';
1417
3093
 
1418
3094
  /**
1419
- * Locale info
3095
+ * Legacy API detection result
3096
+ */
3097
+ export declare interface LegacyUsageReport {
3098
+ deprecatedAPIs: DeprecatedAPI[];
3099
+ breakingChanges: BreakingChange[];
3100
+ warnings: MigrationWarning[];
3101
+ suggestions: MigrationSuggestion[];
3102
+ totalIssues: number;
3103
+ severity: 'low' | 'medium' | 'high';
3104
+ }
3105
+
3106
+ export declare interface LoadPriority {
3107
+ critical: string[];
3108
+ high: string[];
3109
+ medium: string[];
3110
+ low: string[];
3111
+ }
3112
+
3113
+ /**
3114
+ * Locale info
3115
+ */
3116
+ export declare interface LocaleInfo {
3117
+ /** Locale code (e.g., 'zh-CN') */
3118
+ locale: string;
3119
+ /** Language code (e.g., 'zh') */
3120
+ language: string;
3121
+ /** Region/country code (e.g., 'CN') */
3122
+ region: string | null;
3123
+ /** Script code (e.g., 'Hant') */
3124
+ script: string | null;
3125
+ /** Browser detected locale */
3126
+ browserLocale: string;
3127
+ /** System timezone */
3128
+ timezone: string;
3129
+ }
3130
+
3131
+ /**
3132
+ * Core logging function
3133
+ */
3134
+ export declare function logAudit(level: AuditLogLevel, type: AuditEventType, message: string, details?: Record<string, unknown>, context?: Partial<AuditContext>, duration?: number): AuditLogEntry | null;
3135
+
3136
+ /**
3137
+ * Log directive operation
3138
+ */
3139
+ export declare function logDirectiveOperation(operation: 'mount' | 'update' | 'unmount', directive: string, details?: Record<string, unknown>, context?: Partial<AuditContext>, duration?: number): void;
3140
+
3141
+ /**
3142
+ * Unified warning/error system for Directix directives
3143
+ *
3144
+ * Provides structured, localized error messages with:
3145
+ * - Directive name context
3146
+ * - Parameter validation messages
3147
+ * - Stack trace in development mode
3148
+ * - Warning levels (debug, info, warn, error)
3149
+ */
3150
+ declare type LogLevel = 'debug' | 'info' | 'warn' | 'error';
3151
+
3152
+ /**
3153
+ * Log performance issue
3154
+ */
3155
+ export declare function logPerformanceIssue(operation: string, duration: number, threshold: number, context?: Partial<AuditContext>): void;
3156
+
3157
+ /**
3158
+ * Log permission check
3159
+ */
3160
+ export declare function logPermissionCheck(permission: string, granted: boolean, source: string, context?: Partial<AuditContext>): void;
3161
+
3162
+ /**
3163
+ * Log security violation
3164
+ */
3165
+ export declare function logSecurityViolation(violation: string, details: Record<string, unknown>, context?: Partial<AuditContext>): void;
3166
+
3167
+ /**
3168
+ * Lottie animation state
3169
+ */
3170
+ export declare type LottieAnimationState = 'playing' | 'paused' | 'stopped';
3171
+
3172
+ /**
3173
+ * Transform text to lowercase
3174
+ */
3175
+ export declare function lowercaseText(text: string, firstOnly?: boolean): string;
3176
+
3177
+ /**
3178
+ * Mark a polyfill as loaded
3179
+ */
3180
+ export declare function markPolyfillLoaded(name: string): void;
3181
+
3182
+ /**
3183
+ * Browser Compatibility Test Matrix for Directix
3184
+ * Defines supported browsers, versions, and test configurations
3185
+ */
3186
+ export declare interface MatrixBrowserTarget {
3187
+ name: string;
3188
+ minVersion: number;
3189
+ currentVersion: number;
3190
+ engine: 'blink' | 'gecko' | 'webkit';
3191
+ features: FeatureSupport[];
3192
+ }
3193
+
3194
+ /**
3195
+ * Performance measurement helper
3196
+ * Use this to wrap directive lifecycle methods
3197
+ */
3198
+ export declare function measurePerformance<T>(directive: string, phase: 'mount' | 'update' | 'unmount', fn: () => T, metadata?: Record<string, any>): T;
3199
+
3200
+ /**
3201
+ * Async performance measurement helper
3202
+ */
3203
+ export declare function measurePerformanceAsync<T>(directive: string, phase: 'mount' | 'update' | 'unmount', fn: () => Promise<T>, metadata?: Record<string, any>): Promise<T>;
3204
+
3205
+ /**
3206
+ * Check if current browser meets minimum requirements
3207
+ */
3208
+ export declare function meetsMinimumRequirements(): boolean;
3209
+
3210
+ /**
3211
+ * Manager for periodic memory cleanup
3212
+ */
3213
+ export declare class MemoryCleanupManager {
3214
+ private cleanupCallbacks;
3215
+ private intervalId;
3216
+ private cleanupInterval;
3217
+ constructor(cleanupInterval?: number);
3218
+ /**
3219
+ * Register cleanup callback
3220
+ */
3221
+ register(callback: () => void): void;
3222
+ /**
3223
+ * Unregister cleanup callback
3224
+ */
3225
+ unregister(callback: () => void): void;
3226
+ /**
3227
+ * Start periodic cleanup
3228
+ */
3229
+ start(): void;
3230
+ /**
3231
+ * Stop periodic cleanup
3232
+ */
3233
+ stop(): void;
3234
+ /**
3235
+ * Run cleanup manually
3236
+ */
3237
+ runCleanup(): void;
3238
+ /**
3239
+ * Get registered callbacks count
3240
+ */
3241
+ size(): number;
3242
+ }
3243
+
3244
+ export declare interface Metric {
3245
+ name: string;
3246
+ type: MetricType;
3247
+ value: number;
3248
+ labels: Record<string, string>;
3249
+ timestamp: number;
3250
+ }
3251
+
3252
+ export declare type MetricType = 'counter' | 'gauge' | 'histogram' | 'summary';
3253
+
3254
+ /**
3255
+ * Apply migration rules to code
3256
+ */
3257
+ export declare function migrate(code: string, options: MigrationOptions): MigrationResult;
3258
+
3259
+ /**
3260
+ * Migration options
3261
+ */
3262
+ export declare interface MigrationOptions {
3263
+ source: MigrationSource;
3264
+ rules: MigrationRule[];
3265
+ dryRun: boolean;
3266
+ verbose: boolean;
3267
+ preserveComments: boolean;
3268
+ formatOutput: boolean;
3269
+ }
3270
+
3271
+ /**
3272
+ * Migration result
1420
3273
  */
1421
- export declare interface LocaleInfo {
1422
- /** Locale code (e.g., 'zh-CN') */
1423
- locale: string;
1424
- /** Language code (e.g., 'zh') */
1425
- language: string;
1426
- /** Region/country code (e.g., 'CN') */
1427
- region: string | null;
1428
- /** Script code (e.g., 'Hant') */
1429
- script: string | null;
1430
- /** Browser detected locale */
1431
- browserLocale: string;
1432
- /** System timezone */
1433
- timezone: string;
3274
+ export declare interface MigrationResult {
3275
+ code: string;
3276
+ changes: CodeChange[];
3277
+ warnings: string[];
3278
+ stats: MigrationStats;
1434
3279
  }
1435
3280
 
1436
3281
  /**
1437
- * Unified warning/error system for Directix directives
1438
- *
1439
- * Provides structured, localized error messages with:
1440
- * - Directive name context
1441
- * - Parameter validation messages
1442
- * - Stack trace in development mode
1443
- * - Warning levels (debug, info, warn, error)
3282
+ * Migration rule
1444
3283
  */
1445
- declare type LogLevel = 'debug' | 'info' | 'warn' | 'error';
3284
+ export declare interface MigrationRule {
3285
+ pattern: RegExp | string;
3286
+ replacement: string;
3287
+ description: string;
3288
+ autoFixable: boolean;
3289
+ }
1446
3290
 
1447
3291
  /**
1448
- * Lottie animation state
3292
+ * Migration helper module for Directix
3293
+ * Provides tools for detecting and migrating from older versions or other libraries
1449
3294
  */
1450
- export declare type LottieAnimationState = 'playing' | 'paused' | 'stopped';
3295
+ /**
3296
+ * Migration source type
3297
+ */
3298
+ export declare type MigrationSource = 'directix-v1' | 'vueuse' | 'v-directives' | 'custom';
1451
3299
 
1452
3300
  /**
1453
- * Transform text to lowercase
3301
+ * Migration statistics
1454
3302
  */
1455
- export declare function lowercaseText(text: string, firstOnly?: boolean): string;
3303
+ export declare interface MigrationStats {
3304
+ filesProcessed: number;
3305
+ filesChanged: number;
3306
+ totalChanges: number;
3307
+ autoFixes: number;
3308
+ manualFixes: number;
3309
+ warnings: number;
3310
+ errors: number;
3311
+ }
1456
3312
 
1457
3313
  /**
1458
- * Performance measurement helper
1459
- * Use this to wrap directive lifecycle methods
3314
+ * Migration suggestion
1460
3315
  */
1461
- export declare function measurePerformance<T>(directive: string, phase: 'mount' | 'update' | 'unmount', fn: () => T, metadata?: Record<string, any>): T;
3316
+ export declare interface MigrationSuggestion {
3317
+ original: string;
3318
+ suggested: string;
3319
+ location: string;
3320
+ line: number;
3321
+ autoFixable: boolean;
3322
+ }
1462
3323
 
1463
3324
  /**
1464
- * Async performance measurement helper
3325
+ * Migration warning
1465
3326
  */
1466
- export declare function measurePerformanceAsync<T>(directive: string, phase: 'mount' | 'update' | 'unmount', fn: () => Promise<T>, metadata?: Record<string, any>): Promise<T>;
3327
+ export declare interface MigrationWarning {
3328
+ message: string;
3329
+ location: string;
3330
+ line: number;
3331
+ severity: 'info' | 'warning' | 'error';
3332
+ }
3333
+
3334
+ export declare const MOBILE_DEVICES: MobileDevice[];
3335
+
3336
+ export declare interface MobileDevice {
3337
+ name: string;
3338
+ os: string;
3339
+ osMinVersion: string;
3340
+ browser: string;
3341
+ browserMinVersion: string;
3342
+ }
3343
+
3344
+ export declare interface MonitoringConfig {
3345
+ enabled: boolean;
3346
+ metrics: {
3347
+ enabled: boolean;
3348
+ prefix: string;
3349
+ labels: Record<string, string>;
3350
+ flushInterval: number;
3351
+ maxBatchSize: number;
3352
+ };
3353
+ alerts: {
3354
+ enabled: boolean;
3355
+ channels: AlertChannel[];
3356
+ rules: AlertRule[];
3357
+ cooldown: number;
3358
+ aggregation: boolean;
3359
+ aggregationWindow: number;
3360
+ };
3361
+ health: {
3362
+ enabled: boolean;
3363
+ endpoint: string;
3364
+ checks: HealthCheck[];
3365
+ interval: number;
3366
+ };
3367
+ integrations: {
3368
+ prometheus?: PrometheusConfig;
3369
+ datadog?: DatadogConfig;
3370
+ sentry?: SentryConfig;
3371
+ custom?: CustomIntegration;
3372
+ };
3373
+ }
1467
3374
 
1468
3375
  /**
1469
3376
  * Mutation change handler
1470
3377
  */
1471
3378
  export declare type MutationHandler = (mutations: MutationRecord[], observer: MutationObserver) => void;
1472
3379
 
3380
+ /**
3381
+ * Check if code needs migration
3382
+ */
3383
+ export declare function needsMigration(code: string, source?: MigrationSource): boolean;
3384
+
1473
3385
  /**
1474
3386
  * Number format options per region
1475
3387
  */
@@ -1501,6 +3413,23 @@ export declare class ObjectPool<T> {
1501
3413
  clear(): void;
1502
3414
  }
1503
3415
 
3416
+ export declare interface ObjectPoolOptions {
3417
+ initialSize: number;
3418
+ maxSize: number;
3419
+ resetFunction?: (obj: any) => void;
3420
+ createFunction: () => any;
3421
+ }
3422
+
3423
+ /**
3424
+ * Execute on DOM ready
3425
+ */
3426
+ export declare function onDOMReady(callback: () => void): void;
3427
+
3428
+ /**
3429
+ * Execute on page load
3430
+ */
3431
+ export declare function onPageLoad(callback: () => void): void;
3432
+
1504
3433
  /**
1505
3434
  * Vue 3 Optimization Utilities for Directix
1506
3435
  *
@@ -1625,6 +3554,61 @@ export declare interface PerformanceMetric {
1625
3554
  metadata?: Record<string, any>;
1626
3555
  }
1627
3556
 
3557
+ /**
3558
+ * Runtime Performance Optimization Module for Directix
3559
+ * Provides utilities for optimizing runtime performance
3560
+ */
3561
+ export declare interface PerformanceOptimizationConfig {
3562
+ eventDelegation: {
3563
+ enabled: boolean;
3564
+ globalListeners: boolean;
3565
+ batchProcessing: boolean;
3566
+ batchSize: number;
3567
+ };
3568
+ virtualization: {
3569
+ enabled: boolean;
3570
+ scrollThreshold: number;
3571
+ listItemHeight: number | 'auto';
3572
+ bufferSize: number;
3573
+ };
3574
+ caching: {
3575
+ computedResults: boolean;
3576
+ domQueries: boolean;
3577
+ styleCalculations: boolean;
3578
+ maxCacheSize: number;
3579
+ };
3580
+ lazyInit: {
3581
+ directives: boolean;
3582
+ events: boolean;
3583
+ observers: boolean;
3584
+ debounceMs: number;
3585
+ };
3586
+ memory: {
3587
+ objectPool: boolean;
3588
+ weakReferences: boolean;
3589
+ cleanupOnUnmount: boolean;
3590
+ periodicCleanup: number | false;
3591
+ };
3592
+ }
3593
+
3594
+ /**
3595
+ * Performance snapshot
3596
+ */
3597
+ export declare interface PerformanceSnapshot {
3598
+ memory?: {
3599
+ usedJSHeapSize: number;
3600
+ totalJSHeapSize: number;
3601
+ jsHeapSizeLimit: number;
3602
+ };
3603
+ timing: {
3604
+ domContentLoaded: number;
3605
+ loadComplete: number;
3606
+ domInteractive: number;
3607
+ };
3608
+ entries: PerformanceEntry[];
3609
+ timestamp: number;
3610
+ }
3611
+
1628
3612
  /**
1629
3613
  * Performance statistics
1630
3614
  */
@@ -1645,6 +3629,33 @@ export declare interface PerformanceStats {
1645
3629
  p99: number;
1646
3630
  }
1647
3631
 
3632
+ /**
3633
+ * Permission audit log entry
3634
+ */
3635
+ export declare interface PermissionAuditLogEntry {
3636
+ id: string;
3637
+ timestamp: number;
3638
+ permission: string;
3639
+ result: 'granted' | 'denied';
3640
+ source: string;
3641
+ context?: Record<string, any>;
3642
+ reason?: string;
3643
+ userAgent?: string;
3644
+ url?: string;
3645
+ }
3646
+
3647
+ /**
3648
+ * Permission check result
3649
+ */
3650
+ export declare interface PermissionCheckResult {
3651
+ granted: boolean;
3652
+ permission: string;
3653
+ source: string;
3654
+ timestamp: number;
3655
+ context?: Record<string, any>;
3656
+ reason?: string;
3657
+ }
3658
+
1648
3659
  /**
1649
3660
  * Permission configuration
1650
3661
  */
@@ -1662,6 +3673,35 @@ declare interface PermissionConfig {
1662
3673
  */
1663
3674
  export declare type PermissionMode = 'some' | 'every';
1664
3675
 
3676
+ /**
3677
+ * Permission source configuration
3678
+ */
3679
+ export declare interface PermissionSourceConfig {
3680
+ type: PermissionSourceType;
3681
+ permissions?: string[];
3682
+ api?: {
3683
+ url: string;
3684
+ method: 'GET' | 'POST';
3685
+ headers?: Record<string, string>;
3686
+ transform?: (response: any) => string[];
3687
+ refreshInterval?: number;
3688
+ };
3689
+ storage?: {
3690
+ key: string;
3691
+ parse?: (value: string) => string[];
3692
+ };
3693
+ custom?: () => string[] | Promise<string[]>;
3694
+ }
3695
+
3696
+ /**
3697
+ * Enterprise Permission Management Module for Directix
3698
+ * Provides advanced permission management with multi-source support, role inheritance, and audit logging
3699
+ */
3700
+ /**
3701
+ * Permission source type
3702
+ */
3703
+ export declare type PermissionSourceType = 'static' | 'api' | 'localStorage' | 'sessionStorage' | 'custom';
3704
+
1665
3705
  /**
1666
3706
  * Pinch gesture event data
1667
3707
  */
@@ -1676,6 +3716,11 @@ export declare interface PinchEvent {
1676
3716
  isFinal: boolean;
1677
3717
  }
1678
3718
 
3719
+ /**
3720
+ * Platform type
3721
+ */
3722
+ export declare type PlatformType = 'desktop' | 'mobile' | 'tablet';
3723
+
1679
3724
  /**
1680
3725
  * Plugin category
1681
3726
  */
@@ -1920,6 +3965,11 @@ export declare interface PluginRegistryEntry {
1920
3965
  license?: string;
1921
3966
  }
1922
3967
 
3968
+ /**
3969
+ * Polyfill strategy
3970
+ */
3971
+ export declare type PolyfillStrategy = 'auto' | 'manual' | 'none';
3972
+
1923
3973
  /**
1924
3974
  * Position type
1925
3975
  */
@@ -1928,6 +3978,23 @@ export declare interface Position {
1928
3978
  y: number;
1929
3979
  }
1930
3980
 
3981
+ /**
3982
+ * Prefetch module
3983
+ */
3984
+ export declare function prefetchModule(url: string): void;
3985
+
3986
+ /**
3987
+ * Prefetch visible elements
3988
+ */
3989
+ export declare function prefetchVisibleElements(selector: string, getUrl: (element: Element) => string, options?: {
3990
+ rootMargin?: string;
3991
+ }): void;
3992
+
3993
+ /**
3994
+ * Preload module
3995
+ */
3996
+ export declare function preloadModule(url: string): void;
3997
+
1931
3998
  /**
1932
3999
  * Print before callback
1933
4000
  */
@@ -1938,6 +4005,11 @@ export declare type PrintBeforeCallback = () => boolean | void;
1938
4005
  */
1939
4006
  export declare type PrintCompleteCallback = () => void;
1940
4007
 
4008
+ declare interface PrometheusConfig {
4009
+ enabled: boolean;
4010
+ endpoint: string;
4011
+ }
4012
+
1941
4013
  /**
1942
4014
  * Pull refresh handler
1943
4015
  */
@@ -2005,6 +4077,62 @@ export declare interface PWAConfig {
2005
4077
  */
2006
4078
  export declare function quickPrint(target: string | HTMLElement, options?: UsePrintOptions): Promise<void>;
2007
4079
 
4080
+ /**
4081
+ * Record histogram value
4082
+ */
4083
+ export declare function recordHistogram(name: string, value: number, labels?: Record<string, string>): void;
4084
+
4085
+ /**
4086
+ * Register multiple directives as custom elements
4087
+ *
4088
+ * @example
4089
+ * ```ts
4090
+ * import { registerDirectiveElements, vLazy, vClickOutside } from 'directix'
4091
+ *
4092
+ * registerDirectiveElements({
4093
+ * 'lazy-img': vLazy,
4094
+ * 'click-outside': vClickOutside,
4095
+ * })
4096
+ * ```
4097
+ */
4098
+ export declare function registerDirectiveElements(elements: Record<string, Directive>): void;
4099
+
4100
+ /**
4101
+ * Register a polyfill
4102
+ */
4103
+ export declare function registerPolyfill(name: string, required?: boolean): void;
4104
+
4105
+ /**
4106
+ * Remove health check
4107
+ */
4108
+ export declare function removeHealthCheck(name: string): void;
4109
+
4110
+ /**
4111
+ * Request idle callback with fallback
4112
+ */
4113
+ declare function requestIdleCallback_2(callback: IdleRequestCallback, options?: IdleRequestOptions): number;
4114
+ export { requestIdleCallback_2 as requestIdleCallback }
4115
+
4116
+ /**
4117
+ * Reset browser info cache (useful for testing)
4118
+ */
4119
+ export declare function resetBrowserInfo(): void;
4120
+
4121
+ /**
4122
+ * Reset configuration center
4123
+ */
4124
+ export declare function resetConfigCenter(): void;
4125
+
4126
+ /**
4127
+ * Reset monitoring
4128
+ */
4129
+ export declare function resetMonitoring(): void;
4130
+
4131
+ /**
4132
+ * Reset performance optimizer
4133
+ */
4134
+ export declare function resetPerformanceOptimizer(): void;
4135
+
2008
4136
  /**
2009
4137
  * Reset the global plugin manager
2010
4138
  */
@@ -2032,6 +4160,27 @@ export declare interface ResizeInfo {
2032
4160
  contentRect: DOMRectReadOnly;
2033
4161
  }
2034
4162
 
4163
+ /**
4164
+ * Resolve alert
4165
+ */
4166
+ export declare function resolveAlert(alertId: string): boolean;
4167
+
4168
+ /**
4169
+ * Role definition
4170
+ */
4171
+ export declare interface RoleDefinition {
4172
+ name: string;
4173
+ permissions: string[];
4174
+ inherits?: string[];
4175
+ description?: string;
4176
+ metadata?: Record<string, any>;
4177
+ }
4178
+
4179
+ /**
4180
+ * Rollback to snapshot
4181
+ */
4182
+ export declare function rollbackConfig(version: string): boolean;
4183
+
2035
4184
  /**
2036
4185
  * Rotate gesture event data
2037
4186
  */
@@ -2046,6 +4195,24 @@ export declare interface RotateGestureEvent {
2046
4195
  isFinal: boolean;
2047
4196
  }
2048
4197
 
4198
+ /**
4199
+ * Run a single benchmark
4200
+ */
4201
+ export declare function runBenchmark(name: string, fn: BenchmarkFunction, config?: Partial<BenchmarkConfig>): Promise<BenchmarkResult>;
4202
+
4203
+ /**
4204
+ * Run benchmark suite
4205
+ */
4206
+ export declare function runBenchmarkSuite(suiteName: string, benchmarks: Array<{
4207
+ name: string;
4208
+ fn: BenchmarkFunction;
4209
+ }>, config?: Partial<BenchmarkConfig>): Promise<BenchmarkSuite>;
4210
+
4211
+ /**
4212
+ * Run manual cleanup
4213
+ */
4214
+ export declare function runMemoryCleanup(): void;
4215
+
2049
4216
  /**
2050
4217
  * Safe content handler for directives
2051
4218
  */
@@ -2070,6 +4237,15 @@ export declare class SafeContentHandler {
2070
4237
  getSanitizedHtml(content: string): string;
2071
4238
  }
2072
4239
 
4240
+ /**
4241
+ * Safely query element with retry
4242
+ */
4243
+ export declare function safeQueryElement(selector: string, options?: {
4244
+ retryCount?: number;
4245
+ retryDelay?: number;
4246
+ parent?: Element | Document;
4247
+ }): Promise<Element | null>;
4248
+
2073
4249
  /**
2074
4250
  * Advanced HTML sanitizer
2075
4251
  */
@@ -2169,16 +4345,38 @@ export declare interface SecurityVulnerability {
2169
4345
  remediation?: string;
2170
4346
  }
2171
4347
 
4348
+ declare interface SentryConfig {
4349
+ enabled: boolean;
4350
+ dsn: string;
4351
+ environment?: string;
4352
+ release?: string;
4353
+ }
4354
+
2172
4355
  /**
2173
4356
  * Set nested property value by path
2174
4357
  */
2175
4358
  export declare function set(obj: Record<string, any>, path: string, value: any): void;
2176
4359
 
4360
+ /**
4361
+ * Set configuration value
4362
+ */
4363
+ export declare function setConfig(key: string, value: any, source?: string): void;
4364
+
4365
+ /**
4366
+ * Set gauge
4367
+ */
4368
+ export declare function setGauge(name: string, value: number, labels?: Record<string, string>): void;
4369
+
2177
4370
  /**
2178
4371
  * Set current locale
2179
4372
  */
2180
4373
  export declare function setLocale(locale: string): void;
2181
4374
 
4375
+ /**
4376
+ * Cleanup on page unload
4377
+ */
4378
+ export declare function setupCleanupOnUnload(cleanupFn: () => void): void;
4379
+
2182
4380
  /**
2183
4381
  * Set Vue version explicitly (for cases where auto-detection fails)
2184
4382
  */
@@ -2209,11 +4407,21 @@ export declare type SkeletonAnimation = 'wave' | 'pulse' | 'none';
2209
4407
  */
2210
4408
  export declare function startMeasure(directive: string, phase: 'mount' | 'update' | 'unmount'): string;
2211
4409
 
4410
+ /**
4411
+ * Stop cleanup timer
4412
+ */
4413
+ export declare function stopCleanupTimer(): void;
4414
+
2212
4415
  /**
2213
4416
  * Strip all HTML tags
2214
4417
  */
2215
4418
  export declare function stripHtml(html: string): string;
2216
4419
 
4420
+ /**
4421
+ * Support level
4422
+ */
4423
+ export declare type SupportLevel = 'full' | 'partial' | 'none';
4424
+
2217
4425
  /**
2218
4426
  * Check if Clipboard API is supported
2219
4427
  */
@@ -2261,6 +4469,14 @@ export declare type SwipeDirection = 'left' | 'right' | 'up' | 'down';
2261
4469
  */
2262
4470
  export declare type SwipeHandler = (direction: SwipeDirection, event: Event) => void;
2263
4471
 
4472
+ /**
4473
+ * Sync configuration to remote
4474
+ */
4475
+ export declare function syncConfigToRemote(url: string, options?: {
4476
+ method?: 'POST' | 'PUT';
4477
+ headers?: Record<string, string>;
4478
+ }): Promise<boolean>;
4479
+
2264
4480
  /**
2265
4481
  * Translate a message key
2266
4482
  * @param key - Dot-notation key like 'directives.debounce.invalid_wait'
@@ -2268,6 +4484,11 @@ export declare type SwipeHandler = (direction: SwipeDirection, event: Event) =>
2268
4484
  */
2269
4485
  export declare function t(key: string, params?: Record<string, any>): string;
2270
4486
 
4487
+ /**
4488
+ * Take performance snapshot
4489
+ */
4490
+ export declare function takePerformanceSnapshot(): PerformanceSnapshot;
4491
+
2271
4492
  /**
2272
4493
  * Teleport content to target
2273
4494
  */
@@ -2309,6 +4530,11 @@ export declare function throttleFn<T extends (...args: any[]) => any>(fn: T, wai
2309
4530
  trailing?: boolean;
2310
4531
  }): ComposableThrottledFunction<T>;
2311
4532
 
4533
+ /**
4534
+ * Time an operation
4535
+ */
4536
+ export declare function timeOperation<T>(name: string, fn: () => T | Promise<T>, labels?: Record<string, string>): Promise<T>;
4537
+
2312
4538
  /**
2313
4539
  * Timezone and locale utilities
2314
4540
  *
@@ -2411,11 +4637,21 @@ export declare interface TouchGestureThresholds {
2411
4637
  */
2412
4638
  export declare function trackDirective(name: string, info?: Partial<DirectiveInfo>): void;
2413
4639
 
4640
+ /**
4641
+ * Track observer count
4642
+ */
4643
+ export declare function trackObserver(): boolean;
4644
+
2414
4645
  /**
2415
4646
  * Register a plugin for DevTools tracking
2416
4647
  */
2417
4648
  export declare function trackPlugin(info: PluginInfo): void;
2418
4649
 
4650
+ /**
4651
+ * Trigger alert
4652
+ */
4653
+ export declare function triggerAlert(ruleId: string, message: string, value: number, threshold: number, labels?: Record<string, string>): Alert | null;
4654
+
2419
4655
  /**
2420
4656
  * Trigger haptic feedback
2421
4657
  */
@@ -2464,6 +4700,11 @@ export declare function unescapeHtml(str: string): string;
2464
4700
  */
2465
4701
  export declare function untrackDirective(name: string): void;
2466
4702
 
4703
+ /**
4704
+ * Untrack observer
4705
+ */
4706
+ export declare function untrackObserver(): void;
4707
+
2467
4708
  /**
2468
4709
  * Unregister a plugin from DevTools tracking
2469
4710
  */
@@ -7055,6 +9296,15 @@ export declare interface UseWatermarkReturn {
7055
9296
  disable: () => void;
7056
9297
  }
7057
9298
 
9299
+ /**
9300
+ * Validate binding value
9301
+ */
9302
+ export declare function validateBinding(binding: any, schema: {
9303
+ type?: string | string[];
9304
+ required?: boolean;
9305
+ validator?: (value: any) => boolean;
9306
+ }, directive?: string): EdgeCaseResult<any>;
9307
+
7058
9308
  /**
7059
9309
  * v-blur directive
7060
9310
  * Background blur overlay effect
@@ -8148,6 +10398,11 @@ export declare const vVisible: Directive;
8148
10398
  */
8149
10399
  export declare const vWatermark: Directive;
8150
10400
 
10401
+ /**
10402
+ * Wait for DOM ready
10403
+ */
10404
+ export declare function waitForDOMReady(): Promise<void>;
10405
+
8151
10406
  /**
8152
10407
  * Show a warning message
8153
10408
  */
@@ -8155,6 +10410,11 @@ export declare function warn(options: WarningOptions): void;
8155
10410
 
8156
10411
  export declare function warn(message: string, params?: Record<string, any>): void;
8157
10412
 
10413
+ /**
10414
+ * Warn about a breaking change (once)
10415
+ */
10416
+ export declare function warnBreakingChange(changeId: string): void;
10417
+
8158
10418
  /**
8159
10419
  * Deprecation warning
8160
10420
  */
@@ -8203,6 +10463,21 @@ export declare function warnNotSupported(feature: string): void;
8203
10463
  */
8204
10464
  export declare function warnSSRNotSupported(directive: string): void;
8205
10465
 
10466
+ /**
10467
+ * Warn once about a specific feature
10468
+ */
10469
+ export declare function warnUnsupportedFeatureOnce(feature: string, fallback?: string): void;
10470
+
10471
+ /**
10472
+ * Warn about unsupported features
10473
+ */
10474
+ export declare function warnUnsupportedFeatures(): void;
10475
+
10476
+ /**
10477
+ * Watch configuration changes
10478
+ */
10479
+ export declare function watchConfig(key: string | '*', callback: (event: ConfigChangeEvent) => void): () => void;
10480
+
8206
10481
  /**
8207
10482
  * watchEffect that tracks directive bindings
8208
10483
  */
@@ -8220,6 +10495,55 @@ export declare interface WatchEffectBindingOptions {
8220
10495
  immediate?: boolean;
8221
10496
  }
8222
10497
 
10498
+ /**
10499
+ * Cache using WeakMap for automatic cleanup when references are removed
10500
+ */
10501
+ export declare class WeakCache<K extends object, V> {
10502
+ private cache;
10503
+ private strongCache;
10504
+ private maxStrongSize;
10505
+ constructor(maxStrongSize?: number);
10506
+ /**
10507
+ * Get cached value
10508
+ */
10509
+ get(key: K): V | undefined;
10510
+ /**
10511
+ * Set cached value
10512
+ */
10513
+ set(key: K, value: V): void;
10514
+ /**
10515
+ * Check if key exists
10516
+ */
10517
+ has(key: K): boolean;
10518
+ /**
10519
+ * Delete cached value
10520
+ */
10521
+ delete(key: K): boolean;
10522
+ /**
10523
+ * Clear strong cache (weak cache auto-clears)
10524
+ */
10525
+ clearStrong(): void;
10526
+ /**
10527
+ * Get cache size
10528
+ */
10529
+ size(): number;
10530
+ }
10531
+
10532
+ /**
10533
+ * Measure and log performance
10534
+ */
10535
+ export declare function withAuditLog<T>(type: AuditEventType, message: string, fn: () => T | Promise<T>, details?: Record<string, unknown>, context?: Partial<AuditContext>): Promise<T>;
10536
+
10537
+ /**
10538
+ * Execute with error recovery
10539
+ */
10540
+ export declare function withErrorRecovery<T>(operation: () => T | Promise<T>, options?: {
10541
+ maxRetries?: number;
10542
+ retryDelay?: number;
10543
+ fallbackValue?: T;
10544
+ onError?: (error: Error, attempt: number) => void;
10545
+ }): Promise<EdgeCaseResult<T>>;
10546
+
8223
10547
  /**
8224
10548
  * Create a performance monitor decorator for directives
8225
10549
  */