directix 1.9.0 → 1.11.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
@@ -1,10 +1,17 @@
1
1
  import { App } from 'vue';
2
2
  import { ComponentPublicInstance } from 'vue';
3
+ import { ComputedRef } from 'vue';
3
4
  import { Directive } from 'vue';
4
5
  import { Plugin as Plugin_2 } from 'vue';
5
6
  import { Ref } from 'vue';
7
+ import { ShallowRef } from 'vue';
6
8
  import { VNode } from 'vue';
7
9
 
10
+ /**
11
+ * Acknowledge alert
12
+ */
13
+ export declare function acknowledgeAlert(alertId: string, acknowledgedBy: string): boolean;
14
+
8
15
  /**
9
16
  * Add cleanup function to element
10
17
  */
@@ -15,6 +22,150 @@ export declare function addCleanupVue2(el: Element, fn: () => void): void;
15
22
  */
16
23
  export declare function addCleanupVue3(el: Element, fn: () => void): void;
17
24
 
25
+ /**
26
+ * Add health check
27
+ */
28
+ export declare function addHealthCheck(check: HealthCheck): void;
29
+
30
+ /**
31
+ * Add non-passive event listener (for events that need preventDefault)
32
+ */
33
+ export declare function addNonPassiveListener(element: EventTarget, event: string, handler: EventListener, options?: AddEventListenerOptions): () => void;
34
+
35
+ /**
36
+ * Add passive event listener
37
+ */
38
+ export declare function addPassiveListener(element: EventTarget, event: string, handler: EventListener, options?: AddEventListenerOptions): () => void;
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
+
83
+ /**
84
+ * Announce a message to screen readers
85
+ */
86
+ export declare function announce(message: string, options?: AnnounceOptions): void;
87
+
88
+ /**
89
+ * Announce message to screen readers
90
+ */
91
+ export declare interface AnnounceOptions {
92
+ /** Priority level */
93
+ priority?: ARIALivePriority;
94
+ /** Time before clearing message */
95
+ timeout?: number;
96
+ /** Whether to clear queue */
97
+ clear?: boolean;
98
+ }
99
+
100
+ /**
101
+ * Apply ARIA attributes to an element
102
+ */
103
+ export declare function applyAriaAttributes(el: HTMLElement, config: ARIAConfig): void;
104
+
105
+ /**
106
+ * ARIA attribute configuration
107
+ */
108
+ export declare interface ARIAConfig {
109
+ /** Role */
110
+ role?: ARIARole;
111
+ /** State attributes */
112
+ ariaExpanded?: boolean;
113
+ ariaSelected?: boolean;
114
+ ariaChecked?: boolean;
115
+ ariaDisabled?: boolean;
116
+ ariaHidden?: boolean;
117
+ ariaBusy?: boolean;
118
+ ariaPressed?: boolean;
119
+ ariaCurrent?: 'page' | 'step' | 'location' | 'date' | 'time' | boolean;
120
+ /** Property attributes */
121
+ ariaLabel?: string;
122
+ ariaLabelledBy?: string;
123
+ ariaDescribedBy?: string;
124
+ ariaControls?: string;
125
+ ariaOwns?: string;
126
+ ariaHasPopup?: ARIAPopupType | boolean;
127
+ ariaAutoComplete?: 'inline' | 'list' | 'both' | 'none';
128
+ /** Live region attributes */
129
+ ariaLive?: ARIALivePriority;
130
+ ariaAtomic?: boolean;
131
+ ariaRelevant?: 'additions' | 'removals' | 'text' | 'all';
132
+ /** Other attributes */
133
+ ariaValueNow?: number;
134
+ ariaValueMin?: number;
135
+ ariaValueMax?: number;
136
+ ariaValueText?: string;
137
+ ariaPlaceholder?: string;
138
+ ariaRequired?: boolean;
139
+ ariaReadonly?: boolean;
140
+ ariaModal?: boolean;
141
+ /** Tab index */
142
+ tabIndex?: number;
143
+ }
144
+
145
+ /**
146
+ * ARIA live region priority
147
+ */
148
+ export declare type ARIALivePriority = 'off' | 'polite' | 'assertive';
149
+
150
+ /**
151
+ * ARIA popup type
152
+ */
153
+ export declare type ARIAPopupType = 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | 'tooltip';
154
+
155
+ /**
156
+ * A11y (Accessibility) Utilities for Directix
157
+ *
158
+ * Provides comprehensive accessibility support including:
159
+ * - ARIA attribute management
160
+ * - Keyboard navigation
161
+ * - Screen reader announcements
162
+ * - Focus management
163
+ */
164
+ /**
165
+ * ARIA role types
166
+ */
167
+ export declare type ARIARole = 'alert' | 'alertdialog' | 'application' | 'article' | 'banner' | 'button' | 'cell' | 'checkbox' | 'columnheader' | 'combobox' | 'complementary' | 'contentinfo' | 'definition' | 'dialog' | 'directory' | 'document' | 'feed' | 'figure' | 'form' | 'grid' | 'gridcell' | 'group' | 'heading' | 'img' | 'link' | 'list' | 'listbox' | 'listitem' | 'log' | 'main' | 'marquee' | 'math' | 'menu' | 'menubar' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'navigation' | 'none' | 'note' | 'option' | 'presentation' | 'progressbar' | 'radio' | 'radiogroup' | 'region' | 'row' | 'rowgroup' | 'rowheader' | 'scrollbar' | 'search' | 'searchbox' | 'separator' | 'slider' | 'spinbutton' | 'status' | 'switch' | 'tab' | 'table' | 'tablist' | 'tabpanel' | 'term' | 'textbox' | 'timer' | 'toolbar' | 'tooltip' | 'tree' | 'treegrid' | 'treeitem';
168
+
18
169
  /**
19
170
  * Assert a condition and throw an error if false
20
171
  */
@@ -37,6 +188,329 @@ export declare function assertRange(value: number, min: number, max: number, dir
37
188
  declare function assertType_2<T>(value: unknown, type: 'string' | 'number' | 'boolean' | 'object' | 'function' | 'symbol' | 'bigint' | 'undefined', directive: string, param: string): asserts value is T;
38
189
  export { assertType_2 as assertType }
39
190
 
191
+ /**
192
+ * Convenience logging methods
193
+ */
194
+ export declare const audit: {
195
+ debug: (type: AuditEventType, message: string, details?: Record<string, unknown>, context?: Partial<AuditContext>) => AuditLogEntry | null;
196
+ info: (type: AuditEventType, message: string, details?: Record<string, unknown>, context?: Partial<AuditContext>) => AuditLogEntry | null;
197
+ warn: (type: AuditEventType, message: string, details?: Record<string, unknown>, context?: Partial<AuditContext>) => AuditLogEntry | null;
198
+ error: (type: AuditEventType, message: string, details?: Record<string, unknown>, context?: Partial<AuditContext>) => AuditLogEntry | null;
199
+ critical: (type: AuditEventType, message: string, details?: Record<string, unknown>, context?: Partial<AuditContext>) => AuditLogEntry | null;
200
+ };
201
+
202
+ export declare interface AuditContext {
203
+ directive?: string;
204
+ component?: string;
205
+ file?: string;
206
+ line?: number;
207
+ userAgent?: string;
208
+ url?: string;
209
+ sessionId?: string;
210
+ userId?: string;
211
+ environment?: string;
212
+ version?: string;
213
+ [key: string]: unknown;
214
+ }
215
+
216
+ 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';
217
+
218
+ export declare interface AuditLogConfig {
219
+ enabled: boolean;
220
+ level: AuditLogLevel;
221
+ maxEntries: number;
222
+ persistToStorage: boolean;
223
+ storageKey: string;
224
+ consoleOutput: boolean;
225
+ consoleLevel: AuditLogLevel;
226
+ includeStackTrace: boolean;
227
+ sampleRate: number;
228
+ filters: {
229
+ excludeTypes?: AuditEventType[];
230
+ excludeLevels?: AuditLogLevel[];
231
+ minDuration?: number;
232
+ };
233
+ handlers: {
234
+ onLog?: (entry: AuditLogEntry) => void;
235
+ onError?: (entry: AuditLogEntry) => void;
236
+ onCritical?: (entry: AuditLogEntry) => void;
237
+ };
238
+ sensitiveFields: string[];
239
+ maskSensitive: boolean;
240
+ }
241
+
242
+ export declare interface AuditLogEntry {
243
+ id: string;
244
+ timestamp: number;
245
+ level: AuditLogLevel;
246
+ type: AuditEventType;
247
+ message: string;
248
+ details: Record<string, unknown>;
249
+ context: AuditContext;
250
+ duration?: number;
251
+ stackTrace?: string;
252
+ }
253
+
254
+ export declare interface AuditLogExportOptions {
255
+ format: 'json' | 'csv' | 'markdown' | 'html';
256
+ includeDetails: boolean;
257
+ includeContext: boolean;
258
+ dateFormat: 'iso' | 'unix' | 'locale';
259
+ }
260
+
261
+ export declare interface AuditLogFilter {
262
+ level?: AuditLogLevel | AuditLogLevel[];
263
+ type?: AuditEventType | AuditEventType[];
264
+ since?: number;
265
+ until?: number;
266
+ directive?: string | string[];
267
+ component?: string | string[];
268
+ limit?: number;
269
+ offset?: number;
270
+ }
271
+
272
+ /**
273
+ * Comprehensive Audit Logging System for Directix
274
+ * Provides detailed logging for directive operations, permission checks, and security events
275
+ */
276
+ export declare type AuditLogLevel = 'debug' | 'info' | 'warn' | 'error' | 'critical';
277
+
278
+ export declare interface AuditLogStats {
279
+ totalEntries: number;
280
+ byLevel: Record<AuditLogLevel, number>;
281
+ byType: Record<AuditEventType, number>;
282
+ byDirective: Record<string, number>;
283
+ avgDuration: number;
284
+ errorRate: number;
285
+ criticalCount: number;
286
+ last24Hours: number;
287
+ lastHour: number;
288
+ }
289
+
290
+ /**
291
+ * Auto-generate ARIA attributes based on directive type
292
+ */
293
+ export declare interface AutoAriaOptions {
294
+ /** Directive type */
295
+ type: 'tooltip' | 'menu' | 'dialog' | 'popover' | 'dropdown' | 'modal' | 'alert' | 'region';
296
+ /** Label for the element */
297
+ label?: string;
298
+ /** Whether element is expanded */
299
+ expanded?: boolean;
300
+ /** Whether element is disabled */
301
+ disabled?: boolean;
302
+ /** Related element ID */
303
+ relatedId?: string;
304
+ }
305
+
306
+ /**
307
+ * Simple benchmark decorator
308
+ */
309
+ export declare function benchmark(name?: string): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
310
+
311
+ export declare interface BenchmarkComparison {
312
+ baseline: BenchmarkResult;
313
+ current: BenchmarkResult;
314
+ improvement: number;
315
+ significant: boolean;
316
+ regression: boolean;
317
+ }
318
+
319
+ /**
320
+ * Performance Benchmark Module for Directix
321
+ * Provides utilities for measuring and comparing directive performance
322
+ */
323
+ export declare interface BenchmarkConfig {
324
+ iterations: number;
325
+ warmupIterations: number;
326
+ samples: number;
327
+ timeout: number;
328
+ gc: boolean;
329
+ verbose: boolean;
330
+ }
331
+
332
+ export declare type BenchmarkFunction = () => void | Promise<void>;
333
+
334
+ export declare interface BenchmarkResult {
335
+ name: string;
336
+ iterations: number;
337
+ samples: number;
338
+ mean: number;
339
+ median: number;
340
+ min: number;
341
+ max: number;
342
+ stdDev: number;
343
+ percentiles: {
344
+ p50: number;
345
+ p75: number;
346
+ p90: number;
347
+ p95: number;
348
+ p99: number;
349
+ };
350
+ opsPerSecond: number;
351
+ marginOfError: number;
352
+ timestamp: number;
353
+ }
354
+
355
+ export declare interface BenchmarkSuite {
356
+ name: string;
357
+ benchmarks: BenchmarkResult[];
358
+ summary: {
359
+ totalTime: number;
360
+ averageTime: number;
361
+ fastest: string;
362
+ slowest: string;
363
+ };
364
+ timestamp: number;
365
+ }
366
+
367
+ export declare const BREAKING_CHANGES_REGISTRY: BreakingChangeDefinition[];
368
+
369
+ /**
370
+ * Breaking change information
371
+ */
372
+ export declare interface BreakingChange {
373
+ type: 'api' | 'behavior' | 'signature' | 'option';
374
+ name: string;
375
+ location: string;
376
+ line: number;
377
+ description: string;
378
+ migration: string;
379
+ }
380
+
381
+ export declare type BreakingChangeCategory = 'api' | 'behavior' | 'config' | 'type' | 'directive';
382
+
383
+ export declare interface BreakingChangeDefinition {
384
+ id: string;
385
+ version: string;
386
+ description: string;
387
+ severity: ChangeSeverity;
388
+ status: ChangeStatus;
389
+ category: BreakingChangeCategory;
390
+ affectedAPIs: string[];
391
+ migrationGuide: string;
392
+ detectionPattern?: RegExp;
393
+ autoFixable: boolean;
394
+ deprecatedIn?: string;
395
+ removedIn?: string;
396
+ alternatives?: string[];
397
+ examples?: {
398
+ before: string;
399
+ after: string;
400
+ };
401
+ }
402
+
403
+ export declare interface BreakingChangeDetection {
404
+ changeId: string;
405
+ location: {
406
+ file?: string;
407
+ line?: number;
408
+ column?: number;
409
+ snippet?: string;
410
+ };
411
+ matchedPattern: string;
412
+ severity: ChangeSeverity;
413
+ suggestion: string;
414
+ }
415
+
416
+ export declare interface BreakingChangesConfig {
417
+ enabled: boolean;
418
+ targetVersion: string;
419
+ warnLevel: 'none' | 'low' | 'medium' | 'high' | 'all';
420
+ consoleOutput: boolean;
421
+ throwOnCritical: boolean;
422
+ customHandlers: {
423
+ onDetected?: (detection: BreakingChangeDetection) => void;
424
+ onWarning?: (change: BreakingChangeDefinition) => void;
425
+ onCritical?: (change: BreakingChangeDefinition) => void;
426
+ };
427
+ }
428
+
429
+ export declare interface BreakingChangesReport {
430
+ targetVersion: string;
431
+ generatedAt: number;
432
+ totalChanges: number;
433
+ bySeverity: Record<ChangeSeverity, number>;
434
+ byCategory: Record<BreakingChangeCategory, number>;
435
+ byStatus: Record<ChangeStatus, number>;
436
+ changes: BreakingChangeDefinition[];
437
+ detections: BreakingChangeDetection[];
438
+ readyForMigration: boolean;
439
+ migrationEffort: 'low' | 'medium' | 'high' | 'critical';
440
+ recommendations: string[];
441
+ }
442
+
443
+ export declare const BROWSER_TARGETS: MatrixBrowserTarget[];
444
+
445
+ /**
446
+ * Compatibility configuration
447
+ */
448
+ export declare interface BrowserCompatibilityConfig {
449
+ targets: BrowserTarget;
450
+ fallback: FallbackConfig;
451
+ polyfill: PolyfillStrategy;
452
+ warnOnUnsupported: boolean;
453
+ strictMode: boolean;
454
+ }
455
+
456
+ /**
457
+ * Browser feature support status
458
+ */
459
+ export declare interface BrowserFeatures {
460
+ passive: boolean;
461
+ intersectionObserver: boolean;
462
+ resizeObserver: boolean;
463
+ mutationObserver: boolean;
464
+ clipboard: boolean;
465
+ clipboardItem: boolean;
466
+ clipboardWrite: boolean;
467
+ clipboardRead: boolean;
468
+ pointerEvents: boolean;
469
+ touchEvents: boolean;
470
+ webAnimations: boolean;
471
+ customElements: boolean;
472
+ shadowDom: boolean;
473
+ cssVariables: boolean;
474
+ cssGrid: boolean;
475
+ cssFlexbox: boolean;
476
+ es2020: boolean;
477
+ es2021: boolean;
478
+ es2022: boolean;
479
+ }
480
+
481
+ /**
482
+ * Browser version info
483
+ */
484
+ export declare interface BrowserInfo {
485
+ type: BrowserType;
486
+ version: string;
487
+ major: number;
488
+ platform: PlatformType;
489
+ os: string;
490
+ supportLevel: SupportLevel;
491
+ features: BrowserFeatures;
492
+ }
493
+
494
+ /**
495
+ * Browser target configuration
496
+ */
497
+ export declare interface BrowserTarget {
498
+ chrome?: string;
499
+ firefox?: string;
500
+ safari?: string;
501
+ edge?: string;
502
+ samsung?: string;
503
+ }
504
+
505
+ /**
506
+ * Browser compatibility module for Directix
507
+ * Provides browser detection, polyfill management, and fallback strategies
508
+ */
509
+ /**
510
+ * Browser type
511
+ */
512
+ declare type BrowserType = 'chrome' | 'firefox' | 'safari' | 'edge' | 'opera' | 'samsung' | 'uc' | 'wechat' | 'unknown';
513
+
40
514
  /**
41
515
  * Calculate statistics from metrics
42
516
  */
@@ -47,6 +521,17 @@ export declare function calculateStats(metrics: PerformanceMetric[]): Performanc
47
521
  */
48
522
  export declare function calculateTime(remaining: number): CountdownTime;
49
523
 
524
+ /**
525
+ * Calculate Time to Interactive estimate
526
+ */
527
+ export declare function calculateTTI(): number | undefined;
528
+
529
+ /**
530
+ * Cancel idle callback
531
+ */
532
+ declare function cancelIdleCallback_2(id: number): void;
533
+ export { cancelIdleCallback_2 as cancelIdleCallback }
534
+
50
535
  /**
51
536
  * Capitalize text based on options
52
537
  */
@@ -60,16 +545,79 @@ export declare function capitalizeText(text: string, options?: {
60
545
  */
61
546
  export declare function capitalizeWord(word: string): string;
62
547
 
548
+ /**
549
+ * Breaking Changes Warning System for Directix
550
+ * Provides early warning for upcoming breaking changes in future versions
551
+ */
552
+ export declare type ChangeSeverity = 'low' | 'medium' | 'high' | 'critical';
553
+
554
+ export declare type ChangeStatus = 'planned' | 'deprecated' | 'removed';
555
+
556
+ /**
557
+ * Check API usage and warn if affected
558
+ */
559
+ export declare function checkAPIUsage(apiName: string): void;
560
+
561
+ /**
562
+ * Check dependency availability
563
+ */
564
+ export declare function checkDependency(name: string, globalPath?: string): boolean;
565
+
566
+ /**
567
+ * Cleanup
568
+ */
569
+ export declare function cleanupFirstScreenOptimizer(): void;
570
+
571
+ /**
572
+ * Clear alerts
573
+ */
574
+ export declare function clearAlerts(): void;
575
+
576
+ /**
577
+ * Clear the announcer
578
+ */
579
+ export declare function clearAnnouncer(): void;
580
+
581
+ /**
582
+ * Clear all ARIA attributes from an element
583
+ */
584
+ export declare function clearAriaAttributes(el: HTMLElement): void;
585
+
586
+ /**
587
+ * Clear audit logs
588
+ */
589
+ export declare function clearAuditLogs(): void;
590
+
591
+ /**
592
+ * Clear stored results
593
+ */
594
+ export declare function clearBenchmarkResults(): void;
595
+
63
596
  /**
64
597
  * Clear DevTools state
65
598
  */
66
599
  export declare function clearDevtoolsState(): void;
67
600
 
601
+ /**
602
+ * Clear warnings
603
+ */
604
+ export declare function clearEdgeCaseWarnings(): void;
605
+
68
606
  /**
69
607
  * Clear all performance metrics
70
608
  */
71
609
  export declare function clearPerformanceMetrics(): void;
72
610
 
611
+ /**
612
+ * Clear warned changes cache
613
+ */
614
+ export declare function clearWarnedChanges(): void;
615
+
616
+ /**
617
+ * Clear warned features cache
618
+ */
619
+ export declare function clearWarnedFeatures(): void;
620
+
73
621
  /**
74
622
  * Click delay handler
75
623
  */
@@ -80,6 +628,56 @@ export declare type ClickDelayHandler = (event: MouseEvent | TouchEvent) => void
80
628
  */
81
629
  export declare type ClickOutsideHandler = (event: MouseEvent | TouchEvent) => void;
82
630
 
631
+ /**
632
+ * Code change information
633
+ */
634
+ export declare interface CodeChange {
635
+ type: 'replace' | 'insert' | 'delete';
636
+ location: string;
637
+ line: number;
638
+ original: string;
639
+ new: string;
640
+ description: string;
641
+ }
642
+
643
+ /**
644
+ * Compare two benchmark results
645
+ */
646
+ export declare function compareBenchmarks(baseline: BenchmarkResult, current: BenchmarkResult, threshold?: number): BenchmarkComparison;
647
+
648
+ /**
649
+ * Compare performance snapshots
650
+ */
651
+ export declare function compareSnapshots(before: PerformanceSnapshot, after: PerformanceSnapshot): {
652
+ memoryDiff?: {
653
+ usedJSHeapSize: number;
654
+ totalJSHeapSize: number;
655
+ };
656
+ timeDiff: number;
657
+ };
658
+
659
+ /**
660
+ * Version comparison utility
661
+ */
662
+ export declare function compareVersions(a: string, b: string): -1 | 0 | 1;
663
+
664
+ export declare interface CompatibilityMatrix {
665
+ browsers: MatrixBrowserTarget[];
666
+ features: Record<string, FeatureMatrix>;
667
+ mobileDevices: MobileDevice[];
668
+ }
669
+
670
+ /**
671
+ * Compatibility report
672
+ */
673
+ export declare interface CompatibilityReport {
674
+ browser: BrowserInfo;
675
+ config: BrowserCompatibilityConfig;
676
+ unsupportedFeatures: (keyof BrowserFeatures)[];
677
+ warnings: string[];
678
+ recommendations: string[];
679
+ }
680
+
83
681
  /**
84
682
  * Debounced function type for composables
85
683
  */
@@ -117,33 +715,203 @@ export declare interface ComposableThrottledFunction<T extends (...args: any[])
117
715
  }
118
716
 
119
717
  /**
120
- * Configure performance monitoring
718
+ * Cache for computed results with dependency tracking
121
719
  */
122
- export declare function configurePerformance(config: Partial<PerformanceConfig>): void;
720
+ export declare class ComputedCache<K, V> {
721
+ private cache;
722
+ private maxSize;
723
+ private computeFunction;
724
+ private ttl;
725
+ constructor(computeFunction: (key: K, ...deps: any[]) => V, maxSize?: number, ttl?: number);
726
+ /**
727
+ * Get or compute cached value
728
+ */
729
+ get(key: K, dependencies: any[]): V;
730
+ /**
731
+ * Compare dependencies
732
+ */
733
+ private compareDependencies;
734
+ /**
735
+ * Invalidate specific key
736
+ */
737
+ invalidate(key: K): void;
738
+ /**
739
+ * Clear all cache
740
+ */
741
+ clear(): void;
742
+ /**
743
+ * Get cache size
744
+ */
745
+ size(): number;
746
+ }
123
747
 
124
748
  /**
125
- * Configure permission directive
749
+ * Computed ref with automatic cleanup
126
750
  */
127
- export declare function configurePermission(config: PermissionConfig): void;
751
+ export declare function computedWithCleanup<T>(options: ComputedWithCleanupOptions<T>): ComputedRef<T>;
128
752
 
129
753
  /**
130
- * Context menu item
754
+ * Options for computed with cleanup
131
755
  */
132
- export declare interface ContextMenuItem {
133
- label: string;
134
- handler?: () => void;
135
- disabled?: boolean;
136
- divider?: boolean;
137
- icon?: string;
138
- class?: string;
756
+ export declare interface ComputedWithCleanupOptions<T> {
757
+ /** Getter function */
758
+ get: () => T;
759
+ /** Cleanup function called when dependencies change or on unmount */
760
+ cleanup?: (value: T) => void;
139
761
  }
140
762
 
141
- /**
142
- * Countdown complete callback
143
- */
144
- export declare type CountdownCompleteCallback = () => void;
763
+ export declare interface ConfigCenterConfig {
764
+ sources: ConfigSource[];
765
+ mergeStrategy: 'override' | 'merge' | 'deepMerge';
766
+ cache: {
767
+ enabled: boolean;
768
+ ttl: number;
769
+ key: string;
770
+ };
771
+ sync: {
772
+ enabled: boolean;
773
+ broadcastChannel?: string;
774
+ onUpdate?: (key: string, value: any) => void;
775
+ };
776
+ validation: {
777
+ enabled: boolean;
778
+ schema?: Record<string, ConfigSchema>;
779
+ };
780
+ encryption: {
781
+ enabled: boolean;
782
+ algorithm: 'AES' | 'none';
783
+ key?: string;
784
+ };
785
+ }
145
786
 
146
- /**
787
+ export declare interface ConfigChangeEvent {
788
+ key: string;
789
+ oldValue: any;
790
+ newValue: any;
791
+ source: string;
792
+ timestamp: number;
793
+ }
794
+
795
+ export declare interface ConfigSchema {
796
+ type: 'string' | 'number' | 'boolean' | 'object' | 'array';
797
+ required?: boolean;
798
+ default?: any;
799
+ enum?: any[];
800
+ min?: number;
801
+ max?: number;
802
+ pattern?: string;
803
+ validator?: (value: any) => boolean;
804
+ }
805
+
806
+ export declare interface ConfigSnapshot {
807
+ version: string;
808
+ config: Record<string, any>;
809
+ timestamp: number;
810
+ source: string;
811
+ hash: string;
812
+ }
813
+
814
+ export declare interface ConfigSource {
815
+ type: ConfigSourceType;
816
+ priority: number;
817
+ api?: {
818
+ url: string;
819
+ method: 'GET' | 'POST';
820
+ headers?: Record<string, string>;
821
+ refreshInterval?: number;
822
+ timeout?: number;
823
+ };
824
+ storage?: {
825
+ key: string;
826
+ encrypt?: boolean;
827
+ };
828
+ static?: Record<string, any>;
829
+ }
830
+
831
+ /**
832
+ * Configuration Center Integration Module for Directix
833
+ * Provides centralized configuration management with remote sync support
834
+ */
835
+ export declare type ConfigSourceType = 'static' | 'api' | 'localStorage' | 'sessionStorage' | 'remote';
836
+
837
+ /**
838
+ * Configure audit logging
839
+ */
840
+ export declare function configureAuditLog(config: Partial<AuditLogConfig>): void;
841
+
842
+ /**
843
+ * Configure benchmark
844
+ */
845
+ export declare function configureBenchmark(config: Partial<BenchmarkConfig>): void;
846
+
847
+ /**
848
+ * Configure breaking changes warning system
849
+ */
850
+ export declare function configureBreakingChanges(config: Partial<BreakingChangesConfig>): void;
851
+
852
+ /**
853
+ * Configure browser compatibility settings
854
+ */
855
+ export declare function configureCompatibility(config: Partial<BrowserCompatibilityConfig>): void;
856
+
857
+ /**
858
+ * Configure configuration center
859
+ */
860
+ export declare function configureConfigCenter(config: Partial<ConfigCenterConfig>): void;
861
+
862
+ /**
863
+ * Configure edge case handler
864
+ */
865
+ export declare function configureEdgeCase(config: Partial<EdgeCaseConfig>): void;
866
+
867
+ /**
868
+ * Configure global permission manager
869
+ */
870
+ export declare function configureEnterprisePermission(config: Partial<EnterprisePermissionConfig>): EnterprisePermissionManager;
871
+
872
+ /**
873
+ * Configure first screen optimization
874
+ */
875
+ export declare function configureFirstScreen(config: Partial<FirstScreenConfig>): void;
876
+
877
+ /**
878
+ * Configure monitoring
879
+ */
880
+ export declare function configureMonitoring(config: Partial<MonitoringConfig>): void;
881
+
882
+ /**
883
+ * Configure performance monitoring
884
+ */
885
+ export declare function configurePerformance(config: Partial<PerformanceConfig>): void;
886
+
887
+ /**
888
+ * Configure performance optimization
889
+ */
890
+ export declare function configurePerformanceOptimization(config: Partial<PerformanceOptimizationConfig>): void;
891
+
892
+ /**
893
+ * Configure permission directive
894
+ */
895
+ export declare function configurePermission(config: PermissionConfig): void;
896
+
897
+ /**
898
+ * Context menu item
899
+ */
900
+ export declare interface ContextMenuItem {
901
+ label: string;
902
+ handler?: () => void;
903
+ disabled?: boolean;
904
+ divider?: boolean;
905
+ icon?: string;
906
+ class?: string;
907
+ }
908
+
909
+ /**
910
+ * Countdown complete callback
911
+ */
912
+ export declare type CountdownCompleteCallback = () => void;
913
+
914
+ /**
147
915
  * Countdown format function
148
916
  */
149
917
  export declare type CountdownFormatFunction = (time: CountdownTime) => string;
@@ -170,6 +938,15 @@ export declare interface CountdownTime {
170
938
  */
171
939
  export declare type CounterEasing = 'linear' | 'easeOut' | 'easeInOut' | 'easeOutQuart' | 'easeOutExpo';
172
940
 
941
+ /**
942
+ * Create audit log middleware for directives
943
+ */
944
+ export declare function createAuditLogMiddleware(directiveName: string): {
945
+ onMount: (_el: HTMLElement, binding: any, vnode: any) => void;
946
+ onUpdate: (_el: HTMLElement, binding: any, vnode: any, oldBinding: any) => void;
947
+ onUnmount: (_el: HTMLElement, _binding: any, vnode: any) => void;
948
+ };
949
+
173
950
  /**
174
951
  * Create a capitalizing function with preset options
175
952
  *
@@ -192,6 +969,11 @@ export declare function createCapitalizer(options?: {
192
969
  keepLower?: string[];
193
970
  }): (text: string) => string;
194
971
 
972
+ /**
973
+ * Debounce resize handler
974
+ */
975
+ export declare function createDebouncedResizeHandler(handler: () => void, delay?: number): () => void;
976
+
195
977
  /**
196
978
  * Create a debounced click handler
197
979
  *
@@ -211,6 +993,21 @@ export declare function createCapitalizer(options?: {
211
993
  */
212
994
  export declare function createDelayedClick(handler: ClickDelayHandler, delay?: number): (event: MouseEvent | TouchEvent) => void;
213
995
 
996
+ /**
997
+ * Create a deprecation warning helper
998
+ */
999
+ export declare function createDeprecationWarning(changeId: string, deprecatedAPI: string, alternative: string): () => void;
1000
+
1001
+ /**
1002
+ * Create benchmark for directive
1003
+ */
1004
+ export declare function createDirectiveBenchmark(directiveName: string, setup: () => HTMLElement, teardown?: (el: HTMLElement) => void): {
1005
+ measureMount: () => Promise<BenchmarkResult>;
1006
+ measureUpdate: (newValue: any) => Promise<BenchmarkResult>;
1007
+ measureUnmount: () => Promise<BenchmarkResult>;
1008
+ measureFullCycle: () => Promise<BenchmarkResult>;
1009
+ };
1010
+
214
1011
  /**
215
1012
  * Create a directive from a template
216
1013
  *
@@ -260,6 +1057,19 @@ export declare function createEventDirective(options: {
260
1057
  */
261
1058
  export declare function createI18n(options: I18nOptions): I18nInstance;
262
1059
 
1060
+ /**
1061
+ * Create lazy loader for directives
1062
+ */
1063
+ export declare function createLazyLoader(options?: {
1064
+ rootMargin?: string;
1065
+ threshold?: number;
1066
+ onVisible?: (element: Element) => void;
1067
+ }): {
1068
+ observe: (element: Element) => void;
1069
+ unobserve: (element: Element) => void;
1070
+ disconnect: () => void;
1071
+ };
1072
+
263
1073
  /**
264
1074
  * Create a lowercase transformation function
265
1075
  *
@@ -323,6 +1133,28 @@ export declare function createNumberFormatter(options?: {
323
1133
  suffix?: string;
324
1134
  }): (value: number) => string;
325
1135
 
1136
+ /**
1137
+ * Create performance budget checker
1138
+ */
1139
+ export declare function createPerformanceBudget(budget: {
1140
+ fcp?: number;
1141
+ lcp?: number;
1142
+ tti?: number;
1143
+ cls?: number;
1144
+ tbt?: number;
1145
+ }): {
1146
+ check: () => {
1147
+ passed: boolean;
1148
+ violations: string[];
1149
+ };
1150
+ report: () => string;
1151
+ };
1152
+
1153
+ /**
1154
+ * Create permission directive helper
1155
+ */
1156
+ export declare function createPermissionCheck(permission: string | string[], mode?: 'any' | 'all'): (context?: Record<string, any>) => Promise<boolean>;
1157
+
326
1158
  /**
327
1159
  * Create a permission checker with shared configuration
328
1160
  *
@@ -350,6 +1182,19 @@ export declare function createPermissionChecker(config: {
350
1182
  roleMap?: Record<string, string[]>;
351
1183
  }): (value: string | string[], mode?: PermissionMode) => boolean;
352
1184
 
1185
+ /**
1186
+ * Create safe content handler
1187
+ */
1188
+ export declare function createSafeContentHandler(config?: XSSProtectionConfig): SafeContentHandler;
1189
+
1190
+ /**
1191
+ * Create safe directive wrapper
1192
+ */
1193
+ export declare function createSafeDirectiveWrapper<T>(directiveName: string, operation: (el: HTMLElement, binding: any, vnode: any) => T | Promise<T>, options?: {
1194
+ requireDOM?: boolean;
1195
+ validateBinding?: (binding: any) => boolean;
1196
+ }): (el: HTMLElement, binding: any, vnode: any) => Promise<T | undefined>;
1197
+
353
1198
  /**
354
1199
  * Create a style-based directive template
355
1200
  *
@@ -452,6 +1297,33 @@ export declare function createWatermarkUrl(content: string | string[], options?:
452
1297
  */
453
1298
  export declare type CrossVersionDirective = Directive | Vue2DirectiveHooks | Vue3DirectiveHooks;
454
1299
 
1300
+ /**
1301
+ * CSP Configuration
1302
+ */
1303
+ export declare interface CSPConfig {
1304
+ /** Disable inline scripts */
1305
+ noInlineScripts?: boolean;
1306
+ /** Disable inline styles */
1307
+ noInlineStyles?: boolean;
1308
+ /** Disable eval */
1309
+ noEval?: boolean;
1310
+ /** Nonce for inline scripts/styles */
1311
+ nonce?: string;
1312
+ }
1313
+
1314
+ declare interface CustomIntegration {
1315
+ enabled: boolean;
1316
+ pushMetrics: (metrics: Metric[]) => Promise<void>;
1317
+ pushAlert: (alert: Alert) => Promise<void>;
1318
+ }
1319
+
1320
+ declare interface DatadogConfig {
1321
+ enabled: boolean;
1322
+ apiKey: string;
1323
+ appKey?: string;
1324
+ host?: string;
1325
+ }
1326
+
455
1327
  /**
456
1328
  * Date format options per region
457
1329
  */
@@ -511,6 +1383,41 @@ export declare function deepClone<T>(obj: T): T;
511
1383
  */
512
1384
  export declare function deepMerge<T extends Record<string, any>>(target: T, ...sources: Partial<T>[]): T;
513
1385
 
1386
+ export declare const DEFAULT_AUDIT_LOG_CONFIG: AuditLogConfig;
1387
+
1388
+ export declare const DEFAULT_BENCHMARK_CONFIG: BenchmarkConfig;
1389
+
1390
+ export declare const DEFAULT_BREAKING_CHANGES_CONFIG: BreakingChangesConfig;
1391
+
1392
+ export declare const DEFAULT_CONFIG_CENTER_CONFIG: ConfigCenterConfig;
1393
+
1394
+ export declare const DEFAULT_EDGE_CASE_CONFIG: EdgeCaseConfig;
1395
+
1396
+ export declare const DEFAULT_ENTERPRISE_PERMISSION_CONFIG: EnterprisePermissionConfig;
1397
+
1398
+ export declare const DEFAULT_FIRST_SCREEN_CONFIG: FirstScreenConfig;
1399
+
1400
+ export declare const DEFAULT_MONITORING_CONFIG: MonitoringConfig;
1401
+
1402
+ export declare const DEFAULT_PERFORMANCE_CONFIG: PerformanceOptimizationConfig;
1403
+
1404
+ /**
1405
+ * Defer non-critical directive
1406
+ */
1407
+ export declare function deferNonCriticalDirective(_directiveName: string, setup: () => void | Promise<void>, isCritical?: boolean): void;
1408
+
1409
+ export declare interface DeferredTask {
1410
+ id: string;
1411
+ priority: 'critical' | 'high' | 'medium' | 'low';
1412
+ execute: () => void | Promise<void>;
1413
+ executed: boolean;
1414
+ }
1415
+
1416
+ /**
1417
+ * Defer task execution
1418
+ */
1419
+ export declare function deferTask(id: string, execute: () => void | Promise<void>, priority?: 'critical' | 'high' | 'medium' | 'low'): void;
1420
+
514
1421
  /**
515
1422
  * Define a cross-version compatible directive
516
1423
  * @param definition The directive definition
@@ -532,11 +1439,71 @@ export declare function defineDirectiveGroup(name: string, directives: Record<st
532
1439
  */
533
1440
  export declare function definePlugin(plugin: DirectixPlugin): DirectixPlugin;
534
1441
 
1442
+ /**
1443
+ * Delete configuration value
1444
+ */
1445
+ export declare function deleteConfig(key: string): void;
1446
+
1447
+ /**
1448
+ * Dependency vulnerability info
1449
+ */
1450
+ export declare interface DependencyVulnerability {
1451
+ /** Package name */
1452
+ name: string;
1453
+ /** Installed version */
1454
+ version: string;
1455
+ /** Vulnerability ID (e.g., CVE, GHSA) */
1456
+ id?: string;
1457
+ /** Severity level */
1458
+ severity: 'critical' | 'high' | 'medium' | 'low';
1459
+ /** Vulnerability title */
1460
+ title: string;
1461
+ /** URL for more info */
1462
+ url?: string;
1463
+ /** Patched versions */
1464
+ patchedVersions?: string;
1465
+ }
1466
+
1467
+ /**
1468
+ * Deprecated API information
1469
+ */
1470
+ export declare interface DeprecatedAPI {
1471
+ name: string;
1472
+ location: string;
1473
+ line: number;
1474
+ deprecatedIn: string;
1475
+ removedIn: string;
1476
+ replacement: string;
1477
+ migrationCode?: string;
1478
+ }
1479
+
1480
+ /**
1481
+ * Detect breaking changes in code
1482
+ */
1483
+ export declare function detectBreakingChangesInCode(code: string, options?: {
1484
+ file?: string;
1485
+ }): BreakingChangeDetection[];
1486
+
1487
+ /**
1488
+ * Detect legacy usage in code
1489
+ */
1490
+ export declare function detectLegacyUsage(code: string, source?: MigrationSource): LegacyUsageReport;
1491
+
535
1492
  /**
536
1493
  * Detect user locale info
537
1494
  */
538
1495
  export declare function detectLocaleInfo(): LocaleInfo;
539
1496
 
1497
+ /**
1498
+ * Detect resize loop
1499
+ */
1500
+ export declare function detectResizeLoop(_entries: ResizeObserverEntry[], threshold?: number): boolean;
1501
+
1502
+ /**
1503
+ * Detect scroll jank
1504
+ */
1505
+ export declare function detectScrollJank(frameTime: number, threshold?: number): boolean;
1506
+
540
1507
  /**
541
1508
  * DevTools event
542
1509
  */
@@ -652,6 +1619,16 @@ export declare interface DirectiveInstallOptions {
652
1619
  config?: Record<string, any>;
653
1620
  }
654
1621
 
1622
+ /**
1623
+ * Options for directive instance with Vue 3 reactivity
1624
+ */
1625
+ export declare interface DirectiveInstanceOptions<T = any> {
1626
+ /** Initial state */
1627
+ initialState?: T;
1628
+ /** Whether to use shallow reactive (better for large objects) */
1629
+ shallow?: boolean;
1630
+ }
1631
+
655
1632
  /**
656
1633
  * Per-directive messages
657
1634
  */
@@ -708,146 +1685,738 @@ export declare interface DirectiveTemplateOptions<T = any, B extends Element = E
708
1685
  export declare function directiveWarn(directive: string, message: string, params?: Record<string, any>): void;
709
1686
 
710
1687
  /**
711
- * Directix plugin
1688
+ * Directix plugin
1689
+ */
1690
+ export declare const Directix: Plugin_2;
1691
+
1692
+ /**
1693
+ * Plugin definition
1694
+ */
1695
+ export declare interface DirectixPlugin {
1696
+ /** Plugin metadata */
1697
+ meta: PluginMeta;
1698
+ /** Install function - called when plugin is registered */
1699
+ install: (ctx: PluginContext) => void | Promise<void>;
1700
+ /** Uninstall function - called when plugin is removed */
1701
+ uninstall?: (ctx: PluginContext) => void | Promise<void>;
1702
+ /** Plugin dependencies */
1703
+ dependencies?: string[];
1704
+ }
1705
+
1706
+ /**
1707
+ * Disable DevTools integration
1708
+ */
1709
+ export declare function disableDevtools(): void;
1710
+
1711
+ /**
1712
+ * Disable performance monitoring
1713
+ */
1714
+ export declare function disablePerformance(): void;
1715
+
1716
+ /**
1717
+ * Cache for DOM queries to reduce repeated queries
1718
+ */
1719
+ export declare class DOMQueryCache {
1720
+ private queryCache;
1721
+ private styleCache;
1722
+ /**
1723
+ * Query selector with caching
1724
+ */
1725
+ querySelector(element: Element, selector: string): Element | null;
1726
+ /**
1727
+ * Query selector all with caching
1728
+ */
1729
+ querySelectorAll(element: Element, selector: string): Element[];
1730
+ /**
1731
+ * Get computed style with caching
1732
+ */
1733
+ getComputedStyle(element: Element): CSSStyleDeclaration;
1734
+ /**
1735
+ * Invalidate cache for element
1736
+ */
1737
+ invalidate(element: Element): void;
1738
+ }
1739
+
1740
+ /**
1741
+ * Draggable axis
1742
+ */
1743
+ export declare type DraggableAxis = 'x' | 'y' | 'both';
1744
+
1745
+ /**
1746
+ * Edge Case Handler Module for Directix
1747
+ * Provides robust handling for edge cases and error scenarios
1748
+ */
1749
+ export declare interface EdgeCaseConfig {
1750
+ ssr: {
1751
+ enabled: boolean;
1752
+ warnOnUnsupported: boolean;
1753
+ fallbackBehavior: 'skip' | 'mock' | 'throw';
1754
+ };
1755
+ domReady: {
1756
+ waitForReady: boolean;
1757
+ timeout: number;
1758
+ retryCount: number;
1759
+ };
1760
+ memory: {
1761
+ maxObservers: number;
1762
+ cleanupInterval: number;
1763
+ warnThreshold: number;
1764
+ };
1765
+ errorRecovery: {
1766
+ enabled: boolean;
1767
+ maxRetries: number;
1768
+ retryDelay: number;
1769
+ fallbackValue?: any;
1770
+ };
1771
+ mobile: {
1772
+ touchDelay: number;
1773
+ debounceResize: number;
1774
+ preventDefaultOnTouch: boolean;
1775
+ };
1776
+ }
1777
+
1778
+ export declare interface EdgeCaseResult<T> {
1779
+ success: boolean;
1780
+ value?: T;
1781
+ error?: Error;
1782
+ recovered: boolean;
1783
+ retryCount: number;
1784
+ }
1785
+
1786
+ 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';
1787
+
1788
+ export declare interface EdgeCaseWarning {
1789
+ type: EdgeCaseType;
1790
+ message: string;
1791
+ element?: Element;
1792
+ directive?: string;
1793
+ timestamp: number;
1794
+ handled: boolean;
1795
+ }
1796
+
1797
+ /**
1798
+ * Enable DevTools integration
1799
+ */
1800
+ export declare function enableDevtools(): void;
1801
+
1802
+ /**
1803
+ * Enable performance monitoring
1804
+ */
1805
+ export declare function enablePerformance(): void;
1806
+
1807
+ /**
1808
+ * End a performance measurement
1809
+ */
1810
+ export declare function endMeasure(markId: string, directive: string, phase: 'mount' | 'update' | 'unmount', metadata?: Record<string, any>): void;
1811
+
1812
+ /**
1813
+ * Create teleport target if not exists
1814
+ */
1815
+ export declare function ensureTeleportTarget(target: string): HTMLElement | null;
1816
+
1817
+ /**
1818
+ * Permission configuration
1819
+ */
1820
+ export declare interface EnterprisePermissionConfig {
1821
+ sources: PermissionSourceConfig[];
1822
+ roles: Record<string, RoleDefinition>;
1823
+ cache: {
1824
+ enabled: boolean;
1825
+ ttl: number;
1826
+ key: string;
1827
+ };
1828
+ audit: {
1829
+ enabled: boolean;
1830
+ onCheck?: (result: PermissionCheckResult) => void;
1831
+ onGrant?: (result: PermissionCheckResult) => void;
1832
+ onDeny?: (result: PermissionCheckResult) => void;
1833
+ logToConsole?: boolean;
1834
+ };
1835
+ defaultBehavior: 'allow' | 'deny';
1836
+ customCheck?: (permission: string, context?: any) => boolean | Promise<boolean>;
1837
+ }
1838
+
1839
+ /**
1840
+ * Enterprise Permission Manager
1841
+ */
1842
+ export declare class EnterprisePermissionManager {
1843
+ private config;
1844
+ private permissions;
1845
+ private resolvedRoles;
1846
+ private auditLogs;
1847
+ private cacheTimestamp;
1848
+ private refreshTimer;
1849
+ private initialized;
1850
+ constructor(config?: Partial<EnterprisePermissionConfig>);
1851
+ /**
1852
+ * Initialize permission manager
1853
+ */
1854
+ initialize(): Promise<void>;
1855
+ /**
1856
+ * Load permissions from all configured sources
1857
+ */
1858
+ private loadPermissions;
1859
+ /**
1860
+ * Load permissions from a single source
1861
+ */
1862
+ private loadFromSource;
1863
+ /**
1864
+ * Load permissions from API
1865
+ */
1866
+ private loadFromApi;
1867
+ /**
1868
+ * Load permissions from storage
1869
+ */
1870
+ private loadFromStorage;
1871
+ /**
1872
+ * Resolve all role inheritances
1873
+ */
1874
+ private resolveAllRoles;
1875
+ /**
1876
+ * Resolve a single role with inheritance
1877
+ */
1878
+ private resolveRole;
1879
+ /**
1880
+ * Set up automatic refresh timer
1881
+ */
1882
+ private setupRefreshTimer;
1883
+ /**
1884
+ * Check if permission is granted
1885
+ */
1886
+ check(permission: string, context?: Record<string, any>): Promise<PermissionCheckResult>;
1887
+ /**
1888
+ * Check permission synchronously (without API refresh)
1889
+ */
1890
+ checkSync(permission: string, context?: Record<string, any>): PermissionCheckResult;
1891
+ /**
1892
+ * Check multiple permissions
1893
+ */
1894
+ checkAll(permissions: string[], context?: Record<string, any>): Promise<Record<string, boolean>>;
1895
+ /**
1896
+ * Check if any of the permissions is granted
1897
+ */
1898
+ checkAny(permissions: string[], context?: Record<string, any>): Promise<boolean>;
1899
+ /**
1900
+ * Log audit entry
1901
+ */
1902
+ private logAudit;
1903
+ /**
1904
+ * Get audit logs
1905
+ */
1906
+ getAuditLogs(filter?: {
1907
+ permission?: string;
1908
+ result?: 'granted' | 'denied';
1909
+ since?: number;
1910
+ limit?: number;
1911
+ }): PermissionAuditLogEntry[];
1912
+ /**
1913
+ * Clear audit logs
1914
+ */
1915
+ clearAuditLogs(): void;
1916
+ /**
1917
+ * Add permission dynamically
1918
+ */
1919
+ addPermission(permission: string): void;
1920
+ /**
1921
+ * Remove permission dynamically
1922
+ */
1923
+ removePermission(permission: string): void;
1924
+ /**
1925
+ * Get all current permissions
1926
+ */
1927
+ getPermissions(): string[];
1928
+ /**
1929
+ * Add role dynamically
1930
+ */
1931
+ addRole(role: RoleDefinition): void;
1932
+ /**
1933
+ * Remove role dynamically
1934
+ */
1935
+ removeRole(roleName: string): void;
1936
+ /**
1937
+ * Get resolved permissions for a role
1938
+ */
1939
+ getRolePermissions(roleName: string): string[];
1940
+ /**
1941
+ * Export audit logs
1942
+ */
1943
+ exportAuditLogs(format?: 'json' | 'csv'): string;
1944
+ /**
1945
+ * Destroy and cleanup
1946
+ */
1947
+ destroy(): void;
1948
+ }
1949
+
1950
+ export declare const enUS: I18nMessages;
1951
+
1952
+ /**
1953
+ * Show an error message
1954
+ */
1955
+ export declare function error(options: WarningOptions): void;
1956
+
1957
+ export declare function error(message: string, params?: Record<string, any>): void;
1958
+
1959
+ /**
1960
+ * Global error messages
1961
+ */
1962
+ declare interface ErrorMessages {
1963
+ invalid_param: string;
1964
+ missing_required: string;
1965
+ type_error: string;
1966
+ value_out_of_range: string;
1967
+ not_supported: string;
1968
+ ssr_not_supported: string;
1969
+ }
1970
+
1971
+ /**
1972
+ * Escape HTML entities
1973
+ */
1974
+ export declare function escapeHtml(str: string): string;
1975
+
1976
+ /**
1977
+ * Estimate migration effort
1978
+ */
1979
+ export declare function estimateMigrationEffort(report: LegacyUsageReport): {
1980
+ estimatedTime: string;
1981
+ difficulty: 'easy' | 'medium' | 'hard';
1982
+ autoFixablePercentage: number;
1983
+ };
1984
+
1985
+ /**
1986
+ * Batch processor for events to reduce DOM operations
1987
+ */
1988
+ export declare class EventBatchProcessor {
1989
+ private queue;
1990
+ private processing;
1991
+ private batchSize;
1992
+ private scheduled;
1993
+ constructor(batchSize?: number);
1994
+ /**
1995
+ * Add event to batch queue
1996
+ */
1997
+ add(target: HTMLElement, event: string, handler: EventListener): void;
1998
+ /**
1999
+ * Process batched events
2000
+ */
2001
+ private processBatch;
2002
+ /**
2003
+ * Clear the queue
2004
+ */
2005
+ clear(): void;
2006
+ }
2007
+
2008
+ /**
2009
+ * Execute deferred tasks
2010
+ */
2011
+ export declare function executeDeferredTasks(): Promise<void>;
2012
+
2013
+ /**
2014
+ * Export audit logs
2015
+ */
2016
+ export declare function exportAuditLogs(options?: AuditLogExportOptions): string;
2017
+
2018
+ /**
2019
+ * Export results as JSON
2020
+ */
2021
+ export declare function exportBenchmarkResults(format?: 'json' | 'csv'): string;
2022
+
2023
+ /**
2024
+ * Export configuration
2025
+ */
2026
+ export declare function exportConfig(format?: 'json' | 'yaml' | 'env'): string;
2027
+
2028
+ /**
2029
+ * Export format type
2030
+ */
2031
+ export declare type ExportFormat = 'csv' | 'json' | 'txt' | 'html';
2032
+
2033
+ /**
2034
+ * Export performance metrics as JSON
2035
+ */
2036
+ export declare function exportPerformanceData(): {
2037
+ config: PerformanceConfig;
2038
+ metrics: PerformanceMetric[];
2039
+ report: DirectivePerformance[];
2040
+ };
2041
+
2042
+ /**
2043
+ * Export metrics in Prometheus format
2044
+ */
2045
+ export declare function exportPrometheusMetrics(): string;
2046
+
2047
+ /**
2048
+ * Extended touch gesture types
2049
+ */
2050
+ export declare type ExtendedGestureType = 'tap' | 'doubleTap' | 'longPress' | 'swipe' | 'pan' | 'pinch' | 'pinchIn' | 'pinchOut' | 'rotate' | 'twoFingerTap' | 'threeFingerTap' | 'edgeSwipe';
2051
+
2052
+ /**
2053
+ * Extended touch gesture event
2054
+ */
2055
+ export declare interface ExtendedTouchEvent {
2056
+ /** Gesture type */
2057
+ type: ExtendedGestureType;
2058
+ /** Swipe direction (for swipe gesture) */
2059
+ direction?: 'left' | 'right' | 'up' | 'down';
2060
+ /** Distance in pixels */
2061
+ distance?: number;
2062
+ /** Velocity in px/s */
2063
+ velocity?: number;
2064
+ /** Angle in degrees */
2065
+ angle?: number;
2066
+ /** Scale factor (for pinch) */
2067
+ scale?: number;
2068
+ /** Rotation in degrees */
2069
+ rotation?: number;
2070
+ /** Center point */
2071
+ center?: {
2072
+ x: number;
2073
+ y: number;
2074
+ };
2075
+ /** Original touch event */
2076
+ event: TouchEvent;
2077
+ /** Duration in ms */
2078
+ duration?: number;
2079
+ }
2080
+
2081
+ /**
2082
+ * Get Critical CSS
2083
+ */
2084
+ export declare function extractCriticalCSS(): string;
2085
+
2086
+ /**
2087
+ * Fallback strategy configuration
2088
+ */
2089
+ export declare interface FallbackConfig {
2090
+ intersectionObserver: boolean;
2091
+ resizeObserver: boolean;
2092
+ clipboard: boolean;
2093
+ mutationObserver: boolean;
2094
+ pointerEvents: boolean;
2095
+ touchEvents: boolean;
2096
+ }
2097
+
2098
+ export declare const FEATURE_MATRIX: Record<string, FeatureMatrix>;
2099
+
2100
+ export declare interface FeatureMatrix {
2101
+ name: string;
2102
+ description: string;
2103
+ browserSupport: Record<string, {
2104
+ minVersion: number;
2105
+ notes?: string;
2106
+ }>;
2107
+ fallbackAvailable: boolean;
2108
+ }
2109
+
2110
+ export declare interface FeatureSupport {
2111
+ name: string;
2112
+ supported: boolean;
2113
+ polyfillAvailable: boolean;
2114
+ notes?: string;
2115
+ }
2116
+
2117
+ /**
2118
+ * First Screen Loading Optimization Module for Directix
2119
+ * Provides utilities for optimizing initial page load performance
2120
+ */
2121
+ export declare interface FirstScreenConfig {
2122
+ lazyLoading: {
2123
+ enabled: boolean;
2124
+ rootMargin: string;
2125
+ threshold: number;
2126
+ deferNonCritical: boolean;
2127
+ };
2128
+ codeSplitting: {
2129
+ enabled: boolean;
2130
+ preloadAfter: number;
2131
+ prefetchVisible: boolean;
2132
+ };
2133
+ resourceHints: {
2134
+ preconnect: string[];
2135
+ preload: string[];
2136
+ prefetch: string[];
2137
+ dnsPrefetch: string[];
2138
+ };
2139
+ deferredExecution: {
2140
+ enabled: boolean;
2141
+ deferDelay: number;
2142
+ priorityQueue: boolean;
2143
+ };
2144
+ criticalCSS: {
2145
+ extract: boolean;
2146
+ inline: boolean;
2147
+ inlineThreshold: number;
2148
+ };
2149
+ }
2150
+
2151
+ export declare interface FirstScreenMetrics {
2152
+ domContentLoaded: number;
2153
+ load: number;
2154
+ firstPaint: number;
2155
+ firstContentfulPaint: number;
2156
+ largestContentfulPaint: number;
2157
+ timeToInteractive: number;
2158
+ totalBlockingTime: number;
2159
+ cumulativeLayoutShift: number;
2160
+ }
2161
+
2162
+ /**
2163
+ * Focus trap options
2164
+ */
2165
+ export declare interface FocusTrapOptions {
2166
+ /** Initial focus element */
2167
+ initialFocus?: HTMLElement | string | (() => HTMLElement | null);
2168
+ /** Elements to allow focus escape */
2169
+ allowOutsideClick?: boolean | ((event: MouseEvent | TouchEvent) => boolean);
2170
+ /** Enable escape key */
2171
+ escapeDeactivates?: boolean;
2172
+ /** Callback on activate */
2173
+ onActivate?: () => void;
2174
+ /** Callback on deactivate */
2175
+ onDeactivate?: () => void;
2176
+ }
2177
+
2178
+ /**
2179
+ * Format currency with locale-specific format
2180
+ */
2181
+ export declare function formatCurrencyLocale(value: number, options?: Partial<NumberFormatOptions>): string;
2182
+
2183
+ /**
2184
+ * Format date with locale-specific pattern
2185
+ */
2186
+ export declare function formatDateLocale(date: Date | string | number, options?: Partial<DateFormatOptions>): string;
2187
+
2188
+ /**
2189
+ * Format number to money string
2190
+ */
2191
+ export declare function formatMoney(value: number, options?: {
2192
+ precision?: number;
2193
+ separator?: string;
2194
+ decimal?: string;
2195
+ symbol?: string;
2196
+ symbolPosition?: 'before' | 'after';
2197
+ }): string;
2198
+
2199
+ /**
2200
+ * Format number with options
2201
+ */
2202
+ export declare function formatNumber(value: number, options?: {
2203
+ precision?: number;
2204
+ separator?: string;
2205
+ decimal?: string;
2206
+ prefix?: string;
2207
+ suffix?: string;
2208
+ }): string;
2209
+
2210
+ /**
2211
+ * Format number with locale-specific separators
2212
+ */
2213
+ export declare function formatNumberLocale(value: number, decimals?: number, options?: Partial<NumberFormatOptions>): string;
2214
+
2215
+ /**
2216
+ * Format time to string
2217
+ */
2218
+ export declare function formatTime(time: CountdownTime, format: string | CountdownFormatFunction): string;
2219
+
2220
+ /**
2221
+ * Generate unique ID for ARIA references
2222
+ */
2223
+ export declare function generateAriaId(prefix?: string): string;
2224
+
2225
+ /**
2226
+ * Generate benchmark report
2227
+ */
2228
+ export declare function generateBenchmarkReport(): string;
2229
+
2230
+ /**
2231
+ * Generate comprehensive breaking changes report
2232
+ */
2233
+ export declare function generateBreakingChangesReport(targetVersion?: string): BreakingChangesReport;
2234
+
2235
+ /**
2236
+ * Generate browserslist configuration
2237
+ */
2238
+ export declare function generateBrowserslistConfig(): string[];
2239
+
2240
+ /**
2241
+ * Generate compatibility report
2242
+ */
2243
+ export declare function generateCompatibilityReport(): CompatibilityReport;
2244
+
2245
+ /**
2246
+ * Generate unique ID
2247
+ */
2248
+ export declare function generateId(prefix?: string): string;
2249
+
2250
+ /**
2251
+ * Generate migration report
2252
+ */
2253
+ export declare function generateMigrationReport(report: LegacyUsageReport, format: 'text' | 'json' | 'markdown'): string;
2254
+
2255
+ /**
2256
+ * Get nested property value by path
2257
+ */
2258
+ export declare function get<T = any>(obj: Record<string, any>, path: string, defaultValue?: T): T;
2259
+
2260
+ /**
2261
+ * Get alerts
2262
+ */
2263
+ export declare function getAlerts(filter?: {
2264
+ status?: AlertStatus;
2265
+ severity?: AlertSeverity;
2266
+ ruleId?: string;
2267
+ since?: number;
2268
+ }): Alert[];
2269
+
2270
+ /**
2271
+ * Get all stored results
2272
+ */
2273
+ export declare function getAllBenchmarkResults(): Map<string, BenchmarkResult>;
2274
+
2275
+ /**
2276
+ * Get all breaking changes
2277
+ */
2278
+ export declare function getAllBreakingChanges(): BreakingChangeDefinition[];
2279
+
2280
+ /**
2281
+ * Get all configuration values
2282
+ */
2283
+ export declare function getAllConfig(): Record<string, any>;
2284
+
2285
+ /**
2286
+ * Get audit log by ID
2287
+ */
2288
+ export declare function getAuditLogById(id: string): AuditLogEntry | undefined;
2289
+
2290
+ /**
2291
+ * Get current configuration
2292
+ */
2293
+ export declare function getAuditLogConfig(): AuditLogConfig;
2294
+
2295
+ /**
2296
+ * Get audit logs with filtering
2297
+ */
2298
+ export declare function getAuditLogs(filter?: AuditLogFilter): AuditLogEntry[];
2299
+
2300
+ /**
2301
+ * Get audit log statistics
712
2302
  */
713
- export declare const Directix: Plugin_2;
2303
+ export declare function getAuditLogStats(): AuditLogStats;
714
2304
 
715
2305
  /**
716
- * Plugin definition
2306
+ * Get default ARIA config for directive type
717
2307
  */
718
- export declare interface DirectixPlugin {
719
- /** Plugin metadata */
720
- meta: PluginMeta;
721
- /** Install function - called when plugin is registered */
722
- install: (ctx: PluginContext) => void | Promise<void>;
723
- /** Uninstall function - called when plugin is removed */
724
- uninstall?: (ctx: PluginContext) => void | Promise<void>;
725
- /** Plugin dependencies */
726
- dependencies?: string[];
727
- }
2308
+ export declare function getAutoAriaConfig(options: AutoAriaOptions): ARIAConfig;
728
2309
 
729
2310
  /**
730
- * Disable DevTools integration
2311
+ * Get current configuration
731
2312
  */
732
- export declare function disableDevtools(): void;
2313
+ export declare function getBenchmarkConfig(): BenchmarkConfig;
733
2314
 
734
2315
  /**
735
- * Disable performance monitoring
2316
+ * Get stored benchmark result
736
2317
  */
737
- export declare function disablePerformance(): void;
2318
+ export declare function getBenchmarkResult(name: string): BenchmarkResult | undefined;
738
2319
 
739
2320
  /**
740
- * Draggable axis
2321
+ * Get breaking changes by category
741
2322
  */
742
- export declare type DraggableAxis = 'x' | 'y' | 'both';
2323
+ export declare function getBreakingChangesByCategory(category: BreakingChangeCategory): BreakingChangeDefinition[];
743
2324
 
744
2325
  /**
745
- * Enable DevTools integration
2326
+ * Get breaking changes by severity
746
2327
  */
747
- export declare function enableDevtools(): void;
2328
+ export declare function getBreakingChangesBySeverity(severity: ChangeSeverity): BreakingChangeDefinition[];
748
2329
 
749
2330
  /**
750
- * Enable performance monitoring
2331
+ * Get current configuration
751
2332
  */
752
- export declare function enablePerformance(): void;
2333
+ export declare function getBreakingChangesConfig(): BreakingChangesConfig;
753
2334
 
754
2335
  /**
755
- * End a performance measurement
2336
+ * Get breaking changes affecting a specific API
756
2337
  */
757
- export declare function endMeasure(markId: string, directive: string, phase: 'mount' | 'update' | 'unmount', metadata?: Record<string, any>): void;
758
-
759
- export declare const enUS: I18nMessages;
2338
+ export declare function getBreakingChangesForAPI(apiName: string): BreakingChangeDefinition[];
760
2339
 
761
2340
  /**
762
- * Show an error message
2341
+ * Get breaking changes for a specific version
763
2342
  */
764
- export declare function error(options: WarningOptions): void;
765
-
766
- export declare function error(message: string, params?: Record<string, any>): void;
2343
+ export declare function getBreakingChangesForVersion(version: string): BreakingChangeDefinition[];
767
2344
 
768
2345
  /**
769
- * Global error messages
2346
+ * Get compatibility report for a browser
770
2347
  */
771
- declare interface ErrorMessages {
772
- invalid_param: string;
773
- missing_required: string;
774
- type_error: string;
775
- value_out_of_range: string;
776
- not_supported: string;
777
- ssr_not_supported: string;
778
- }
2348
+ export declare function getBrowserCompatibilityReport(browserName: string, version: number): {
2349
+ supported: boolean;
2350
+ features: FeatureSupport[];
2351
+ recommendations: string[];
2352
+ };
779
2353
 
780
2354
  /**
781
- * Export format type
2355
+ * Get browser information
782
2356
  */
783
- export declare type ExportFormat = 'csv' | 'json' | 'txt' | 'html';
2357
+ export declare function getBrowserInfo(): BrowserInfo;
784
2358
 
785
2359
  /**
786
- * Export performance metrics as JSON
2360
+ * Get all supported browsers for a feature
787
2361
  */
788
- export declare function exportPerformanceData(): {
789
- config: PerformanceConfig;
790
- metrics: PerformanceMetric[];
791
- report: DirectivePerformance[];
792
- };
2362
+ export declare function getBrowsersSupportingFeature(featureName: string): MatrixBrowserTarget[];
793
2363
 
794
2364
  /**
795
- * Format currency with locale-specific format
2365
+ * Get current compatibility configuration
796
2366
  */
797
- export declare function formatCurrencyLocale(value: number, options?: Partial<NumberFormatOptions>): string;
2367
+ export declare function getCompatibilityConfig(): BrowserCompatibilityConfig;
798
2368
 
799
2369
  /**
800
- * Format date with locale-specific pattern
2370
+ * Get full compatibility matrix
801
2371
  */
802
- export declare function formatDateLocale(date: Date | string | number, options?: Partial<DateFormatOptions>): string;
2372
+ export declare function getCompatibilityMatrix(): CompatibilityMatrix;
803
2373
 
804
2374
  /**
805
- * Format number to money string
2375
+ * Get configuration value
806
2376
  */
807
- export declare function formatMoney(value: number, options?: {
808
- precision?: number;
809
- separator?: string;
810
- decimal?: string;
811
- symbol?: string;
812
- symbolPosition?: 'before' | 'after';
813
- }): string;
2377
+ export declare function getConfig<T = any>(key: string, defaultValue?: T): T;
814
2378
 
815
2379
  /**
816
- * Format number with options
2380
+ * Get current configuration
817
2381
  */
818
- export declare function formatNumber(value: number, options?: {
819
- precision?: number;
820
- separator?: string;
821
- decimal?: string;
822
- prefix?: string;
823
- suffix?: string;
824
- }): string;
2382
+ export declare function getConfigCenterConfig(): ConfigCenterConfig;
825
2383
 
826
2384
  /**
827
- * Format number with locale-specific separators
2385
+ * Get snapshots
828
2386
  */
829
- export declare function formatNumberLocale(value: number, decimals?: number, options?: Partial<NumberFormatOptions>): string;
2387
+ export declare function getConfigSnapshots(): ConfigSnapshot[];
830
2388
 
831
2389
  /**
832
- * Format time to string
2390
+ * Get config statistics
833
2391
  */
834
- export declare function formatTime(time: CountdownTime, format: string | CountdownFormatFunction): string;
2392
+ export declare function getConfigStats(): {
2393
+ totalKeys: number;
2394
+ snapshotCount: number;
2395
+ listenerCount: number;
2396
+ cacheEnabled: boolean;
2397
+ syncEnabled: boolean;
2398
+ };
835
2399
 
836
2400
  /**
837
- * Generate unique ID
2401
+ * Get counter value
838
2402
  */
839
- export declare function generateId(prefix?: string): string;
2403
+ export declare function getCounterValue(name: string, labels?: Record<string, string>): number;
840
2404
 
841
2405
  /**
842
- * Get nested property value by path
2406
+ * Get CSP nonce from meta tag
843
2407
  */
844
- export declare function get<T = any>(obj: Record<string, any>, path: string, defaultValue?: T): T;
2408
+ export declare function getCSPNonce(): string | null;
845
2409
 
846
2410
  /**
847
2411
  * Get region-specific date format
848
2412
  */
849
2413
  export declare function getDateFormat(region?: string): DateFormatOptions;
850
2414
 
2415
+ /**
2416
+ * Get device pixel ratio
2417
+ */
2418
+ export declare function getDevicePixelRatio(): number;
2419
+
851
2420
  /**
852
2421
  * Get DevTools state (for external access)
853
2422
  */
@@ -863,6 +2432,77 @@ export declare function getDevtoolsState(): {
863
2432
  */
864
2433
  export declare function getDirectiveMetrics(directive: string): PerformanceMetric[];
865
2434
 
2435
+ /**
2436
+ * Get DOM query cache
2437
+ */
2438
+ export declare function getDOMQueryCache(): DOMQueryCache | null;
2439
+
2440
+ /**
2441
+ * Get current configuration
2442
+ */
2443
+ export declare function getEdgeCaseConfig(): EdgeCaseConfig;
2444
+
2445
+ /**
2446
+ * Get warnings
2447
+ */
2448
+ export declare function getEdgeCaseWarnings(filter?: {
2449
+ type?: EdgeCaseType;
2450
+ directive?: string;
2451
+ since?: number;
2452
+ }): EdgeCaseWarning[];
2453
+
2454
+ /**
2455
+ * Get element with edge case handling
2456
+ */
2457
+ export declare function getElementWithFallback(selector: string, fallbackSelectors?: string[]): Element | null;
2458
+
2459
+ /**
2460
+ * Get event batch processor
2461
+ */
2462
+ export declare function getEventBatchProcessor(): EventBatchProcessor | null;
2463
+
2464
+ /**
2465
+ * Get feature support for a browser
2466
+ */
2467
+ export declare function getFeatureSupport(browserName: string, featureName: string): FeatureSupport | undefined;
2468
+
2469
+ /**
2470
+ * Get current configuration
2471
+ */
2472
+ export declare function getFirstScreenConfig(): FirstScreenConfig;
2473
+
2474
+ /**
2475
+ * Get first screen metrics
2476
+ */
2477
+ export declare function getFirstScreenMetrics(): Partial<FirstScreenMetrics>;
2478
+
2479
+ /**
2480
+ * Get gauge value
2481
+ */
2482
+ export declare function getGaugeValue(name: string, labels?: Record<string, string>): number | undefined;
2483
+
2484
+ /**
2485
+ * Get health status
2486
+ */
2487
+ export declare function getHealthStatus(): {
2488
+ healthy: boolean;
2489
+ checks: HealthStatus[];
2490
+ timestamp: number;
2491
+ };
2492
+
2493
+ /**
2494
+ * Get histogram statistics
2495
+ */
2496
+ export declare function getHistogramStats(name: string, labels?: Record<string, string>): {
2497
+ count: number;
2498
+ min: number;
2499
+ max: number;
2500
+ mean: number;
2501
+ p50: number;
2502
+ p95: number;
2503
+ p99: number;
2504
+ } | undefined;
2505
+
866
2506
  /**
867
2507
  * Get current locale
868
2508
  */
@@ -873,6 +2513,65 @@ export declare function getLocale(): string;
873
2513
  */
874
2514
  export declare function getLocaleDisplayName(locale: string, displayLocale?: string): string;
875
2515
 
2516
+ /**
2517
+ * Get memory cleanup manager
2518
+ */
2519
+ export declare function getMemoryCleanupManager(): MemoryCleanupManager | null;
2520
+
2521
+ /**
2522
+ * Get memory statistics
2523
+ */
2524
+ export declare function getMemoryStats(): {
2525
+ observerCount: number;
2526
+ maxObservers: number;
2527
+ warningCount: number;
2528
+ usedPercentage: number;
2529
+ };
2530
+
2531
+ /**
2532
+ * Get metrics
2533
+ */
2534
+ export declare function getMetrics(filter?: {
2535
+ name?: string;
2536
+ type?: MetricType;
2537
+ since?: number;
2538
+ }): Metric[];
2539
+
2540
+ /**
2541
+ * Get migration rules for a specific source
2542
+ */
2543
+ export declare function getMigrationRules(source: MigrationSource): MigrationRule[];
2544
+
2545
+ /**
2546
+ * Get migration timeline
2547
+ */
2548
+ export declare function getMigrationTimeline(): Array<{
2549
+ version: string;
2550
+ changes: BreakingChangeDefinition[];
2551
+ milestone: 'deprecated' | 'removed';
2552
+ }>;
2553
+
2554
+ /**
2555
+ * Get required polyfills that are not loaded
2556
+ */
2557
+ export declare function getMissingPolyfills(): string[];
2558
+
2559
+ /**
2560
+ * Get current configuration
2561
+ */
2562
+ export declare function getMonitoringConfig(): MonitoringConfig;
2563
+
2564
+ /**
2565
+ * Get monitoring statistics
2566
+ */
2567
+ export declare function getMonitoringStats(): {
2568
+ metricsCount: number;
2569
+ alertsCount: number;
2570
+ activeAlerts: number;
2571
+ healthChecksCount: number;
2572
+ healthyChecks: number;
2573
+ };
2574
+
876
2575
  /**
877
2576
  * Get most frequently called directives
878
2577
  */
@@ -883,11 +2582,21 @@ export declare function getMostFrequentDirectives(limit?: number): DirectivePerf
883
2582
  */
884
2583
  export declare function getNumberFormat(region?: string): NumberFormatOptions;
885
2584
 
2585
+ /**
2586
+ * Get observer count
2587
+ */
2588
+ export declare function getObserverCount(): number;
2589
+
886
2590
  /**
887
2591
  * Get all performance metrics
888
2592
  */
889
2593
  export declare function getPerformanceMetrics(): PerformanceMetric[];
890
2594
 
2595
+ /**
2596
+ * Get current performance config
2597
+ */
2598
+ export declare function getPerformanceOptimizationConfig(): PerformanceOptimizationConfig;
2599
+
891
2600
  /**
892
2601
  * Get performance report for all directives
893
2602
  */
@@ -898,6 +2607,11 @@ export declare function getPerformanceReport(): DirectivePerformance[];
898
2607
  */
899
2608
  export declare function getPermissionConfig(): PermissionConfig | null;
900
2609
 
2610
+ /**
2611
+ * Get global permission manager
2612
+ */
2613
+ export declare function getPermissionManager(): EnterprisePermissionManager | null;
2614
+
901
2615
  /**
902
2616
  * Get or create the global plugin manager
903
2617
  */
@@ -908,6 +2622,14 @@ export declare function getPluginManager(config?: PluginConfig): PluginManager;
908
2622
  */
909
2623
  export declare function getPluginRegistry(registryUrl?: string): PluginRegistry;
910
2624
 
2625
+ /**
2626
+ * Get polyfill status
2627
+ */
2628
+ export declare function getPolyfillStatus(): Record<string, {
2629
+ loaded: boolean;
2630
+ required: boolean;
2631
+ }>;
2632
+
911
2633
  /**
912
2634
  * Get slowest directives
913
2635
  */
@@ -923,11 +2645,57 @@ export declare function getSupportedRegions(): string[];
923
2645
  */
924
2646
  export declare function getTimezoneInfo(): TimezoneInfo;
925
2647
 
2648
+ /**
2649
+ * Get unsupported features list
2650
+ */
2651
+ export declare function getUnsupportedFeatures(): (keyof BrowserFeatures)[];
2652
+
926
2653
  /**
927
2654
  * Get current Vue version
928
2655
  */
929
2656
  export declare function getVueVersion(): VueVersion;
930
2657
 
2658
+ /**
2659
+ * Get warned changes
2660
+ */
2661
+ export declare function getWarnedChanges(): string[];
2662
+
2663
+ /**
2664
+ * Handle SSR unsupported operation
2665
+ */
2666
+ export declare function handleSSRUnsupported(operation: string, directive?: string): EdgeCaseResult<undefined>;
2667
+
2668
+ /**
2669
+ * Handle touch conflict (for mobile)
2670
+ */
2671
+ export declare function handleTouchConflict(element: Element, event: TouchEvent, directive?: string): boolean;
2672
+
2673
+ /**
2674
+ * Check permission using global manager
2675
+ */
2676
+ export declare function hasPermission(permission: string, context?: Record<string, any>): Promise<boolean>;
2677
+
2678
+ /**
2679
+ * Check permission synchronously
2680
+ */
2681
+ export declare function hasPermissionSync(permission: string, context?: Record<string, any>): boolean;
2682
+
2683
+ export declare interface HealthCheck {
2684
+ name: string;
2685
+ check: () => Promise<boolean> | boolean;
2686
+ interval: number;
2687
+ timeout: number;
2688
+ enabled: boolean;
2689
+ }
2690
+
2691
+ export declare interface HealthStatus {
2692
+ name: string;
2693
+ healthy: boolean;
2694
+ lastCheck: number;
2695
+ error?: string;
2696
+ latency: number;
2697
+ }
2698
+
931
2699
  /**
932
2700
  * Hotkey definition
933
2701
  */
@@ -995,16 +2763,56 @@ export declare interface I18nOptions {
995
2763
  messages: Record<string, I18nMessages>;
996
2764
  }
997
2765
 
2766
+ /**
2767
+ * Import configuration
2768
+ */
2769
+ export declare function importConfig(data: string, format?: 'json' | 'yaml' | 'env', merge?: boolean): Promise<void>;
2770
+
2771
+ /**
2772
+ * Increment counter
2773
+ */
2774
+ export declare function incrementCounter(name: string, labels?: Record<string, string>, value?: number): void;
2775
+
998
2776
  /**
999
2777
  * Show an info message
1000
2778
  */
1001
2779
  export declare function info(message: string, params?: Record<string, any>): void;
1002
2780
 
2781
+ /**
2782
+ * Initialize configuration center
2783
+ */
2784
+ export declare function initConfigCenter(): Promise<void>;
2785
+
2786
+ /**
2787
+ * Initialize first screen optimizer
2788
+ */
2789
+ export declare function initFirstScreenOptimizer(): void;
2790
+
2791
+ /**
2792
+ * CSP-safe script injection
2793
+ */
2794
+ export declare function injectScriptCSP(src: string, options?: CSPConfig): HTMLScriptElement | null;
2795
+
2796
+ /**
2797
+ * CSP-safe style injection
2798
+ */
2799
+ export declare function injectStylesCSP(css: string, options?: CSPConfig): HTMLStyleElement | HTMLLinkElement | null;
2800
+
2801
+ /**
2802
+ * Inline critical CSS
2803
+ */
2804
+ export declare function inlineCriticalCSS(css: string): void;
2805
+
1003
2806
  /**
1004
2807
  * Intersect event handler
1005
2808
  */
1006
2809
  export declare type IntersectHandler = (entry: IntersectionObserverEntry, observer: IntersectionObserver) => void;
1007
2810
 
2811
+ /**
2812
+ * Check if an API is affected by breaking changes
2813
+ */
2814
+ export declare function isAPIAffected(apiName: string, version?: string): boolean;
2815
+
1008
2816
  /**
1009
2817
  * Check if value is an array
1010
2818
  */
@@ -1020,21 +2828,51 @@ export declare function isBoolean(value: unknown): value is boolean;
1020
2828
  */
1021
2829
  export declare const isBrowser: () => boolean;
1022
2830
 
2831
+ /**
2832
+ * Check if a browser version is supported
2833
+ */
2834
+ export declare function isBrowserSupported(browserName: string, version: number): boolean;
2835
+
1023
2836
  /**
1024
2837
  * Check if DevTools is available
1025
2838
  */
1026
2839
  export declare function isDevtoolsAvailable(): boolean;
1027
2840
 
2841
+ /**
2842
+ * Check if DOM is ready
2843
+ */
2844
+ export declare function isDOMReady(): boolean;
2845
+
1028
2846
  /**
1029
2847
  * Check if value is empty
1030
2848
  */
1031
2849
  export declare function isEmpty(value: unknown): boolean;
1032
2850
 
2851
+ /**
2852
+ * Check if a feature is supported
2853
+ */
2854
+ export declare function isFeatureSupported(feature: keyof BrowserFeatures): boolean;
2855
+
2856
+ /**
2857
+ * Check if current browser is fully supported
2858
+ */
2859
+ export declare function isFullySupported(): boolean;
2860
+
1033
2861
  /**
1034
2862
  * Check if value is a function
1035
2863
  */
1036
2864
  export declare function isFunction(value: unknown): value is (...args: any[]) => any;
1037
2865
 
2866
+ /**
2867
+ * Check if element is in viewport (with fallback)
2868
+ */
2869
+ export declare function isInViewport(element: Element): boolean;
2870
+
2871
+ /**
2872
+ * Check if device is mobile
2873
+ */
2874
+ export declare function isMobileDevice(): boolean;
2875
+
1038
2876
  /**
1039
2877
  * Check if value is a number
1040
2878
  */
@@ -1045,11 +2883,21 @@ export declare function isNumber(value: unknown): value is number;
1045
2883
  */
1046
2884
  export declare function isObject(value: unknown): value is Record<string, any>;
1047
2885
 
2886
+ /**
2887
+ * Check if page is loaded
2888
+ */
2889
+ export declare function isPageLoaded(): boolean;
2890
+
1048
2891
  /**
1049
2892
  * Check if performance monitoring is enabled
1050
2893
  */
1051
2894
  export declare function isPerformanceEnabled(): boolean;
1052
2895
 
2896
+ /**
2897
+ * Check if a polyfill is loaded
2898
+ */
2899
+ export declare function isPolyfillLoaded(name: string): boolean;
2900
+
1053
2901
  /**
1054
2902
  * Check if value is a Promise
1055
2903
  */
@@ -1061,9 +2909,34 @@ export declare function isPromise<T = any>(value: unknown): value is Promise<T>;
1061
2909
  export declare const isSSR: () => boolean;
1062
2910
 
1063
2911
  /**
1064
- * Check if value is a string
2912
+ * Check if running in SSR environment
2913
+ */
2914
+ export declare function isSSREnvironment(): boolean;
2915
+
2916
+ /**
2917
+ * Check if value is a string
2918
+ */
2919
+ export declare function isString(value: unknown): value is string;
2920
+
2921
+ /**
2922
+ * Check if device supports touch
2923
+ */
2924
+ export declare function isTouchDevice(): boolean;
2925
+
2926
+ /**
2927
+ * Check if running in a known unsupported browser
2928
+ */
2929
+ export declare function isUnsupportedBrowser(): boolean;
2930
+
2931
+ /**
2932
+ * Check if URL is safe
2933
+ */
2934
+ export declare function isUrlSafe(url: string, allowedProtocols?: string[]): boolean;
2935
+
2936
+ /**
2937
+ * Check if a version is affected by any breaking changes
1065
2938
  */
1066
- export declare function isString(value: unknown): value is string;
2939
+ export declare function isVersionAffected(version: string): boolean;
1067
2940
 
1068
2941
  /**
1069
2942
  * Check if Vue 2 (includes 2.7)
@@ -1087,11 +2960,87 @@ export declare type ItemSizeFunction = (index: number) => number;
1087
2960
 
1088
2961
  export declare const jaJP: I18nMessages;
1089
2962
 
2963
+ /**
2964
+ * Keyboard navigation configuration
2965
+ */
2966
+ export declare interface KeyboardNavigationConfig {
2967
+ /** Keys for next item */
2968
+ nextKeys?: string[];
2969
+ /** Keys for previous item */
2970
+ prevKeys?: string[];
2971
+ /** Keys for selection */
2972
+ selectKeys?: string[];
2973
+ /** Keys for closing */
2974
+ closeKeys?: string[];
2975
+ /** Keys for home */
2976
+ homeKeys?: string[];
2977
+ /** Keys for end */
2978
+ endKeys?: string[];
2979
+ /** Focus trap enabled */
2980
+ focusTrap?: boolean;
2981
+ /** Whether element should receive initial focus */
2982
+ initialFocus?: string | HTMLElement | (() => HTMLElement | null);
2983
+ /** Return focus on close */
2984
+ returnFocus?: boolean;
2985
+ /** Navigation mode */
2986
+ mode?: 'linear' | 'grid' | 'tree';
2987
+ /** Loop navigation */
2988
+ loop?: boolean;
2989
+ /** Roving tabindex enabled */
2990
+ rovingTabindex?: boolean;
2991
+ }
2992
+
2993
+ /**
2994
+ * Lazy initialization helper to defer expensive operations
2995
+ */
2996
+ export declare class LazyInitializer<T> {
2997
+ private value;
2998
+ private initFunction;
2999
+ private initialized;
3000
+ private pendingPromise;
3001
+ constructor(initFunction: () => T | Promise<T>);
3002
+ /**
3003
+ * Get value, initializing if needed
3004
+ */
3005
+ get(): T;
3006
+ /**
3007
+ * Get value asynchronously
3008
+ */
3009
+ getAsync(): Promise<T>;
3010
+ /**
3011
+ * Check if initialized
3012
+ */
3013
+ isInitialized(): boolean;
3014
+ /**
3015
+ * Reset and clear value
3016
+ */
3017
+ reset(): void;
3018
+ }
3019
+
1090
3020
  /**
1091
3021
  * Lazy loading state
1092
3022
  */
1093
3023
  export declare type LazyState = 'pending' | 'loading' | 'loaded' | 'error';
1094
3024
 
3025
+ /**
3026
+ * Legacy API detection result
3027
+ */
3028
+ export declare interface LegacyUsageReport {
3029
+ deprecatedAPIs: DeprecatedAPI[];
3030
+ breakingChanges: BreakingChange[];
3031
+ warnings: MigrationWarning[];
3032
+ suggestions: MigrationSuggestion[];
3033
+ totalIssues: number;
3034
+ severity: 'low' | 'medium' | 'high';
3035
+ }
3036
+
3037
+ export declare interface LoadPriority {
3038
+ critical: string[];
3039
+ high: string[];
3040
+ medium: string[];
3041
+ low: string[];
3042
+ }
3043
+
1095
3044
  /**
1096
3045
  * Locale info
1097
3046
  */
@@ -1110,6 +3059,16 @@ export declare interface LocaleInfo {
1110
3059
  timezone: string;
1111
3060
  }
1112
3061
 
3062
+ /**
3063
+ * Core logging function
3064
+ */
3065
+ export declare function logAudit(level: AuditLogLevel, type: AuditEventType, message: string, details?: Record<string, unknown>, context?: Partial<AuditContext>, duration?: number): AuditLogEntry | null;
3066
+
3067
+ /**
3068
+ * Log directive operation
3069
+ */
3070
+ export declare function logDirectiveOperation(operation: 'mount' | 'update' | 'unmount', directive: string, details?: Record<string, unknown>, context?: Partial<AuditContext>, duration?: number): void;
3071
+
1113
3072
  /**
1114
3073
  * Unified warning/error system for Directix directives
1115
3074
  *
@@ -1121,6 +3080,21 @@ export declare interface LocaleInfo {
1121
3080
  */
1122
3081
  declare type LogLevel = 'debug' | 'info' | 'warn' | 'error';
1123
3082
 
3083
+ /**
3084
+ * Log performance issue
3085
+ */
3086
+ export declare function logPerformanceIssue(operation: string, duration: number, threshold: number, context?: Partial<AuditContext>): void;
3087
+
3088
+ /**
3089
+ * Log permission check
3090
+ */
3091
+ export declare function logPermissionCheck(permission: string, granted: boolean, source: string, context?: Partial<AuditContext>): void;
3092
+
3093
+ /**
3094
+ * Log security violation
3095
+ */
3096
+ export declare function logSecurityViolation(violation: string, details: Record<string, unknown>, context?: Partial<AuditContext>): void;
3097
+
1124
3098
  /**
1125
3099
  * Lottie animation state
1126
3100
  */
@@ -1131,6 +3105,23 @@ export declare type LottieAnimationState = 'playing' | 'paused' | 'stopped';
1131
3105
  */
1132
3106
  export declare function lowercaseText(text: string, firstOnly?: boolean): string;
1133
3107
 
3108
+ /**
3109
+ * Mark a polyfill as loaded
3110
+ */
3111
+ export declare function markPolyfillLoaded(name: string): void;
3112
+
3113
+ /**
3114
+ * Browser Compatibility Test Matrix for Directix
3115
+ * Defines supported browsers, versions, and test configurations
3116
+ */
3117
+ export declare interface MatrixBrowserTarget {
3118
+ name: string;
3119
+ minVersion: number;
3120
+ currentVersion: number;
3121
+ engine: 'blink' | 'gecko' | 'webkit';
3122
+ features: FeatureSupport[];
3123
+ }
3124
+
1134
3125
  /**
1135
3126
  * Performance measurement helper
1136
3127
  * Use this to wrap directive lifecycle methods
@@ -1142,11 +3133,186 @@ export declare function measurePerformance<T>(directive: string, phase: 'mount'
1142
3133
  */
1143
3134
  export declare function measurePerformanceAsync<T>(directive: string, phase: 'mount' | 'update' | 'unmount', fn: () => Promise<T>, metadata?: Record<string, any>): Promise<T>;
1144
3135
 
3136
+ /**
3137
+ * Check if current browser meets minimum requirements
3138
+ */
3139
+ export declare function meetsMinimumRequirements(): boolean;
3140
+
3141
+ /**
3142
+ * Manager for periodic memory cleanup
3143
+ */
3144
+ export declare class MemoryCleanupManager {
3145
+ private cleanupCallbacks;
3146
+ private intervalId;
3147
+ private cleanupInterval;
3148
+ constructor(cleanupInterval?: number);
3149
+ /**
3150
+ * Register cleanup callback
3151
+ */
3152
+ register(callback: () => void): void;
3153
+ /**
3154
+ * Unregister cleanup callback
3155
+ */
3156
+ unregister(callback: () => void): void;
3157
+ /**
3158
+ * Start periodic cleanup
3159
+ */
3160
+ start(): void;
3161
+ /**
3162
+ * Stop periodic cleanup
3163
+ */
3164
+ stop(): void;
3165
+ /**
3166
+ * Run cleanup manually
3167
+ */
3168
+ runCleanup(): void;
3169
+ /**
3170
+ * Get registered callbacks count
3171
+ */
3172
+ size(): number;
3173
+ }
3174
+
3175
+ export declare interface Metric {
3176
+ name: string;
3177
+ type: MetricType;
3178
+ value: number;
3179
+ labels: Record<string, string>;
3180
+ timestamp: number;
3181
+ }
3182
+
3183
+ export declare type MetricType = 'counter' | 'gauge' | 'histogram' | 'summary';
3184
+
3185
+ /**
3186
+ * Apply migration rules to code
3187
+ */
3188
+ export declare function migrate(code: string, options: MigrationOptions): MigrationResult;
3189
+
3190
+ /**
3191
+ * Migration options
3192
+ */
3193
+ export declare interface MigrationOptions {
3194
+ source: MigrationSource;
3195
+ rules: MigrationRule[];
3196
+ dryRun: boolean;
3197
+ verbose: boolean;
3198
+ preserveComments: boolean;
3199
+ formatOutput: boolean;
3200
+ }
3201
+
3202
+ /**
3203
+ * Migration result
3204
+ */
3205
+ export declare interface MigrationResult {
3206
+ code: string;
3207
+ changes: CodeChange[];
3208
+ warnings: string[];
3209
+ stats: MigrationStats;
3210
+ }
3211
+
3212
+ /**
3213
+ * Migration rule
3214
+ */
3215
+ export declare interface MigrationRule {
3216
+ pattern: RegExp | string;
3217
+ replacement: string;
3218
+ description: string;
3219
+ autoFixable: boolean;
3220
+ }
3221
+
3222
+ /**
3223
+ * Migration helper module for Directix
3224
+ * Provides tools for detecting and migrating from older versions or other libraries
3225
+ */
3226
+ /**
3227
+ * Migration source type
3228
+ */
3229
+ export declare type MigrationSource = 'directix-v1' | 'vueuse' | 'v-directives' | 'custom';
3230
+
3231
+ /**
3232
+ * Migration statistics
3233
+ */
3234
+ export declare interface MigrationStats {
3235
+ filesProcessed: number;
3236
+ filesChanged: number;
3237
+ totalChanges: number;
3238
+ autoFixes: number;
3239
+ manualFixes: number;
3240
+ warnings: number;
3241
+ errors: number;
3242
+ }
3243
+
3244
+ /**
3245
+ * Migration suggestion
3246
+ */
3247
+ export declare interface MigrationSuggestion {
3248
+ original: string;
3249
+ suggested: string;
3250
+ location: string;
3251
+ line: number;
3252
+ autoFixable: boolean;
3253
+ }
3254
+
3255
+ /**
3256
+ * Migration warning
3257
+ */
3258
+ export declare interface MigrationWarning {
3259
+ message: string;
3260
+ location: string;
3261
+ line: number;
3262
+ severity: 'info' | 'warning' | 'error';
3263
+ }
3264
+
3265
+ export declare const MOBILE_DEVICES: MobileDevice[];
3266
+
3267
+ export declare interface MobileDevice {
3268
+ name: string;
3269
+ os: string;
3270
+ osMinVersion: string;
3271
+ browser: string;
3272
+ browserMinVersion: string;
3273
+ }
3274
+
3275
+ export declare interface MonitoringConfig {
3276
+ enabled: boolean;
3277
+ metrics: {
3278
+ enabled: boolean;
3279
+ prefix: string;
3280
+ labels: Record<string, string>;
3281
+ flushInterval: number;
3282
+ maxBatchSize: number;
3283
+ };
3284
+ alerts: {
3285
+ enabled: boolean;
3286
+ channels: AlertChannel[];
3287
+ rules: AlertRule[];
3288
+ cooldown: number;
3289
+ aggregation: boolean;
3290
+ aggregationWindow: number;
3291
+ };
3292
+ health: {
3293
+ enabled: boolean;
3294
+ endpoint: string;
3295
+ checks: HealthCheck[];
3296
+ interval: number;
3297
+ };
3298
+ integrations: {
3299
+ prometheus?: PrometheusConfig;
3300
+ datadog?: DatadogConfig;
3301
+ sentry?: SentryConfig;
3302
+ custom?: CustomIntegration;
3303
+ };
3304
+ }
3305
+
1145
3306
  /**
1146
3307
  * Mutation change handler
1147
3308
  */
1148
3309
  export declare type MutationHandler = (mutations: MutationRecord[], observer: MutationObserver) => void;
1149
3310
 
3311
+ /**
3312
+ * Check if code needs migration
3313
+ */
3314
+ export declare function needsMigration(code: string, source?: MigrationSource): boolean;
3315
+
1150
3316
  /**
1151
3317
  * Number format options per region
1152
3318
  */
@@ -1163,6 +3329,72 @@ export declare interface NumberFormatOptions {
1163
3329
  currencyDecimals: number;
1164
3330
  }
1165
3331
 
3332
+ /**
3333
+ * Object pool for reusing objects (memory optimization)
3334
+ */
3335
+ export declare class ObjectPool<T> {
3336
+ private pool;
3337
+ private factory;
3338
+ private reset;
3339
+ private maxSize;
3340
+ constructor(factory: () => T, reset: (item: T) => void, maxSize?: number);
3341
+ acquire(): T;
3342
+ release(item: T): void;
3343
+ get size(): number;
3344
+ clear(): void;
3345
+ }
3346
+
3347
+ export declare interface ObjectPoolOptions {
3348
+ initialSize: number;
3349
+ maxSize: number;
3350
+ resetFunction?: (obj: any) => void;
3351
+ createFunction: () => any;
3352
+ }
3353
+
3354
+ /**
3355
+ * Execute on DOM ready
3356
+ */
3357
+ export declare function onDOMReady(callback: () => void): void;
3358
+
3359
+ /**
3360
+ * Execute on page load
3361
+ */
3362
+ export declare function onPageLoad(callback: () => void): void;
3363
+
3364
+ /**
3365
+ * Vue 3 Optimization Utilities for Directix
3366
+ *
3367
+ * These utilities leverage Vue 3 specific APIs for better performance
3368
+ * when running in Vue 3 environments.
3369
+ */
3370
+ /**
3371
+ * Options for optimized lazy loading
3372
+ */
3373
+ export declare interface OptimizedLazyOptions {
3374
+ /** Threshold for intersection observer */
3375
+ threshold?: number | number[];
3376
+ /** Root margin for intersection observer */
3377
+ rootMargin?: string;
3378
+ /** Whether to disconnect after first load */
3379
+ once?: boolean;
3380
+ /** Callback when element becomes visible */
3381
+ onLoad?: (entry: IntersectionObserverEntry) => void;
3382
+ }
3383
+
3384
+ /**
3385
+ * State for optimized lazy loading
3386
+ */
3387
+ export declare interface OptimizedLazyState {
3388
+ /** Whether loading is in progress */
3389
+ loading: boolean;
3390
+ /** Whether resource is loaded */
3391
+ loaded: boolean;
3392
+ /** Error if loading failed */
3393
+ error: Error | null;
3394
+ /** Whether element is visible */
3395
+ isVisible: boolean;
3396
+ }
3397
+
1166
3398
  /**
1167
3399
  * Pan gesture event data
1168
3400
  */
@@ -1253,6 +3485,61 @@ export declare interface PerformanceMetric {
1253
3485
  metadata?: Record<string, any>;
1254
3486
  }
1255
3487
 
3488
+ /**
3489
+ * Runtime Performance Optimization Module for Directix
3490
+ * Provides utilities for optimizing runtime performance
3491
+ */
3492
+ export declare interface PerformanceOptimizationConfig {
3493
+ eventDelegation: {
3494
+ enabled: boolean;
3495
+ globalListeners: boolean;
3496
+ batchProcessing: boolean;
3497
+ batchSize: number;
3498
+ };
3499
+ virtualization: {
3500
+ enabled: boolean;
3501
+ scrollThreshold: number;
3502
+ listItemHeight: number | 'auto';
3503
+ bufferSize: number;
3504
+ };
3505
+ caching: {
3506
+ computedResults: boolean;
3507
+ domQueries: boolean;
3508
+ styleCalculations: boolean;
3509
+ maxCacheSize: number;
3510
+ };
3511
+ lazyInit: {
3512
+ directives: boolean;
3513
+ events: boolean;
3514
+ observers: boolean;
3515
+ debounceMs: number;
3516
+ };
3517
+ memory: {
3518
+ objectPool: boolean;
3519
+ weakReferences: boolean;
3520
+ cleanupOnUnmount: boolean;
3521
+ periodicCleanup: number | false;
3522
+ };
3523
+ }
3524
+
3525
+ /**
3526
+ * Performance snapshot
3527
+ */
3528
+ export declare interface PerformanceSnapshot {
3529
+ memory?: {
3530
+ usedJSHeapSize: number;
3531
+ totalJSHeapSize: number;
3532
+ jsHeapSizeLimit: number;
3533
+ };
3534
+ timing: {
3535
+ domContentLoaded: number;
3536
+ loadComplete: number;
3537
+ domInteractive: number;
3538
+ };
3539
+ entries: PerformanceEntry[];
3540
+ timestamp: number;
3541
+ }
3542
+
1256
3543
  /**
1257
3544
  * Performance statistics
1258
3545
  */
@@ -1273,6 +3560,33 @@ export declare interface PerformanceStats {
1273
3560
  p99: number;
1274
3561
  }
1275
3562
 
3563
+ /**
3564
+ * Permission audit log entry
3565
+ */
3566
+ export declare interface PermissionAuditLogEntry {
3567
+ id: string;
3568
+ timestamp: number;
3569
+ permission: string;
3570
+ result: 'granted' | 'denied';
3571
+ source: string;
3572
+ context?: Record<string, any>;
3573
+ reason?: string;
3574
+ userAgent?: string;
3575
+ url?: string;
3576
+ }
3577
+
3578
+ /**
3579
+ * Permission check result
3580
+ */
3581
+ export declare interface PermissionCheckResult {
3582
+ granted: boolean;
3583
+ permission: string;
3584
+ source: string;
3585
+ timestamp: number;
3586
+ context?: Record<string, any>;
3587
+ reason?: string;
3588
+ }
3589
+
1276
3590
  /**
1277
3591
  * Permission configuration
1278
3592
  */
@@ -1290,6 +3604,35 @@ declare interface PermissionConfig {
1290
3604
  */
1291
3605
  export declare type PermissionMode = 'some' | 'every';
1292
3606
 
3607
+ /**
3608
+ * Permission source configuration
3609
+ */
3610
+ export declare interface PermissionSourceConfig {
3611
+ type: PermissionSourceType;
3612
+ permissions?: string[];
3613
+ api?: {
3614
+ url: string;
3615
+ method: 'GET' | 'POST';
3616
+ headers?: Record<string, string>;
3617
+ transform?: (response: any) => string[];
3618
+ refreshInterval?: number;
3619
+ };
3620
+ storage?: {
3621
+ key: string;
3622
+ parse?: (value: string) => string[];
3623
+ };
3624
+ custom?: () => string[] | Promise<string[]>;
3625
+ }
3626
+
3627
+ /**
3628
+ * Enterprise Permission Management Module for Directix
3629
+ * Provides advanced permission management with multi-source support, role inheritance, and audit logging
3630
+ */
3631
+ /**
3632
+ * Permission source type
3633
+ */
3634
+ export declare type PermissionSourceType = 'static' | 'api' | 'localStorage' | 'sessionStorage' | 'custom';
3635
+
1293
3636
  /**
1294
3637
  * Pinch gesture event data
1295
3638
  */
@@ -1304,6 +3647,11 @@ export declare interface PinchEvent {
1304
3647
  isFinal: boolean;
1305
3648
  }
1306
3649
 
3650
+ /**
3651
+ * Platform type
3652
+ */
3653
+ export declare type PlatformType = 'desktop' | 'mobile' | 'tablet';
3654
+
1307
3655
  /**
1308
3656
  * Plugin category
1309
3657
  */
@@ -1548,6 +3896,11 @@ export declare interface PluginRegistryEntry {
1548
3896
  license?: string;
1549
3897
  }
1550
3898
 
3899
+ /**
3900
+ * Polyfill strategy
3901
+ */
3902
+ export declare type PolyfillStrategy = 'auto' | 'manual' | 'none';
3903
+
1551
3904
  /**
1552
3905
  * Position type
1553
3906
  */
@@ -1556,6 +3909,23 @@ export declare interface Position {
1556
3909
  y: number;
1557
3910
  }
1558
3911
 
3912
+ /**
3913
+ * Prefetch module
3914
+ */
3915
+ export declare function prefetchModule(url: string): void;
3916
+
3917
+ /**
3918
+ * Prefetch visible elements
3919
+ */
3920
+ export declare function prefetchVisibleElements(selector: string, getUrl: (element: Element) => string, options?: {
3921
+ rootMargin?: string;
3922
+ }): void;
3923
+
3924
+ /**
3925
+ * Preload module
3926
+ */
3927
+ export declare function preloadModule(url: string): void;
3928
+
1559
3929
  /**
1560
3930
  * Print before callback
1561
3931
  */
@@ -1566,6 +3936,11 @@ export declare type PrintBeforeCallback = () => boolean | void;
1566
3936
  */
1567
3937
  export declare type PrintCompleteCallback = () => void;
1568
3938
 
3939
+ declare interface PrometheusConfig {
3940
+ enabled: boolean;
3941
+ endpoint: string;
3942
+ }
3943
+
1569
3944
  /**
1570
3945
  * Pull refresh handler
1571
3946
  */
@@ -1576,6 +3951,43 @@ export declare type PullRefreshHandler = () => Promise<void> | void;
1576
3951
  */
1577
3952
  export declare type PullRefreshState = 'idle' | 'pulling' | 'ready' | 'loading' | 'success' | 'error';
1578
3953
 
3954
+ /**
3955
+ * PWA configuration
3956
+ */
3957
+ export declare interface PWAConfig {
3958
+ /** Service worker configuration */
3959
+ serviceWorker?: {
3960
+ /** Enable service worker */
3961
+ enabled?: boolean;
3962
+ /** Service worker scope */
3963
+ scope?: string;
3964
+ /** Update strategy */
3965
+ updateStrategy?: 'auto' | 'manual';
3966
+ /** Registration path */
3967
+ path?: string;
3968
+ };
3969
+ /** Cache configuration */
3970
+ cache?: {
3971
+ /** Static resource strategy */
3972
+ static?: 'cache-first' | 'network-first' | 'stale-while-revalidate';
3973
+ /** Dynamic resource strategy */
3974
+ dynamic?: 'network-first' | 'cache-first';
3975
+ /** Maximum age in seconds */
3976
+ maxAge?: number;
3977
+ /** Maximum cache entries */
3978
+ maxSize?: number;
3979
+ };
3980
+ /** Offline support */
3981
+ offline?: {
3982
+ /** Enable offline support */
3983
+ enabled?: boolean;
3984
+ /** Fallback page */
3985
+ fallbackPage?: string;
3986
+ /** Show offline indicator */
3987
+ offlineIndicator?: boolean;
3988
+ };
3989
+ }
3990
+
1579
3991
  /**
1580
3992
  * Quick print function
1581
3993
  *
@@ -1596,6 +4008,47 @@ export declare type PullRefreshState = 'idle' | 'pulling' | 'ready' | 'loading'
1596
4008
  */
1597
4009
  export declare function quickPrint(target: string | HTMLElement, options?: UsePrintOptions): Promise<void>;
1598
4010
 
4011
+ /**
4012
+ * Record histogram value
4013
+ */
4014
+ export declare function recordHistogram(name: string, value: number, labels?: Record<string, string>): void;
4015
+
4016
+ /**
4017
+ * Register a polyfill
4018
+ */
4019
+ export declare function registerPolyfill(name: string, required?: boolean): void;
4020
+
4021
+ /**
4022
+ * Remove health check
4023
+ */
4024
+ export declare function removeHealthCheck(name: string): void;
4025
+
4026
+ /**
4027
+ * Request idle callback with fallback
4028
+ */
4029
+ declare function requestIdleCallback_2(callback: IdleRequestCallback, options?: IdleRequestOptions): number;
4030
+ export { requestIdleCallback_2 as requestIdleCallback }
4031
+
4032
+ /**
4033
+ * Reset browser info cache (useful for testing)
4034
+ */
4035
+ export declare function resetBrowserInfo(): void;
4036
+
4037
+ /**
4038
+ * Reset configuration center
4039
+ */
4040
+ export declare function resetConfigCenter(): void;
4041
+
4042
+ /**
4043
+ * Reset monitoring
4044
+ */
4045
+ export declare function resetMonitoring(): void;
4046
+
4047
+ /**
4048
+ * Reset performance optimizer
4049
+ */
4050
+ export declare function resetPerformanceOptimizer(): void;
4051
+
1599
4052
  /**
1600
4053
  * Reset the global plugin manager
1601
4054
  */
@@ -1612,16 +4065,37 @@ export declare function resetPluginRegistry(): void;
1612
4065
  export declare function resetVueVersion(): void;
1613
4066
 
1614
4067
  /**
1615
- * Resize information
4068
+ * Resize information
4069
+ */
4070
+ export declare interface ResizeInfo {
4071
+ /** New width */
4072
+ width: number;
4073
+ /** New height */
4074
+ height: number;
4075
+ /** Content rect */
4076
+ contentRect: DOMRectReadOnly;
4077
+ }
4078
+
4079
+ /**
4080
+ * Resolve alert
4081
+ */
4082
+ export declare function resolveAlert(alertId: string): boolean;
4083
+
4084
+ /**
4085
+ * Role definition
4086
+ */
4087
+ export declare interface RoleDefinition {
4088
+ name: string;
4089
+ permissions: string[];
4090
+ inherits?: string[];
4091
+ description?: string;
4092
+ metadata?: Record<string, any>;
4093
+ }
4094
+
4095
+ /**
4096
+ * Rollback to snapshot
1616
4097
  */
1617
- export declare interface ResizeInfo {
1618
- /** New width */
1619
- width: number;
1620
- /** New height */
1621
- height: number;
1622
- /** Content rect */
1623
- contentRect: DOMRectReadOnly;
1624
- }
4098
+ export declare function rollbackConfig(version: string): boolean;
1625
4099
 
1626
4100
  /**
1627
4101
  * Rotate gesture event data
@@ -1637,6 +4111,67 @@ export declare interface RotateGestureEvent {
1637
4111
  isFinal: boolean;
1638
4112
  }
1639
4113
 
4114
+ /**
4115
+ * Run a single benchmark
4116
+ */
4117
+ export declare function runBenchmark(name: string, fn: BenchmarkFunction, config?: Partial<BenchmarkConfig>): Promise<BenchmarkResult>;
4118
+
4119
+ /**
4120
+ * Run benchmark suite
4121
+ */
4122
+ export declare function runBenchmarkSuite(suiteName: string, benchmarks: Array<{
4123
+ name: string;
4124
+ fn: BenchmarkFunction;
4125
+ }>, config?: Partial<BenchmarkConfig>): Promise<BenchmarkSuite>;
4126
+
4127
+ /**
4128
+ * Run manual cleanup
4129
+ */
4130
+ export declare function runMemoryCleanup(): void;
4131
+
4132
+ /**
4133
+ * Safe content handler for directives
4134
+ */
4135
+ export declare class SafeContentHandler {
4136
+ private config;
4137
+ constructor(config?: XSSProtectionConfig);
4138
+ /**
4139
+ * Sanitize and set HTML content
4140
+ */
4141
+ setHtml(element: HTMLElement, content: string): void;
4142
+ /**
4143
+ * Sanitize and set text content
4144
+ */
4145
+ setText(element: HTMLElement, content: string): void;
4146
+ /**
4147
+ * Set attribute with URL validation
4148
+ */
4149
+ setAttribute(element: HTMLElement, name: string, value: string): void;
4150
+ /**
4151
+ * Get sanitized HTML
4152
+ */
4153
+ getSanitizedHtml(content: string): string;
4154
+ }
4155
+
4156
+ /**
4157
+ * Safely query element with retry
4158
+ */
4159
+ export declare function safeQueryElement(selector: string, options?: {
4160
+ retryCount?: number;
4161
+ retryDelay?: number;
4162
+ parent?: Element | Document;
4163
+ }): Promise<Element | null>;
4164
+
4165
+ /**
4166
+ * Advanced HTML sanitizer
4167
+ */
4168
+ export declare function sanitizeHtml(html: string, config?: XSSProtectionConfig): string;
4169
+
4170
+ /**
4171
+ * Sanitize URL
4172
+ */
4173
+ export declare function sanitizeUrl(url: string, allowedProtocols?: string[]): string;
4174
+
1640
4175
  /**
1641
4176
  * Scroll direction
1642
4177
  */
@@ -1664,16 +4199,100 @@ export declare interface ScrollInfo {
1664
4199
  directionY: ScrollDirection;
1665
4200
  }
1666
4201
 
4202
+ /**
4203
+ * Security audit utilities
4204
+ */
4205
+ export declare const SecurityAudit: {
4206
+ /**
4207
+ * Scan for potential security issues in HTML
4208
+ */
4209
+ scanHtml(html: string): SecurityVulnerability[];
4210
+ /**
4211
+ * Check CSP configuration
4212
+ */
4213
+ checkCSP(): {
4214
+ policies: Record<string, string[]>;
4215
+ warnings: string[];
4216
+ recommendations: string[];
4217
+ };
4218
+ /**
4219
+ * Check for known dependency vulnerabilities (Node.js environment only)
4220
+ * Note: This is a client-side check that uses npm audit API when available.
4221
+ * For production use, run `npm audit` or `pnpm audit` in CI/CD.
4222
+ */
4223
+ checkDependencies(): Promise<DependencyVulnerability[]>;
4224
+ /**
4225
+ * Generate security report
4226
+ */
4227
+ generateReport(html?: string): SecurityReport;
4228
+ /**
4229
+ * Format security report
4230
+ */
4231
+ formatReport(report: SecurityReport, format?: "text" | "json" | "html"): string;
4232
+ };
4233
+
4234
+ /**
4235
+ * Security scan result
4236
+ */
4237
+ export declare interface SecurityReport {
4238
+ /** Found vulnerabilities */
4239
+ vulnerabilities: SecurityVulnerability[];
4240
+ /** Warnings */
4241
+ warnings: SecurityVulnerability[];
4242
+ /** Recommendations */
4243
+ recommendations: string[];
4244
+ /** Scan timestamp */
4245
+ timestamp: Date;
4246
+ }
4247
+
4248
+ /**
4249
+ * Security vulnerability
4250
+ */
4251
+ export declare interface SecurityVulnerability {
4252
+ /** Severity level */
4253
+ severity: 'critical' | 'high' | 'medium' | 'low';
4254
+ /** Issue type */
4255
+ type: string;
4256
+ /** Description */
4257
+ description: string;
4258
+ /** Location */
4259
+ location?: string;
4260
+ /** Remediation suggestion */
4261
+ remediation?: string;
4262
+ }
4263
+
4264
+ declare interface SentryConfig {
4265
+ enabled: boolean;
4266
+ dsn: string;
4267
+ environment?: string;
4268
+ release?: string;
4269
+ }
4270
+
1667
4271
  /**
1668
4272
  * Set nested property value by path
1669
4273
  */
1670
4274
  export declare function set(obj: Record<string, any>, path: string, value: any): void;
1671
4275
 
4276
+ /**
4277
+ * Set configuration value
4278
+ */
4279
+ export declare function setConfig(key: string, value: any, source?: string): void;
4280
+
4281
+ /**
4282
+ * Set gauge
4283
+ */
4284
+ export declare function setGauge(name: string, value: number, labels?: Record<string, string>): void;
4285
+
1672
4286
  /**
1673
4287
  * Set current locale
1674
4288
  */
1675
4289
  export declare function setLocale(locale: string): void;
1676
4290
 
4291
+ /**
4292
+ * Cleanup on page unload
4293
+ */
4294
+ export declare function setupCleanupOnUnload(cleanupFn: () => void): void;
4295
+
1677
4296
  /**
1678
4297
  * Set Vue version explicitly (for cases where auto-detection fails)
1679
4298
  */
@@ -1704,6 +4323,21 @@ export declare type SkeletonAnimation = 'wave' | 'pulse' | 'none';
1704
4323
  */
1705
4324
  export declare function startMeasure(directive: string, phase: 'mount' | 'update' | 'unmount'): string;
1706
4325
 
4326
+ /**
4327
+ * Stop cleanup timer
4328
+ */
4329
+ export declare function stopCleanupTimer(): void;
4330
+
4331
+ /**
4332
+ * Strip all HTML tags
4333
+ */
4334
+ export declare function stripHtml(html: string): string;
4335
+
4336
+ /**
4337
+ * Support level
4338
+ */
4339
+ export declare type SupportLevel = 'full' | 'partial' | 'none';
4340
+
1707
4341
  /**
1708
4342
  * Check if Clipboard API is supported
1709
4343
  */
@@ -1729,6 +4363,18 @@ export declare const supportsPassive: () => boolean;
1729
4363
  */
1730
4364
  export declare const supportsResizeObserver: () => boolean;
1731
4365
 
4366
+ /**
4367
+ * Suspense-ready async directive state
4368
+ */
4369
+ export declare interface SuspenseDirectiveState<T = any> {
4370
+ /** Loading state */
4371
+ loading: boolean;
4372
+ /** Error state */
4373
+ error: Error | null;
4374
+ /** Data */
4375
+ data: T | null;
4376
+ }
4377
+
1732
4378
  /**
1733
4379
  * Swipe direction
1734
4380
  */
@@ -1739,6 +4385,14 @@ export declare type SwipeDirection = 'left' | 'right' | 'up' | 'down';
1739
4385
  */
1740
4386
  export declare type SwipeHandler = (direction: SwipeDirection, event: Event) => void;
1741
4387
 
4388
+ /**
4389
+ * Sync configuration to remote
4390
+ */
4391
+ export declare function syncConfigToRemote(url: string, options?: {
4392
+ method?: 'POST' | 'PUT';
4393
+ headers?: Record<string, string>;
4394
+ }): Promise<boolean>;
4395
+
1742
4396
  /**
1743
4397
  * Translate a message key
1744
4398
  * @param key - Dot-notation key like 'directives.debounce.invalid_wait'
@@ -1746,6 +4400,26 @@ export declare type SwipeHandler = (direction: SwipeDirection, event: Event) =>
1746
4400
  */
1747
4401
  export declare function t(key: string, params?: Record<string, any>): string;
1748
4402
 
4403
+ /**
4404
+ * Take performance snapshot
4405
+ */
4406
+ export declare function takePerformanceSnapshot(): PerformanceSnapshot;
4407
+
4408
+ /**
4409
+ * Teleport content to target
4410
+ */
4411
+ export declare function teleportContent(content: HTMLElement, options: TeleportEnhanceOptions): () => void;
4412
+
4413
+ /**
4414
+ * Teleport enhancement options
4415
+ */
4416
+ export declare interface TeleportEnhanceOptions {
4417
+ /** Target selector or element */
4418
+ to: string | HTMLElement;
4419
+ /** Whether to teleport content */
4420
+ disabled?: boolean;
4421
+ }
4422
+
1749
4423
  /**
1750
4424
  * Simple throttle function wrapper
1751
4425
  *
@@ -1772,6 +4446,11 @@ export declare function throttleFn<T extends (...args: any[]) => any>(fn: T, wai
1772
4446
  trailing?: boolean;
1773
4447
  }): ComposableThrottledFunction<T>;
1774
4448
 
4449
+ /**
4450
+ * Time an operation
4451
+ */
4452
+ export declare function timeOperation<T>(name: string, fn: () => T | Promise<T>, labels?: Record<string, string>): Promise<T>;
4453
+
1775
4454
  /**
1776
4455
  * Timezone and locale utilities
1777
4456
  *
@@ -1803,6 +4482,20 @@ export declare type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
1803
4482
  */
1804
4483
  export declare type TooltipTrigger = 'hover' | 'click' | 'focus' | 'manual';
1805
4484
 
4485
+ /**
4486
+ * Touch feedback configuration
4487
+ */
4488
+ export declare interface TouchFeedbackConfig {
4489
+ /** Enable haptic feedback */
4490
+ haptic?: boolean;
4491
+ /** Enable visual feedback */
4492
+ visual?: boolean;
4493
+ /** Visual feedback class name */
4494
+ visualClass?: string;
4495
+ /** Visual feedback duration in ms */
4496
+ visualDuration?: number;
4497
+ }
4498
+
1806
4499
  /**
1807
4500
  * Touch gesture type
1808
4501
  */
@@ -1825,16 +4518,61 @@ export declare interface TouchGestureEvent {
1825
4518
  event: TouchEvent;
1826
4519
  }
1827
4520
 
4521
+ /**
4522
+ * Mobile Optimization Utilities for Directix
4523
+ *
4524
+ * Provides mobile-specific enhancements including:
4525
+ * - Touch gesture optimizations
4526
+ * - Passive event listeners
4527
+ * - Haptic feedback
4528
+ * - Performance optimizations
4529
+ * - PWA support utilities
4530
+ */
4531
+ /**
4532
+ * Touch gesture thresholds
4533
+ */
4534
+ export declare interface TouchGestureThresholds {
4535
+ /** Tap recognition threshold in pixels */
4536
+ tap?: number;
4537
+ /** Long press time threshold in ms */
4538
+ longPress?: number;
4539
+ /** Swipe distance threshold in pixels */
4540
+ swipe?: number;
4541
+ /** Pinch scale threshold */
4542
+ pinch?: number;
4543
+ /** Rotate angle threshold in degrees */
4544
+ rotate?: number;
4545
+ /** Double tap interval in ms */
4546
+ doubleTap?: number;
4547
+ /** Velocity threshold for swipe in px/s */
4548
+ swipeVelocity?: number;
4549
+ }
4550
+
1828
4551
  /**
1829
4552
  * Register a directive for DevTools tracking
1830
4553
  */
1831
4554
  export declare function trackDirective(name: string, info?: Partial<DirectiveInfo>): void;
1832
4555
 
4556
+ /**
4557
+ * Track observer count
4558
+ */
4559
+ export declare function trackObserver(): boolean;
4560
+
1833
4561
  /**
1834
4562
  * Register a plugin for DevTools tracking
1835
4563
  */
1836
4564
  export declare function trackPlugin(info: PluginInfo): void;
1837
4565
 
4566
+ /**
4567
+ * Trigger alert
4568
+ */
4569
+ export declare function triggerAlert(ruleId: string, message: string, value: number, threshold: number, labels?: Record<string, string>): Alert | null;
4570
+
4571
+ /**
4572
+ * Trigger haptic feedback
4573
+ */
4574
+ export declare function triggerHaptic(type?: 'light' | 'medium' | 'heavy' | 'selection'): void;
4575
+
1838
4576
  /**
1839
4577
  * Trim position
1840
4578
  */
@@ -1868,11 +4606,21 @@ export declare type TruncatePosition = 'start' | 'middle' | 'end';
1868
4606
  */
1869
4607
  export declare function truncateText(text: string, maxLength: number, ellipsis?: string): string;
1870
4608
 
4609
+ /**
4610
+ * Unescape HTML entities
4611
+ */
4612
+ export declare function unescapeHtml(str: string): string;
4613
+
1871
4614
  /**
1872
4615
  * Unregister a directive from DevTools tracking
1873
4616
  */
1874
4617
  export declare function untrackDirective(name: string): void;
1875
4618
 
4619
+ /**
4620
+ * Untrack observer
4621
+ */
4622
+ export declare function untrackObserver(): void;
4623
+
1876
4624
  /**
1877
4625
  * Unregister a plugin from DevTools tracking
1878
4626
  */
@@ -2629,6 +5377,28 @@ export declare interface UseDebounceReturn<T extends (...args: any[]) => any> {
2629
5377
  pending: () => boolean;
2630
5378
  }
2631
5379
 
5380
+ /**
5381
+ * Create a directive instance with Vue 3 optimizations
5382
+ * Uses markRaw for DOM elements and reactive/shallowReactive for state
5383
+ */
5384
+ export declare function useDirectiveInstance<T extends Record<string, any>>(options?: DirectiveInstanceOptions<T>): UseDirectiveInstanceReturn<T>;
5385
+
5386
+ /**
5387
+ * Return type for useDirectiveInstance
5388
+ */
5389
+ export declare interface UseDirectiveInstanceReturn<T> {
5390
+ /** The element (marked raw for performance) */
5391
+ element: HTMLElement | null;
5392
+ /** Reactive state */
5393
+ state: Readonly<T>;
5394
+ /** Set element and initialize */
5395
+ setElement: (el: HTMLElement) => void;
5396
+ /** Update state */
5397
+ setState: (updater: (prev: T) => T) => void;
5398
+ /** Reset state */
5399
+ reset: () => void;
5400
+ }
5401
+
2632
5402
  /**
2633
5403
  * Composable for making elements draggable
2634
5404
  *
@@ -2854,6 +5624,59 @@ export declare interface UseEmojiReturn {
2854
5624
  bind: (element: HTMLInputElement | HTMLTextAreaElement) => () => void;
2855
5625
  }
2856
5626
 
5627
+ /**
5628
+ * Enhanced touch composable with full gesture support
5629
+ */
5630
+ export declare function useEnhancedTouch(options?: UseEnhancedTouchOptions): UseEnhancedTouchReturn;
5631
+
5632
+ /**
5633
+ * Options for enhanced touch handling
5634
+ */
5635
+ export declare interface UseEnhancedTouchOptions {
5636
+ /** Gesture recognition thresholds */
5637
+ thresholds?: TouchGestureThresholds;
5638
+ /** Touch feedback configuration */
5639
+ feedback?: TouchFeedbackConfig;
5640
+ /** Gesture priority order */
5641
+ priority?: ExtendedGestureType[];
5642
+ /** Debounce time between gestures in ms */
5643
+ debounce?: number;
5644
+ /** Throttle time for continuous gestures in ms */
5645
+ throttle?: number;
5646
+ /** Enable passive listeners */
5647
+ passive?: boolean;
5648
+ /** Disable gesture */
5649
+ disabled?: boolean | Ref<boolean>;
5650
+ /** Gesture callbacks */
5651
+ onTap?: (e: ExtendedTouchEvent) => void;
5652
+ onDoubleTap?: (e: ExtendedTouchEvent) => void;
5653
+ onLongPress?: (e: ExtendedTouchEvent) => void;
5654
+ onSwipe?: (e: ExtendedTouchEvent) => void;
5655
+ onSwipeLeft?: (e: ExtendedTouchEvent) => void;
5656
+ onSwipeRight?: (e: ExtendedTouchEvent) => void;
5657
+ onSwipeUp?: (e: ExtendedTouchEvent) => void;
5658
+ onSwipeDown?: (e: ExtendedTouchEvent) => void;
5659
+ onPan?: (e: ExtendedTouchEvent) => void;
5660
+ onPinch?: (e: ExtendedTouchEvent) => void;
5661
+ onPinchIn?: (e: ExtendedTouchEvent) => void;
5662
+ onPinchOut?: (e: ExtendedTouchEvent) => void;
5663
+ onRotate?: (e: ExtendedTouchEvent) => void;
5664
+ onTwoFingerTap?: (e: ExtendedTouchEvent) => void;
5665
+ onEdgeSwipe?: (e: ExtendedTouchEvent) => void;
5666
+ }
5667
+
5668
+ /**
5669
+ * Return type for useEnhancedTouch
5670
+ */
5671
+ export declare interface UseEnhancedTouchReturn {
5672
+ /** Current active gesture */
5673
+ activeGesture: Readonly<Ref<ExtendedGestureType | null>>;
5674
+ /** Bind touch events to element */
5675
+ bind: (element: HTMLElement) => () => void;
5676
+ /** Whether currently touching */
5677
+ isTouching: Readonly<Ref<boolean>>;
5678
+ }
5679
+
2857
5680
  /**
2858
5681
  * Composable for exporting data
2859
5682
  *
@@ -3049,6 +5872,23 @@ export declare interface UseFocusReturn {
3049
5872
  bind: (element: HTMLElement) => () => void;
3050
5873
  }
3051
5874
 
5875
+ /**
5876
+ * Composable for focus trap
5877
+ */
5878
+ export declare function useFocusTrap(container: Ref<HTMLElement | null>, options?: FocusTrapOptions): UseFocusTrapReturn;
5879
+
5880
+ /**
5881
+ * Return type for useFocusTrap
5882
+ */
5883
+ export declare interface UseFocusTrapReturn {
5884
+ /** Activate focus trap */
5885
+ activate: () => void;
5886
+ /** Deactivate focus trap */
5887
+ deactivate: () => void;
5888
+ /** Whether active */
5889
+ isActive: Readonly<Ref<boolean>>;
5890
+ }
5891
+
3052
5892
  /**
3053
5893
  * Composable for fullscreen functionality
3054
5894
  *
@@ -3585,6 +6425,31 @@ export declare interface UseIntersectReturn {
3585
6425
  stop: () => void;
3586
6426
  }
3587
6427
 
6428
+ /**
6429
+ * Composable for keyboard navigation
6430
+ */
6431
+ export declare function useKeyboardNavigation(options?: KeyboardNavigationConfig): UseKeyboardNavigationReturn;
6432
+
6433
+ /**
6434
+ * Return type for useKeyboardNavigation
6435
+ */
6436
+ export declare interface UseKeyboardNavigationReturn {
6437
+ /** Current focused index */
6438
+ focusedIndex: Readonly<Ref<number>>;
6439
+ /** Bind keyboard navigation to container */
6440
+ bind: (container: HTMLElement, items: HTMLElement[]) => () => void;
6441
+ /** Focus item at index */
6442
+ focusIndex: (index: number) => void;
6443
+ /** Focus next item */
6444
+ focusNext: () => void;
6445
+ /** Focus previous item */
6446
+ focusPrev: () => void;
6447
+ /** Focus first item */
6448
+ focusFirst: () => void;
6449
+ /** Focus last item */
6450
+ focusLast: () => void;
6451
+ }
6452
+
3588
6453
  /**
3589
6454
  * Composable for lazy loading images
3590
6455
  *
@@ -3613,6 +6478,26 @@ export declare interface UseIntersectReturn {
3613
6478
  */
3614
6479
  export declare function useLazy(options?: UseLazyOptions): UseLazyReturn;
3615
6480
 
6481
+ /**
6482
+ * Optimized lazy loading using Vue 3's shallowRef for performance
6483
+ * with large state objects
6484
+ */
6485
+ export declare function useLazyOptimized(options?: OptimizedLazyOptions): UseLazyOptimizedReturn;
6486
+
6487
+ /**
6488
+ * Return type for useLazyOptimized
6489
+ */
6490
+ export declare interface UseLazyOptimizedReturn {
6491
+ /** Reactive state */
6492
+ state: Readonly<ShallowRef<OptimizedLazyState>>;
6493
+ /** Start observing element */
6494
+ observe: (el: HTMLElement) => void;
6495
+ /** Stop observing and cleanup */
6496
+ disconnect: () => void;
6497
+ /** Manually trigger load */
6498
+ load: () => void;
6499
+ }
6500
+
3616
6501
  /**
3617
6502
  * Options for useLazy composable
3618
6503
  */
@@ -4861,6 +7746,28 @@ export declare interface UsePullRefreshReturn {
4861
7746
  refresh: () => Promise<void>;
4862
7747
  }
4863
7748
 
7749
+ export declare function usePWA(config?: PWAConfig): UsePWAReturn;
7750
+
7751
+ /**
7752
+ * PWA utilities
7753
+ */
7754
+ export declare interface UsePWAReturn {
7755
+ /** Whether online */
7756
+ isOnline: Readonly<Ref<boolean>>;
7757
+ /** Whether registered */
7758
+ isRegistered: Readonly<Ref<boolean>>;
7759
+ /** Whether update available */
7760
+ needsUpdate: Readonly<Ref<boolean>>;
7761
+ /** Register service worker */
7762
+ register: () => Promise<void>;
7763
+ /** Update service worker */
7764
+ update: () => Promise<void>;
7765
+ /** Unregister service worker */
7766
+ unregister: () => Promise<void>;
7767
+ /** Initialize PWA */
7768
+ init: () => () => void;
7769
+ }
7770
+
4864
7771
  /**
4865
7772
  * Composable for tracking element resize
4866
7773
  *
@@ -5328,6 +8235,35 @@ export declare interface UseStickyReturn {
5328
8235
  stop: () => void;
5329
8236
  }
5330
8237
 
8238
+ /**
8239
+ * Suspense-ready composable for async directives
8240
+ */
8241
+ export declare function useSuspenseDirective<T>(options: UseSuspenseDirectiveOptions<T>): UseSuspenseDirectiveReturn<T>;
8242
+
8243
+ /**
8244
+ * Options for suspense directive
8245
+ */
8246
+ declare interface UseSuspenseDirectiveOptions<T> {
8247
+ /** Async loader function */
8248
+ loader: () => Promise<T>;
8249
+ /** On success callback */
8250
+ onSuccess?: (data: T) => void;
8251
+ /** On error callback */
8252
+ onError?: (error: Error) => void;
8253
+ }
8254
+
8255
+ /**
8256
+ * Return type for suspense directive
8257
+ */
8258
+ export declare interface UseSuspenseDirectiveReturn<T> {
8259
+ /** Reactive state */
8260
+ state: Readonly<ShallowRef<SuspenseDirectiveState<T>>>;
8261
+ /** Trigger load */
8262
+ load: () => Promise<void>;
8263
+ /** Retry on error */
8264
+ retry: () => Promise<void>;
8265
+ }
8266
+
5331
8267
  /**
5332
8268
  * Composable for detecting swipe gestures
5333
8269
  *
@@ -6276,6 +9212,15 @@ export declare interface UseWatermarkReturn {
6276
9212
  disable: () => void;
6277
9213
  }
6278
9214
 
9215
+ /**
9216
+ * Validate binding value
9217
+ */
9218
+ export declare function validateBinding(binding: any, schema: {
9219
+ type?: string | string[];
9220
+ required?: boolean;
9221
+ validator?: (value: any) => boolean;
9222
+ }, directive?: string): EdgeCaseResult<any>;
9223
+
6279
9224
  /**
6280
9225
  * v-blur directive
6281
9226
  * Background blur overlay effect
@@ -7369,6 +10314,11 @@ export declare const vVisible: Directive;
7369
10314
  */
7370
10315
  export declare const vWatermark: Directive;
7371
10316
 
10317
+ /**
10318
+ * Wait for DOM ready
10319
+ */
10320
+ export declare function waitForDOMReady(): Promise<void>;
10321
+
7372
10322
  /**
7373
10323
  * Show a warning message
7374
10324
  */
@@ -7376,6 +10326,11 @@ export declare function warn(options: WarningOptions): void;
7376
10326
 
7377
10327
  export declare function warn(message: string, params?: Record<string, any>): void;
7378
10328
 
10329
+ /**
10330
+ * Warn about a breaking change (once)
10331
+ */
10332
+ export declare function warnBreakingChange(changeId: string): void;
10333
+
7379
10334
  /**
7380
10335
  * Deprecation warning
7381
10336
  */
@@ -7424,6 +10379,87 @@ export declare function warnNotSupported(feature: string): void;
7424
10379
  */
7425
10380
  export declare function warnSSRNotSupported(directive: string): void;
7426
10381
 
10382
+ /**
10383
+ * Warn once about a specific feature
10384
+ */
10385
+ export declare function warnUnsupportedFeatureOnce(feature: string, fallback?: string): void;
10386
+
10387
+ /**
10388
+ * Warn about unsupported features
10389
+ */
10390
+ export declare function warnUnsupportedFeatures(): void;
10391
+
10392
+ /**
10393
+ * Watch configuration changes
10394
+ */
10395
+ export declare function watchConfig(key: string | '*', callback: (event: ConfigChangeEvent) => void): () => void;
10396
+
10397
+ /**
10398
+ * watchEffect that tracks directive bindings
10399
+ */
10400
+ export declare function watchEffectBinding(options: WatchEffectBindingOptions): () => void;
10401
+
10402
+ /**
10403
+ * Options for watchEffect with element binding
10404
+ */
10405
+ export declare interface WatchEffectBindingOptions {
10406
+ /** Binding value to watch */
10407
+ binding: Ref<any>;
10408
+ /** Effect callback */
10409
+ effect: (value: any, oldValue: any, onCleanup: (fn: () => void) => void) => void;
10410
+ /** Whether to run immediately */
10411
+ immediate?: boolean;
10412
+ }
10413
+
10414
+ /**
10415
+ * Cache using WeakMap for automatic cleanup when references are removed
10416
+ */
10417
+ export declare class WeakCache<K extends object, V> {
10418
+ private cache;
10419
+ private strongCache;
10420
+ private maxStrongSize;
10421
+ constructor(maxStrongSize?: number);
10422
+ /**
10423
+ * Get cached value
10424
+ */
10425
+ get(key: K): V | undefined;
10426
+ /**
10427
+ * Set cached value
10428
+ */
10429
+ set(key: K, value: V): void;
10430
+ /**
10431
+ * Check if key exists
10432
+ */
10433
+ has(key: K): boolean;
10434
+ /**
10435
+ * Delete cached value
10436
+ */
10437
+ delete(key: K): boolean;
10438
+ /**
10439
+ * Clear strong cache (weak cache auto-clears)
10440
+ */
10441
+ clearStrong(): void;
10442
+ /**
10443
+ * Get cache size
10444
+ */
10445
+ size(): number;
10446
+ }
10447
+
10448
+ /**
10449
+ * Measure and log performance
10450
+ */
10451
+ export declare function withAuditLog<T>(type: AuditEventType, message: string, fn: () => T | Promise<T>, details?: Record<string, unknown>, context?: Partial<AuditContext>): Promise<T>;
10452
+
10453
+ /**
10454
+ * Execute with error recovery
10455
+ */
10456
+ export declare function withErrorRecovery<T>(operation: () => T | Promise<T>, options?: {
10457
+ maxRetries?: number;
10458
+ retryDelay?: number;
10459
+ fallbackValue?: T;
10460
+ onError?: (error: Error, attempt: number) => void;
10461
+ }): Promise<EdgeCaseResult<T>>;
10462
+
7427
10463
  /**
7428
10464
  * Create a performance monitor decorator for directives
7429
10465
  */
@@ -7439,6 +10475,39 @@ export declare function withPerformanceMonitoring<T extends Record<string, any>>
7439
10475
  */
7440
10476
  export declare function wouldTextTruncate(text: string, containerWidth: number, fontSize?: number): boolean;
7441
10477
 
10478
+ /**
10479
+ * Security Utilities for Directix
10480
+ *
10481
+ * Provides comprehensive security features including:
10482
+ * - XSS protection and sanitization
10483
+ * - CSP (Content Security Policy) compatibility
10484
+ * - Security audit tools
10485
+ * - Safe HTML handling
10486
+ */
10487
+ /**
10488
+ * XSS Protection Configuration
10489
+ */
10490
+ export declare interface XSSProtectionConfig {
10491
+ /** Allowed HTML tags */
10492
+ allowedTags?: string[];
10493
+ /** Allowed attributes per tag or globally */
10494
+ allowedAttributes?: Record<string, string[]> | string[];
10495
+ /** Allowed URL protocols */
10496
+ allowedProtocols?: string[];
10497
+ /** Allow data URLs */
10498
+ allowDataUrls?: boolean;
10499
+ /** Allow inline styles */
10500
+ allowInlineStyles?: boolean;
10501
+ /** Allow class attribute */
10502
+ allowClass?: boolean;
10503
+ /** Allow id attribute */
10504
+ allowId?: boolean;
10505
+ /** Detect and remove dangerous patterns */
10506
+ detectDangerousPatterns?: boolean;
10507
+ /** Custom filter functions */
10508
+ customFilters?: ((html: string) => string)[];
10509
+ }
10510
+
7442
10511
  export declare const zhCN: I18nMessages;
7443
10512
 
7444
10513
  export { }