@nice2dev/ui 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/NiceAPIFlow.doc-DnQLPUie.js +30 -0
  2. package/dist/NiceAPIFlow.doc-Dx4qw1lm.cjs +6 -0
  3. package/dist/NiceBranchManager.doc-BXjiENlD.cjs +6 -0
  4. package/dist/NiceBranchManager.doc-xLB82YwU.js +30 -0
  5. package/dist/NiceButton-CDiS45Ya.cjs +1 -0
  6. package/dist/NiceButton-D9l39Rs7.js +595 -0
  7. package/dist/NiceCodeTemplate.doc-BWxTE4C_.cjs +6 -0
  8. package/dist/NiceCodeTemplate.doc-CA2U5F-v.js +30 -0
  9. package/dist/NiceDataBranchGraph.doc-CkitupWc.js +29 -0
  10. package/dist/NiceDataBranchGraph.doc-DDUgipqH.cjs +5 -0
  11. package/dist/NiceDataBranchManager.doc-B0ODKOs4.js +30 -0
  12. package/dist/NiceDataBranchManager.doc-CC5o8ihs.cjs +6 -0
  13. package/dist/NiceDataConflictResolver.doc-CdzScNie.cjs +5 -0
  14. package/dist/NiceDataConflictResolver.doc-V8vxYAeo.js +29 -0
  15. package/dist/NiceDataDiffViewer.doc-CR14Bq3A.cjs +6 -0
  16. package/dist/NiceDataDiffViewer.doc-w2I2QjhX.js +30 -0
  17. package/dist/NiceDataMapper.doc-C7jSyHRM.js +30 -0
  18. package/dist/NiceDataMapper.doc-DXjQHz87.cjs +6 -0
  19. package/dist/NiceDataMergeBuilder.doc-CV32WC_w.cjs +6 -0
  20. package/dist/NiceDataMergeBuilder.doc-DtuYb3nx.js +30 -0
  21. package/dist/NiceDataSnapshot.doc-CFLkY3ry.js +30 -0
  22. package/dist/NiceDataSnapshot.doc-CpZyQ17u.cjs +6 -0
  23. package/dist/NiceErrorBoundary-BAeqfoSc.cjs +1 -0
  24. package/dist/NiceErrorBoundary-niMx1aSJ.js +837 -0
  25. package/dist/NiceEventOrchestrator.doc-C4SJfIDV.js +30 -0
  26. package/dist/NiceEventOrchestrator.doc-CxjsLxBG.cjs +6 -0
  27. package/dist/NiceGitBlame.doc-BG3_K9_0.cjs +6 -0
  28. package/dist/NiceGitBlame.doc-DrJABEat.js +30 -0
  29. package/dist/NiceGitConflictResolver.doc-BK7hAfz6.js +30 -0
  30. package/dist/NiceGitConflictResolver.doc-CgroGM9_.cjs +6 -0
  31. package/dist/NiceGitDiffViewer.doc-BAwgcY_3.cjs +6 -0
  32. package/dist/NiceGitDiffViewer.doc-BXKJeP-E.js +30 -0
  33. package/dist/NiceGitGraph.doc-B-WtGuzn.cjs +5 -0
  34. package/dist/NiceGitGraph.doc-DxnDPCgC.js +29 -0
  35. package/dist/NiceGitHooks.doc-BrEizvMp.js +29 -0
  36. package/dist/NiceGitHooks.doc-C4EdV5zj.cjs +5 -0
  37. package/dist/NiceMergeRequestBuilder.doc-C5p8mYuh.cjs +6 -0
  38. package/dist/NiceMergeRequestBuilder.doc-Ct9RCmU8.js +30 -0
  39. package/dist/NiceModuleLifecyclePanel-Brg1RLwi.cjs +1 -0
  40. package/dist/NiceModuleLifecyclePanel-I_TXRiiY.js +5053 -0
  41. package/dist/NicePinCodeInput-CrMfdxxc.js +15287 -0
  42. package/dist/NicePinCodeInput-D0aF9MK8.cjs +692 -0
  43. package/dist/NicePipelineEditor.doc-0eGt8zbX.cjs +5 -0
  44. package/dist/NicePipelineEditor.doc-DTmaOebn.js +29 -0
  45. package/dist/NicePipelineMonitor.doc-67CmsRcf.cjs +5 -0
  46. package/dist/NicePipelineMonitor.doc-mSMdhuG8.js +29 -0
  47. package/dist/NiceSavedQueryPanel-BZNvqSQW.cjs +596 -0
  48. package/dist/NiceSavedQueryPanel-CUAsdOjJ.js +6190 -0
  49. package/dist/NiceStateDesigner.doc-B36u0hNU.js +29 -0
  50. package/dist/NiceStateDesigner.doc-MPmvNHSx.cjs +5 -0
  51. package/dist/NiceTestBuilder.doc-BFInj8GJ.js +30 -0
  52. package/dist/NiceTestBuilder.doc-CB03U_uR.cjs +6 -0
  53. package/dist/NiceToggle-CaY1u82g.js +277 -0
  54. package/dist/NiceToggle-DFJFQv_Z.cjs +1 -0
  55. package/dist/NiceWindow-IdHAcP70.cjs +1 -0
  56. package/dist/NiceWindow-SiCaREbq.js +1408 -0
  57. package/dist/charts-Bx_kNBsE.js +4280 -0
  58. package/dist/charts-DECVsCHX.cjs +754 -0
  59. package/dist/charts.cjs +1 -1
  60. package/dist/charts.css +1 -0
  61. package/dist/charts.d.ts +3 -3
  62. package/dist/charts.mjs +1 -1
  63. package/dist/core-BZBTsGWN.cjs +96 -0
  64. package/dist/core-BpghV7Ls.js +17555 -0
  65. package/dist/data-branching-De4ExX-S.cjs +1 -0
  66. package/dist/data-branching-DiRfob1f.js +6071 -0
  67. package/dist/data-branching.cjs +1 -0
  68. package/dist/data-branching.d.ts +401 -0
  69. package/dist/data-branching.mjs +9 -0
  70. package/dist/data.cjs +1 -1
  71. package/dist/data.mjs +1 -1
  72. package/dist/devops-BnYinjkT.cjs +17 -0
  73. package/dist/devops-Ckh57eti.js +7198 -0
  74. package/dist/devops.cjs +1 -0
  75. package/dist/devops.d.ts +758 -0
  76. package/dist/devops.mjs +12 -0
  77. package/dist/editors.cjs +1 -1
  78. package/dist/editors.mjs +3 -3
  79. package/dist/feedback.cjs +1 -1
  80. package/dist/feedback.mjs +1 -1
  81. package/dist/index-CBIZ6mTQ.cjs +5734 -0
  82. package/dist/index-CIl98Vbm.js +72951 -0
  83. package/dist/index.cjs +1 -1
  84. package/dist/index.css +1 -1
  85. package/dist/index.d.ts +3643 -93
  86. package/dist/index.mjs +1001 -952
  87. package/dist/lazy.cjs +1 -0
  88. package/dist/lazy.d.ts +1880 -0
  89. package/dist/lazy.mjs +98 -0
  90. package/dist/navigation.cjs +1 -1
  91. package/dist/navigation.mjs +69 -12
  92. package/dist/no-code-BCuadkm4.cjs +332 -0
  93. package/dist/no-code-TL7PyulA.js +7005 -0
  94. package/dist/no-code.cjs +1 -0
  95. package/dist/no-code.d.ts +870 -0
  96. package/dist/no-code.mjs +13 -0
  97. package/dist/overlays.cjs +1 -1
  98. package/dist/overlays.mjs +480 -24
  99. package/package.json +21 -1
package/dist/index.d.ts CHANGED
@@ -22,6 +22,79 @@ declare interface A11yContextValue {
22
22
  prefersHighContrast: boolean;
23
23
  }
24
24
 
25
+ export declare type AccessDeviceType = 'desktop' | 'mobile' | 'tablet' | 'unknown';
26
+
27
+ export declare type AccessEventType = 'login_success' | 'login_failed' | 'logout' | 'password_change' | 'password_reset' | 'mfa_enabled' | 'mfa_disabled' | 'mfa_challenged' | 'permission_change' | 'session_expired' | 'account_locked' | 'account_unlocked' | 'api_key_created' | 'api_key_revoked' | 'token_refresh' | 'suspicious_activity';
28
+
29
+ export declare interface AccessLogEntry {
30
+ id: string;
31
+ timestamp: Date | string;
32
+ userId: string;
33
+ userName?: string;
34
+ userEmail?: string;
35
+ eventType: AccessEventType;
36
+ ipAddress: string;
37
+ location?: GeoLocation;
38
+ device?: DeviceInfo;
39
+ riskScore: number;
40
+ riskLevel: RiskLevel;
41
+ success: boolean;
42
+ details?: Record<string, unknown>;
43
+ flags?: string[];
44
+ metadata?: Record<string, unknown>;
45
+ }
46
+
47
+ export declare interface AccessLogFilter {
48
+ startDate?: Date | string;
49
+ endDate?: Date | string;
50
+ eventTypes?: AccessEventType[];
51
+ riskLevels?: RiskLevel[];
52
+ userId?: string;
53
+ ipAddress?: string;
54
+ country?: string;
55
+ searchQuery?: string;
56
+ successOnly?: boolean;
57
+ failedOnly?: boolean;
58
+ }
59
+
60
+ export declare interface AccessLogLabels {
61
+ title?: string;
62
+ filters?: string;
63
+ search?: string;
64
+ export?: string;
65
+ refresh?: string;
66
+ details?: string;
67
+ stats?: string;
68
+ map?: string;
69
+ timeline?: string;
70
+ showMore?: string;
71
+ noResults?: string;
72
+ eventTypes?: Record<AccessEventType, string>;
73
+ riskLevels?: Record<RiskLevel, string>;
74
+ deviceTypes?: Record<AccessDeviceType, string>;
75
+ columns?: {
76
+ timestamp?: string;
77
+ user?: string;
78
+ event?: string;
79
+ ip?: string;
80
+ location?: string;
81
+ device?: string;
82
+ risk?: string;
83
+ status?: string;
84
+ };
85
+ }
86
+
87
+ export declare interface AccessLogStats {
88
+ totalEvents: number;
89
+ successfulLogins: number;
90
+ failedLogins: number;
91
+ uniqueIPs: number;
92
+ uniqueCountries: number;
93
+ highRiskEvents: number;
94
+ suspiciousActivities: number;
95
+ activeSessionCount?: number;
96
+ }
97
+
25
98
  /**
26
99
  * Utility: apply access mode effects on HTML attributes.
27
100
  * Returns props to spread onto interactive elements.
@@ -72,6 +145,13 @@ export declare interface ActionNode extends WorkflowNodeBase {
72
145
  };
73
146
  }
74
147
 
148
+ declare interface ActionParam {
149
+ id: string;
150
+ name: string;
151
+ type: FieldType;
152
+ required?: boolean;
153
+ }
154
+
75
155
  /**
76
156
  * Action sheet preset – list of actions
77
157
  */
@@ -454,6 +534,24 @@ export declare interface AnnotationStyle {
454
534
 
455
535
  export declare type AnnotationTool = 'select' | 'rectangle' | 'ellipse' | 'arrow' | 'line' | 'text' | 'freehand' | 'blur';
456
536
 
537
+ declare interface APIEndpoint {
538
+ id: string;
539
+ name: string;
540
+ description?: string;
541
+ method: HTTPMethod;
542
+ path: string;
543
+ tags?: string[];
544
+ pathParams?: ParamDefinition[];
545
+ queryParams?: ParamDefinition[];
546
+ headers?: ParamDefinition[];
547
+ body?: BodyDefinition;
548
+ responses: ResponseDefinition[];
549
+ retry?: RetryConfig;
550
+ cache?: EndpointCacheConfig;
551
+ timeout?: number;
552
+ mock?: MockResponse;
553
+ }
554
+
457
555
  export declare interface ApiEndpoint {
458
556
  method: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'head' | 'options';
459
557
  path: string;
@@ -477,6 +575,19 @@ export declare interface ApiEndpoint {
477
575
  }>;
478
576
  }
479
577
 
578
+ declare interface APIFlowDefinition {
579
+ id: string;
580
+ name: string;
581
+ description?: string;
582
+ baseUrl: string;
583
+ version?: string;
584
+ endpoints: APIEndpoint[];
585
+ auth?: AuthConfig_2;
586
+ globalHeaders?: Record<string, string>;
587
+ errorHandling?: ErrorHandlingConfig;
588
+ cacheConfig?: CacheConfig;
589
+ }
590
+
480
591
  export declare interface ApiParameter {
481
592
  name: string;
482
593
  in: 'path' | 'query' | 'header' | 'cookie';
@@ -520,6 +631,8 @@ export declare function applyVariantsToTheme(theme: NiceTheme, config: Partial<T
520
631
  variantConfig: ThemeVariantConfig;
521
632
  };
522
633
 
634
+ export declare type ApprovalStatus = 'draft' | 'pending_review' | 'approved' | 'rejected' | 'signed';
635
+
523
636
  /** A single step in the approval flow. */
524
637
  export declare interface ApprovalStep {
525
638
  id: string | number;
@@ -541,6 +654,21 @@ export declare interface ApprovalStep {
541
654
  /** Status of an approval step. */
542
655
  export declare type ApprovalStepStatus = 'pending' | 'approved' | 'rejected' | 'skipped' | 'waiting';
543
656
 
657
+ export declare interface ApprovalWorkflow {
658
+ id: string;
659
+ currentStep: number;
660
+ steps: ContractApprovalStep[];
661
+ status: ApprovalStatus;
662
+ }
663
+
664
+ export declare interface Approver {
665
+ id: string;
666
+ name: string;
667
+ email: string;
668
+ role: string;
669
+ avatar?: string;
670
+ }
671
+
544
672
  export declare interface ArrowAnnotation extends AnnotationBase {
545
673
  tool: 'arrow';
546
674
  endX: number;
@@ -562,6 +690,14 @@ export declare interface AspectRatioPreset {
562
690
  ratio?: number;
563
691
  }
564
692
 
693
+ declare interface Assertion {
694
+ matcher: AssertionMatcher;
695
+ expected?: unknown;
696
+ not?: boolean;
697
+ }
698
+
699
+ declare type AssertionMatcher = 'toEqual' | 'toBe' | 'toBeTruthy' | 'toBeFalsy' | 'toBeNull' | 'toBeUndefined' | 'toContain' | 'toHaveLength' | 'toBeInTheDocument' | 'toHaveTextContent' | 'toHaveAttribute' | 'toHaveClass' | 'toHaveStyle' | 'toHaveBeenCalled' | 'toHaveBeenCalledWith' | 'toHaveBeenCalledTimes' | 'toThrow' | 'toMatchSnapshot';
700
+
565
701
  /** Collection */
566
702
  export declare interface AssetCollection {
567
703
  id: string;
@@ -641,6 +777,71 @@ export declare interface AudioEncodingSettings {
641
777
  loudnessTarget?: number;
642
778
  }
643
779
 
780
+ export declare type AuditAction = 'create' | 'update' | 'delete' | 'view' | 'export' | 'import' | 'approve' | 'reject' | 'login' | 'logout' | 'permission_change' | 'config_change' | 'custom';
781
+
782
+ export declare interface AuditChange {
783
+ field: string;
784
+ oldValue: unknown;
785
+ newValue: unknown;
786
+ displayOldValue?: string;
787
+ displayNewValue?: string;
788
+ }
789
+
790
+ export declare interface AuditDataSource {
791
+ fetchEntries(filter: AuditFilter, pagination: {
792
+ page: number;
793
+ pageSize: number;
794
+ }): Promise<{
795
+ entries: AuditEntry[];
796
+ totalCount: number;
797
+ }>;
798
+ getAvailableFilters?(): Promise<{
799
+ users: {
800
+ id: string;
801
+ name: string;
802
+ }[];
803
+ entityTypes: string[];
804
+ actions: AuditAction[];
805
+ }>;
806
+ }
807
+
808
+ export declare interface AuditEntry {
809
+ id: string;
810
+ timestamp: Date;
811
+ action: AuditAction;
812
+ actionLabel?: string;
813
+ severity?: AuditSeverity;
814
+ userId: string;
815
+ userName: string;
816
+ userEmail?: string;
817
+ userRole?: string;
818
+ userAvatar?: string;
819
+ ipAddress?: string;
820
+ userAgent?: string;
821
+ location?: string;
822
+ entityType: string;
823
+ entityId: string;
824
+ entityName?: string;
825
+ changes?: AuditChange[];
826
+ metadata?: Record<string, unknown>;
827
+ notes?: string;
828
+ /** For grouping related actions */
829
+ transactionId?: string;
830
+ }
831
+
832
+ export declare interface AuditFilter {
833
+ startDate?: Date;
834
+ endDate?: Date;
835
+ actions?: AuditAction[];
836
+ userIds?: string[];
837
+ entityTypes?: string[];
838
+ entityIds?: string[];
839
+ severity?: AuditSeverity[];
840
+ searchQuery?: string;
841
+ }
842
+
843
+ export declare type AuditSeverity = 'info' | 'warning' | 'critical';
844
+
644
845
  /**
645
846
  * Audit scanner: checks if any storage is being used against policy.
646
847
  * Returns violations found.
@@ -672,6 +873,13 @@ export declare interface AuthConfig {
672
873
  customHeaders?: Record<string, string>;
673
874
  }
674
875
 
876
+ declare interface AuthConfig_2 {
877
+ type: 'none' | 'bearer' | 'basic' | 'api-key' | 'oauth2';
878
+ tokenSource?: string;
879
+ headerName?: string;
880
+ prefix?: string;
881
+ }
882
+
675
883
  export declare type AuthType = 'none' | 'basic' | 'bearer' | 'oauth2' | 'apiKey' | 'certificate' | 'saml' | 'custom';
676
884
 
677
885
  /**
@@ -921,11 +1129,66 @@ export declare const BatchOperations: {
921
1129
  }): T[];
922
1130
  };
923
1131
 
1132
+ declare interface BeforeInstallPromptEvent extends Event {
1133
+ readonly platforms: string[];
1134
+ readonly userChoice: Promise<{
1135
+ outcome: 'accepted' | 'dismissed';
1136
+ platform: string;
1137
+ }>;
1138
+ prompt(): Promise<void>;
1139
+ }
1140
+
1141
+ declare interface BlameAuthor {
1142
+ id: string;
1143
+ name: string;
1144
+ email: string;
1145
+ avatar?: string;
1146
+ }
1147
+
1148
+ declare interface BlameCommit {
1149
+ id: string;
1150
+ shortId: string;
1151
+ message: string;
1152
+ author: BlameAuthor;
1153
+ timestamp: Date;
1154
+ parents?: string[];
1155
+ }
1156
+
1157
+ declare interface BlameFile {
1158
+ path: string;
1159
+ revision: string;
1160
+ hunks: BlameHunk[];
1161
+ language?: string;
1162
+ totalLines: number;
1163
+ }
1164
+
1165
+ declare interface BlameHunk {
1166
+ startLine: number;
1167
+ endLine: number;
1168
+ commit: BlameCommit;
1169
+ lines: BlameLine[];
1170
+ }
1171
+
1172
+ declare interface BlameLine {
1173
+ lineNumber: number;
1174
+ content: string;
1175
+ commit: BlameCommit;
1176
+ originalLineNumber?: number;
1177
+ originalFilename?: string;
1178
+ }
1179
+
1180
+ declare type BlameViewMode = 'inline' | 'gutter' | 'tooltip';
1181
+
924
1182
  export declare interface BlurAnnotation extends AnnotationBase {
925
1183
  tool: 'blur';
926
1184
  intensity: number;
927
1185
  }
928
1186
 
1187
+ declare interface BodyDefinition {
1188
+ contentType: 'application/json' | 'multipart/form-data' | 'application/x-www-form-urlencoded' | 'text/plain';
1189
+ schema?: SchemaDefinition;
1190
+ }
1191
+
929
1192
  /**
930
1193
  * A single entry from the accounting ledger / ERP.
931
1194
  */
@@ -1233,6 +1496,18 @@ export declare interface BPMNVariable {
1233
1496
  scope?: string;
1234
1497
  }
1235
1498
 
1499
+ declare interface BranchProtectionRule {
1500
+ pattern: string;
1501
+ requirePullRequest?: boolean;
1502
+ requiredReviewers?: number;
1503
+ requireStatusChecks?: string[];
1504
+ requireSignedCommits?: boolean;
1505
+ allowForcePush?: boolean;
1506
+ allowDeletion?: boolean;
1507
+ }
1508
+
1509
+ declare type BranchStatus = 'active' | 'stale' | 'merged' | 'deleted' | 'syncing' | 'conflict';
1510
+
1236
1511
  export declare interface BrandColors {
1237
1512
  /** Primary brand color (most dominant) */
1238
1513
  primary: string;
@@ -1272,8 +1547,7 @@ export declare interface Breakpoint {
1272
1547
  /**
1273
1548
  * Context value
1274
1549
  */
1275
- export declare interface BreakpointContextValue extends UseBreakpointReturn {
1276
- }
1550
+ export declare type BreakpointContextValue = UseBreakpointReturn;
1277
1551
 
1278
1552
  /**
1279
1553
  * Breakpoint name
@@ -1371,6 +1645,12 @@ export declare type BusinessEntityType = 'company' | 'person' | 'institution' |
1371
1645
  */
1372
1646
  export declare type ButtonStyleVariant = 'flat' | 'raised' | 'outlined' | 'ghost' | 'soft' | 'gradient' | '3d' | 'neumorphic' | 'pill' | 'link' | 'brutal';
1373
1647
 
1648
+ declare interface CacheConfig {
1649
+ enabled: boolean;
1650
+ storage: 'memory' | 'localStorage' | 'sessionStorage';
1651
+ defaultTTL: number;
1652
+ }
1653
+
1374
1654
  /**
1375
1655
  * Calculates the difference between two data arrays.
1376
1656
  */
@@ -1500,6 +1780,9 @@ export declare interface Certification {
1500
1780
  metadata?: Record<string, any>;
1501
1781
  }
1502
1782
 
1783
+ /** Diff change types */
1784
+ declare type ChangeType = 'added' | 'modified' | 'deleted' | 'renamed' | 'unchanged';
1785
+
1503
1786
  export declare const CHART_COLORS: string[];
1504
1787
 
1505
1788
  export declare interface ChartDataPoint {
@@ -1635,6 +1918,18 @@ export declare interface ChunkInfo {
1635
1918
  retries: number;
1636
1919
  }
1637
1920
 
1921
+ export declare type ClauseCategory = 'general' | 'liability' | 'payment' | 'termination' | 'confidentiality' | 'compliance' | 'custom';
1922
+
1923
+ export declare interface ClauseVariable {
1924
+ name: string;
1925
+ placeholder: string;
1926
+ type: 'text' | 'number' | 'date' | 'currency' | 'select';
1927
+ required?: boolean;
1928
+ defaultValue?: string;
1929
+ options?: string[];
1930
+ validation?: string;
1931
+ }
1932
+
1638
1933
  /**
1639
1934
  * Clear all leak reports
1640
1935
  */
@@ -1737,6 +2032,27 @@ declare interface ClosedTabEntry {
1737
2032
  /** Code generation target. */
1738
2033
  export declare type CodeGenTarget = 'typescript' | 'dart';
1739
2034
 
2035
+ declare interface CodeTemplate {
2036
+ id: string;
2037
+ name: string;
2038
+ description: string;
2039
+ category: string;
2040
+ icon?: string;
2041
+ engine: TemplateEngine;
2042
+ variables: TemplateVariable[];
2043
+ files: TemplateFile[];
2044
+ hooks?: {
2045
+ beforeGenerate?: string;
2046
+ afterGenerate?: string;
2047
+ };
2048
+ metadata?: {
2049
+ author?: string;
2050
+ version?: string;
2051
+ tags?: string[];
2052
+ framework?: string;
2053
+ };
2054
+ }
2055
+
1740
2056
  export declare interface CognitiveAccessibilityOptions {
1741
2057
  /** Simplify interface by hiding non-essential elements. */
1742
2058
  simplifiedMode?: boolean;
@@ -2124,6 +2440,14 @@ export declare interface ComplianceRequirement {
2124
2440
  notes?: string;
2125
2441
  }
2126
2442
 
2443
+ declare interface ComponentDefinition {
2444
+ id: string;
2445
+ name: string;
2446
+ category: string;
2447
+ icon?: string;
2448
+ defaultProps?: Record<string, unknown>;
2449
+ }
2450
+
2127
2451
  /**
2128
2452
  * Complete component documentation
2129
2453
  */
@@ -2211,6 +2535,13 @@ export declare interface ComponentDoc {
2211
2535
  lastUpdated?: string;
2212
2536
  }
2213
2537
 
2538
+ declare interface ComponentInstance {
2539
+ id: string;
2540
+ type: string;
2541
+ props: Record<string, unknown>;
2542
+ children?: ComponentInstance[];
2543
+ }
2544
+
2214
2545
  export declare interface ComponentMeta {
2215
2546
  name: string;
2216
2547
  tag: string;
@@ -2230,6 +2561,23 @@ export declare interface ComponentPropMeta {
2230
2561
  isEvent?: boolean;
2231
2562
  }
2232
2563
 
2564
+ declare interface ComponentSchema {
2565
+ name: string;
2566
+ displayName?: string;
2567
+ description?: string;
2568
+ props: PropDefinition[];
2569
+ state?: StateDefinition[];
2570
+ hooks?: string[];
2571
+ children?: 'none' | 'single' | 'multiple';
2572
+ }
2573
+
2574
+ declare interface ComputedField {
2575
+ id: string;
2576
+ name: string;
2577
+ expression: string;
2578
+ dependencies: string[];
2579
+ }
2580
+
2233
2581
  /**
2234
2582
  * Condition node
2235
2583
  */
@@ -2288,6 +2636,30 @@ export declare interface ConfigField {
2288
2636
  };
2289
2637
  }
2290
2638
 
2639
+ declare interface ConfigField_2 {
2640
+ name: string;
2641
+ label: string;
2642
+ type: 'string' | 'number' | 'boolean' | 'select' | 'code' | 'json';
2643
+ options?: {
2644
+ value: string;
2645
+ label: string;
2646
+ }[];
2647
+ required?: boolean;
2648
+ default?: unknown;
2649
+ }
2650
+
2651
+ declare interface ConfigField_3 {
2652
+ name: string;
2653
+ label: string;
2654
+ type: 'string' | 'number' | 'boolean' | 'select' | 'code' | 'json';
2655
+ options?: {
2656
+ value: string;
2657
+ label: string;
2658
+ }[];
2659
+ required?: boolean;
2660
+ default?: unknown;
2661
+ }
2662
+
2291
2663
  /**
2292
2664
  * Configure the leak detector globally
2293
2665
  *
@@ -2318,6 +2690,47 @@ export declare function configureLeakDetector(config: Partial<LeakDetectorConfig
2318
2690
  */
2319
2691
  export declare function configureProfiler(config: Partial<ProfilerConfig>): void;
2320
2692
 
2693
+ declare interface ConflictFile {
2694
+ path: string;
2695
+ language?: string;
2696
+ baseRef: string;
2697
+ oursRef: string;
2698
+ theirsRef: string;
2699
+ content: string;
2700
+ conflicts: ConflictRegion[];
2701
+ }
2702
+
2703
+ declare interface ConflictRegion {
2704
+ id: string;
2705
+ startLine: number;
2706
+ endLine: number;
2707
+ baseContent: string[];
2708
+ oursContent: string[];
2709
+ theirsContent: string[];
2710
+ resolved: boolean;
2711
+ resolution?: 'ours' | 'theirs' | 'both' | 'custom';
2712
+ customContent?: string[];
2713
+ }
2714
+
2715
+ export declare interface ConflictResolution {
2716
+ conflictId: string;
2717
+ strategy: MergeStrategy;
2718
+ fieldResolutions: FieldResolutionMap;
2719
+ }
2720
+
2721
+ declare interface ConflictResolutionChoice {
2722
+ conflictId: string;
2723
+ strategy: MergeStrategy;
2724
+ customValue?: unknown;
2725
+ }
2726
+
2727
+ declare type ConflictType = 'concurrent-update' | 'delete-update' | 'update-delete' | 'constraint-violation' | 'unique-key-conflict' | 'foreign-key-missing' | 'type-mismatch' | 'schema-change';
2728
+
2729
+ declare type ConflictViewMode = 'inline' | 'split' | 'three-way';
2730
+
2731
+ /** Connection status */
2732
+ export declare type ConnectionStatus = 'connecting' | 'connected' | 'disconnected' | 'error';
2733
+
2321
2734
  export declare const CONNECTOR_REGISTRY: Record<string, ConnectorDefinition>;
2322
2735
 
2323
2736
  export declare type ConnectorCapability = 'read' | 'write' | 'delete' | 'bulk_read' | 'bulk_write' | 'bulk_delete' | 'streaming' | 'webhooks' | 'realtime' | 'batch' | 'pagination' | 'filtering' | 'sorting' | 'aggregation' | 'transactions' | 'attachments' | 'metadata';
@@ -2414,6 +2827,10 @@ export declare const CONNECTORS_BY_CATEGORY: Record<ConnectorCategory, Connector
2414
2827
  */
2415
2828
  export declare type ConnectorType = 'straight' | 'curved' | 'orthogonal' | 'step';
2416
2829
 
2830
+ export declare type ConsentAction = 'accept_all' | 'reject_all' | 'custom' | 'save_preferences';
2831
+
2832
+ export declare type ConsentCategory = 'necessary' | 'analytics' | 'marketing' | 'preferences' | 'social';
2833
+
2417
2834
  /** A single consent entry. */
2418
2835
  export declare interface ConsentItem {
2419
2836
  /** Unique consent key (e.g. "gdpr_marketing", "terms_v2"). */
@@ -2434,6 +2851,46 @@ export declare interface ConsentItem {
2434
2851
  documentUrl?: string;
2435
2852
  }
2436
2853
 
2854
+ export declare interface ConsentLabels {
2855
+ title: string;
2856
+ description: string;
2857
+ acceptAll: string;
2858
+ rejectAll: string;
2859
+ customize: string;
2860
+ savePreferences: string;
2861
+ necessary: string;
2862
+ analytics: string;
2863
+ marketing: string;
2864
+ preferences: string;
2865
+ social: string;
2866
+ dataRights: string;
2867
+ exportData: string;
2868
+ deleteData: string;
2869
+ pending: string;
2870
+ processing: string;
2871
+ completed: string;
2872
+ close: string;
2873
+ }
2874
+
2875
+ export declare interface ConsentOption {
2876
+ id: ConsentCategory;
2877
+ label: string;
2878
+ description: string;
2879
+ required?: boolean;
2880
+ enabled: boolean;
2881
+ cookies?: string[];
2882
+ partners?: string[];
2883
+ }
2884
+
2885
+ export declare interface ConsentState {
2886
+ version: string;
2887
+ timestamp: Date;
2888
+ categories: Record<ConsentCategory, boolean>;
2889
+ action: ConsentAction;
2890
+ ipAddress?: string;
2891
+ userAgent?: string;
2892
+ }
2893
+
2437
2894
  /** Consent status. */
2438
2895
  export declare type ConsentStatus = 'accepted' | 'rejected' | 'pending';
2439
2896
 
@@ -2451,6 +2908,74 @@ export declare interface ContactEntry {
2451
2908
  /** Video container formats */
2452
2909
  export declare type ContainerFormat = 'mp4' | 'mkv' | 'webm' | 'avi' | 'mov' | 'flv' | 'ts' | 'hls' | 'dash' | 'gif';
2453
2910
 
2911
+ export declare interface ContractApprovalStep {
2912
+ id: string;
2913
+ name: string;
2914
+ approvers: Approver[];
2915
+ required: boolean;
2916
+ order: number;
2917
+ status: 'pending' | 'approved' | 'rejected';
2918
+ completedAt?: Date;
2919
+ completedBy?: string;
2920
+ comments?: string;
2921
+ }
2922
+
2923
+ export declare interface ContractClause {
2924
+ id: string;
2925
+ name: string;
2926
+ content: string;
2927
+ category: ClauseCategory;
2928
+ description?: string;
2929
+ variables?: ClauseVariable[];
2930
+ isRequired?: boolean;
2931
+ order?: number;
2932
+ version?: string;
2933
+ lastModified?: Date;
2934
+ }
2935
+
2936
+ export declare interface ContractComment {
2937
+ id: string;
2938
+ clauseId: string;
2939
+ userId: string;
2940
+ userName: string;
2941
+ userAvatar?: string;
2942
+ content: string;
2943
+ createdAt: Date;
2944
+ resolved?: boolean;
2945
+ replies?: ContractComment[];
2946
+ }
2947
+
2948
+ export declare interface ContractDocument {
2949
+ id: string;
2950
+ title: string;
2951
+ type: string;
2952
+ sections: ContractSection[];
2953
+ variables: Record<string, string>;
2954
+ status: ApprovalStatus;
2955
+ workflow?: ApprovalWorkflow;
2956
+ versions: ContractVersion[];
2957
+ comments: ContractComment[];
2958
+ createdAt: Date;
2959
+ updatedAt: Date;
2960
+ createdBy: string;
2961
+ }
2962
+
2963
+ export declare interface ContractSection {
2964
+ id: string;
2965
+ title: string;
2966
+ clauses: ContractClause[];
2967
+ collapsed?: boolean;
2968
+ }
2969
+
2970
+ export declare interface ContractVersion {
2971
+ id: string;
2972
+ version: string;
2973
+ createdAt: Date;
2974
+ createdBy: string;
2975
+ changes: string;
2976
+ snapshot?: string;
2977
+ }
2978
+
2454
2979
  export declare function contrastRatio(c1: string, c2: string): number;
2455
2980
 
2456
2981
  export declare type ControlLayout = 'card' | 'compact' | 'row';
@@ -2689,6 +3214,13 @@ export declare function createSignalRDataSource<T extends Record<string, any>>(c
2689
3214
 
2690
3215
  export declare function createSignalRLiveChartSource(config: SignalRLiveChartSourceConfig): LiveChartDataSource;
2691
3216
 
3217
+ declare interface CreateSnapshotConfig {
3218
+ name: string;
3219
+ description?: string;
3220
+ tables?: string[];
3221
+ tags?: string[];
3222
+ }
3223
+
2692
3224
  /**
2693
3225
  * Creates a read-only real-time data source using Server-Sent Events (SSE).
2694
3226
  * Lighter alternative to WebSocket — ideal for server→client unidirectional streaming.
@@ -2992,10 +3524,107 @@ export declare interface DataBindingConfig {
2992
3524
  defaultFromEntity?: boolean;
2993
3525
  }
2994
3526
 
3527
+ declare interface DataBranch extends VersioningBranch {
3528
+ type: 'data';
3529
+ environment: DataEnvironment;
3530
+ tenant: string;
3531
+ sourceSnapshot?: string;
3532
+ syncSchedule?: SyncSchedule;
3533
+ tables?: string[];
3534
+ size?: {
3535
+ records: number;
3536
+ bytes: number;
3537
+ };
3538
+ }
3539
+
3540
+ declare interface DataBranchCommit {
3541
+ id: string;
3542
+ shortId: string;
3543
+ message: string;
3544
+ description?: string;
3545
+ branch: string;
3546
+ environment: DataEnvironment;
3547
+ author: {
3548
+ id: string;
3549
+ name: string;
3550
+ };
3551
+ timestamp: Date;
3552
+ parents: string[];
3553
+ isMerge: boolean;
3554
+ isSnapshot: boolean;
3555
+ stats: {
3556
+ tables: number;
3557
+ recordsAdded: number;
3558
+ recordsModified: number;
3559
+ recordsDeleted: number;
3560
+ };
3561
+ tags?: string[];
3562
+ }
3563
+
3564
+ export declare interface DataConflict {
3565
+ id: string;
3566
+ table: string;
3567
+ tableName: string;
3568
+ recordId: string;
3569
+ recordLabel?: string;
3570
+ type: ConflictType;
3571
+ severity: 'low' | 'medium' | 'high' | 'critical';
3572
+ fields: FieldConflict[];
3573
+ metadata?: {
3574
+ sourceModifiedAt?: Date;
3575
+ sourceModifiedBy?: string;
3576
+ targetModifiedAt?: Date;
3577
+ targetModifiedBy?: string;
3578
+ };
3579
+ suggestion?: MergeStrategy;
3580
+ suggestionReason?: string;
3581
+ }
3582
+
3583
+ declare type DataEnvironment = 'development' | 'testing' | 'uat' | 'staging' | 'production';
3584
+
3585
+ export declare type DataExportFormat = 'csv' | 'xlsx' | 'json' | 'pdf' | 'xml';
3586
+
3587
+ export declare interface DataExportRequest {
3588
+ id: string;
3589
+ type: DataRequestType;
3590
+ status: 'pending' | 'processing' | 'completed' | 'rejected';
3591
+ requestedAt: Date;
3592
+ completedAt?: Date;
3593
+ downloadUrl?: string;
3594
+ description: string;
3595
+ }
3596
+
3597
+ declare interface DataFieldDiff {
3598
+ field: string;
3599
+ fieldType: string;
3600
+ oldValue: unknown;
3601
+ newValue: unknown;
3602
+ changeType: ChangeType;
3603
+ }
3604
+
2995
3605
  export declare type DataFormat = 'json' | 'xml' | 'csv' | 'parquet' | 'avro' | 'protobuf';
2996
3606
 
3607
+ export declare type DataRequestType = 'export' | 'delete' | 'rectify' | 'restrict';
3608
+
3609
+ export declare interface DataRetentionPolicy {
3610
+ category: string;
3611
+ description: string;
3612
+ retentionDays: number;
3613
+ legalBasis: string;
3614
+ canDelete: boolean;
3615
+ }
3616
+
3617
+ declare interface DataSource {
3618
+ id: string;
3619
+ name: string;
3620
+ type: 'state' | 'prop' | 'context' | 'constant';
3621
+ path: string;
3622
+ }
3623
+
2997
3624
  export declare type DataType = 'string' | 'number' | 'boolean' | 'date' | 'datetime' | 'list' | 'object' | 'any';
2998
3625
 
3626
+ declare type DataType_2 = 'string' | 'number' | 'boolean' | 'date' | 'array' | 'object' | 'any';
3627
+
2999
3628
  /**
3000
3629
  * Date range
3001
3630
  */
@@ -3147,6 +3776,12 @@ export declare function deserializeView(json: string): NiceViewDefinition;
3147
3776
 
3148
3777
  export declare function deserializeViewV2(json: string): NiceViewDefinitionV2;
3149
3778
 
3779
+ declare interface DesignState {
3780
+ components: ComponentInstance[];
3781
+ layout: LayoutConfig;
3782
+ styles: Record<string, unknown>;
3783
+ }
3784
+
3150
3785
  export declare interface DesignSyncResult {
3151
3786
  tokens: FigmaDesignToken[];
3152
3787
  theme: Record<string, string>;
@@ -3203,11 +3838,28 @@ export declare interface DetectedFace {
3203
3838
 
3204
3839
  export declare type DeviceCategory = 'light' | 'switch' | 'thermostat' | 'cover' | 'lock' | 'climate' | 'alarm' | 'media-player' | 'gate' | 'energy-meter';
3205
3840
 
3841
+ export declare interface DeviceInfo {
3842
+ type: AccessDeviceType;
3843
+ os?: string;
3844
+ osVersion?: string;
3845
+ browser?: string;
3846
+ browserVersion?: string;
3847
+ fingerprint?: string;
3848
+ isTrusted?: boolean;
3849
+ }
3850
+
3206
3851
  /**
3207
3852
  * Device type based on screen size
3208
3853
  */
3209
3854
  export declare type DeviceType = 'mobile' | 'tablet' | 'desktop';
3210
3855
 
3856
+ declare interface DevToolsConfig {
3857
+ enabled: boolean;
3858
+ name?: string;
3859
+ anonymousActionType?: string;
3860
+ trace?: boolean;
3861
+ }
3862
+
3211
3863
  /**
3212
3864
  * Diagram connector
3213
3865
  */
@@ -3303,11 +3955,54 @@ export declare interface DiagramSchema {
3303
3955
  /** Type of change. */
3304
3956
  export declare type DiffChangeType = 'added' | 'removed' | 'changed';
3305
3957
 
3958
+ declare interface DiffChunk {
3959
+ oldStart: number;
3960
+ oldLines: number;
3961
+ newStart: number;
3962
+ newLines: number;
3963
+ lines: DiffLine[];
3964
+ header?: string;
3965
+ }
3966
+
3967
+ declare interface DiffComment {
3968
+ id: string;
3969
+ filePath: string;
3970
+ line: number;
3971
+ side: 'old' | 'new';
3972
+ author: {
3973
+ name: string;
3974
+ avatar?: string;
3975
+ };
3976
+ body: string;
3977
+ createdAt: Date;
3978
+ resolved?: boolean;
3979
+ }
3980
+
3981
+ declare interface DiffFile {
3982
+ path: string;
3983
+ oldPath?: string;
3984
+ status: 'added' | 'modified' | 'deleted' | 'renamed' | 'copied';
3985
+ binary?: boolean;
3986
+ additions: number;
3987
+ deletions: number;
3988
+ chunks: DiffChunk[];
3989
+ language?: string;
3990
+ }
3991
+
3992
+ declare interface DiffLine {
3993
+ lineNumberOld?: number;
3994
+ lineNumberNew?: number;
3995
+ content: string;
3996
+ type: 'context' | 'addition' | 'deletion' | 'header';
3997
+ }
3998
+
3306
3999
  /**
3307
4000
  * Calculate field changes between two objects
3308
4001
  */
3309
4002
  export declare function diffObjects(oldObj: Record<string, unknown>, newObj: Record<string, unknown>, fieldLabels?: Record<string, string>): NiceAuditFieldChange[];
3310
4003
 
4004
+ declare type DiffViewMode = 'split' | 'unified';
4005
+
3311
4006
  /** Compare two view definitions and produce a diff. */
3312
4007
  export declare function diffViews(oldView: NiceViewDefinitionV2, newView: NiceViewDefinitionV2): NiceViewDiffResult;
3313
4008
 
@@ -3735,6 +4430,13 @@ export declare function downloadPDF<T extends Record<string, unknown>>(data: T[]
3735
4430
  */
3736
4431
  export declare function downloadXLSX<T extends Record<string, unknown>>(data: T[], columns: NiceExportColumn[], options?: NiceXLSXOptions): void;
3737
4432
 
4433
+ declare interface DraggableComponent {
4434
+ id: string;
4435
+ name: string;
4436
+ icon?: string;
4437
+ category: string;
4438
+ }
4439
+
3738
4440
  export declare const DrawerIcons: {
3739
4441
  home: JSX_2.Element;
3740
4442
  settings: JSX_2.Element;
@@ -3867,6 +4569,12 @@ export declare interface EncodingSettings {
3867
4569
  */
3868
4570
  export declare function endMark(name: string): number;
3869
4571
 
4572
+ declare interface EndpointCacheConfig {
4573
+ enabled: boolean;
4574
+ ttl: number;
4575
+ strategy: 'cache-first' | 'network-first' | 'stale-while-revalidate';
4576
+ }
4577
+
3870
4578
  export declare type EnergyChartType = 'bar' | 'line' | 'area';
3871
4579
 
3872
4580
  export declare type EnergyGroupBy = 'hour' | 'day' | 'week' | 'month';
@@ -4183,6 +4891,12 @@ declare interface ERPTableConfig {
4183
4891
  */
4184
4892
  declare type ErrorFallbackRenderer = (error: Error, retry: () => void) => ReactNode;
4185
4893
 
4894
+ declare interface ErrorHandlingConfig {
4895
+ globalErrorHandler?: boolean;
4896
+ retryOnNetworkError?: boolean;
4897
+ transformError?: boolean;
4898
+ }
4899
+
4186
4900
  declare interface ESLintAttribute {
4187
4901
  type: string;
4188
4902
  name: {
@@ -4232,12 +4946,12 @@ declare interface ESLintNode {
4232
4946
  export declare interface ESLintRule {
4233
4947
  name: string;
4234
4948
  meta: {
4235
- type: "problem" | "suggestion" | "layout";
4949
+ type: 'problem' | 'suggestion' | 'layout';
4236
4950
  docs: {
4237
4951
  description: string;
4238
4952
  recommended: boolean;
4239
4953
  };
4240
- fixable?: "code" | "whitespace";
4954
+ fixable?: 'code' | 'whitespace';
4241
4955
  schema: unknown[];
4242
4956
  };
4243
4957
  create: (context: ESLintRuleContext) => Record<string, (node: ESLintNode) => void>;
@@ -4254,6 +4968,70 @@ declare interface ESLintRuleContext {
4254
4968
  };
4255
4969
  }
4256
4970
 
4971
+ declare interface EventCondition {
4972
+ field: string;
4973
+ operator: 'eq' | 'neq' | 'gt' | 'lt' | 'gte' | 'lte' | 'contains' | 'exists';
4974
+ value: unknown;
4975
+ }
4976
+
4977
+ declare interface EventFilter {
4978
+ field?: string;
4979
+ value?: unknown;
4980
+ expression?: string;
4981
+ }
4982
+
4983
+ declare interface EventFlow {
4984
+ id: string;
4985
+ name: string;
4986
+ description?: string;
4987
+ enabled: boolean;
4988
+ source: EventSource_2;
4989
+ handlers: EventHandler[];
4990
+ errorHandler?: EventHandler;
4991
+ }
4992
+
4993
+ declare interface EventHandler {
4994
+ id: string;
4995
+ type: EventHandlerType;
4996
+ config: Record<string, unknown>;
4997
+ modifiers?: EventModifier[];
4998
+ condition?: EventCondition;
4999
+ next?: string;
5000
+ }
5001
+
5002
+ declare interface EventHandlerDefinition {
5003
+ type: EventHandlerType;
5004
+ label: string;
5005
+ icon: string;
5006
+ color: string;
5007
+ configSchema: ConfigField_2[];
5008
+ }
5009
+
5010
+ declare type EventHandlerType = 'action' | 'transform' | 'dispatch' | 'api-call' | 'state-update' | 'notification' | 'log' | 'delay' | 'branch';
5011
+
5012
+ declare interface EventModifier {
5013
+ type: 'debounce' | 'throttle' | 'delay' | 'retry' | 'once';
5014
+ value: number;
5015
+ unit?: 'ms' | 's';
5016
+ }
5017
+
5018
+ declare interface EventSource_2 {
5019
+ id: string;
5020
+ type: EventSourceType;
5021
+ config: Record<string, unknown>;
5022
+ filter?: EventFilter;
5023
+ }
5024
+
5025
+ declare interface EventSourceDefinition {
5026
+ type: EventSourceType;
5027
+ label: string;
5028
+ icon: string;
5029
+ color: string;
5030
+ configSchema: ConfigField_2[];
5031
+ }
5032
+
5033
+ declare type EventSourceType = 'ui-event' | 'api-response' | 'websocket' | 'timer' | 'custom' | 'state-change' | 'broadcast';
5034
+
4257
5035
  /**
4258
5036
  * Evidence item for a requirement.
4259
5037
  */
@@ -4280,8 +5058,73 @@ export declare interface EvidenceItem {
4280
5058
  status: 'pending' | 'approved' | 'rejected' | 'expired';
4281
5059
  }
4282
5060
 
5061
+ declare interface ExpectedResult {
5062
+ type: 'value' | 'element' | 'state' | 'call' | 'error' | 'snapshot';
5063
+ assertion: Assertion;
5064
+ }
5065
+
5066
+ export declare interface ExportDataSource<T = unknown> {
5067
+ /** Fetch data to export */
5068
+ fetchData(options: {
5069
+ fields: ExportField[];
5070
+ filters?: Record<string, unknown>;
5071
+ sorting?: {
5072
+ field: string;
5073
+ direction: 'asc' | 'desc';
5074
+ }[];
5075
+ }): Promise<T[]>;
5076
+ /** Get total count (for progress) */
5077
+ getCount?(filters?: Record<string, unknown>): Promise<number>;
5078
+ /** Get available fields */
5079
+ getFields(): ExportField[];
5080
+ }
5081
+
5082
+ export declare interface ExportField {
5083
+ field: string;
5084
+ label: string;
5085
+ include: boolean;
5086
+ format?: string;
5087
+ transform?: (value: unknown) => unknown;
5088
+ }
5089
+
4283
5090
  export declare type ExportFormat = 'mp4' | 'webm' | 'gif' | 'mov' | 'avi';
4284
5091
 
5092
+ declare type ExportFormat_2 = 'zustand' | 'redux-toolkit' | 'jotai' | 'recoil' | 'mobx';
5093
+
5094
+ declare type ExportFormat_3 = 'sql' | 'json' | 'csv' | 'parquet';
5095
+
5096
+ export declare interface ExportJob {
5097
+ id: string;
5098
+ name: string;
5099
+ templateId?: string;
5100
+ format: DataExportFormat;
5101
+ status: 'pending' | 'processing' | 'completed' | 'failed';
5102
+ progress: number;
5103
+ createdAt: Date;
5104
+ completedAt?: Date;
5105
+ downloadUrl?: string;
5106
+ error?: string;
5107
+ rowCount?: number;
5108
+ fileSize?: number;
5109
+ }
5110
+
5111
+ export declare interface ExportOptions {
5112
+ /** Include headers */
5113
+ includeHeaders?: boolean;
5114
+ /** Date format */
5115
+ dateFormat?: string;
5116
+ /** Number format */
5117
+ numberFormat?: string;
5118
+ /** Delimiter for CSV */
5119
+ csvDelimiter?: string;
5120
+ /** Encoding */
5121
+ encoding?: 'utf-8' | 'utf-16' | 'iso-8859-1';
5122
+ /** Compression */
5123
+ compress?: boolean;
5124
+ /** Password protection (XLSX, PDF) */
5125
+ password?: string;
5126
+ }
5127
+
4285
5128
  export declare interface ExportProgress {
4286
5129
  status: 'idle' | 'preparing' | 'encoding' | 'completed' | 'error';
4287
5130
  progress: number;
@@ -4307,6 +5150,20 @@ export declare interface ExportSettings {
4307
5150
  endTime?: number;
4308
5151
  }
4309
5152
 
5153
+ export declare interface ExportTemplate {
5154
+ id: string;
5155
+ name: string;
5156
+ description?: string;
5157
+ format: DataExportFormat;
5158
+ fields: ExportField[];
5159
+ filters?: Record<string, unknown>;
5160
+ sorting?: {
5161
+ field: string;
5162
+ direction: 'asc' | 'desc';
5163
+ }[];
5164
+ options?: ExportOptions;
5165
+ }
5166
+
4310
5167
  /**
4311
5168
  * Exports data to CSV format.
4312
5169
  */
@@ -4492,6 +5349,27 @@ export declare interface FAQSearchResult {
4492
5349
  */
4493
5350
  export declare function fetchFigmaTokens(config: FigmaFileConfig): Promise<FigmaTokens>;
4494
5351
 
5352
+ declare interface FieldConflict {
5353
+ field: string;
5354
+ fieldLabel: string;
5355
+ dataType: string;
5356
+ sourceValue: unknown;
5357
+ targetValue: unknown;
5358
+ baseValue?: unknown;
5359
+ resolution?: 'source' | 'target' | 'custom' | 'skip';
5360
+ customValue?: unknown;
5361
+ }
5362
+
5363
+ declare interface FieldDefinition {
5364
+ id: string;
5365
+ name: string;
5366
+ path: string;
5367
+ type: DataType_2;
5368
+ nullable?: boolean;
5369
+ children?: FieldDefinition[];
5370
+ description?: string;
5371
+ }
5372
+
4495
5373
  export declare interface FieldI18n {
4496
5374
  label?: Record<string, string>;
4497
5375
  placeholder?: Record<string, string>;
@@ -4515,6 +5393,22 @@ export declare interface FieldMapping {
4515
5393
  targetType?: string;
4516
5394
  }
4517
5395
 
5396
+ declare interface FieldMapping_2 {
5397
+ id: string;
5398
+ sourceField: string;
5399
+ targetField: string;
5400
+ transform?: string;
5401
+ condition?: string;
5402
+ defaultValue?: unknown;
5403
+ }
5404
+
5405
+ declare type FieldResolutionMap = Record<string, {
5406
+ resolution: 'source' | 'target' | 'custom';
5407
+ value: unknown;
5408
+ }>;
5409
+
5410
+ declare type FieldType = 'string' | 'number' | 'boolean' | 'array' | 'object' | 'date' | 'enum' | 'custom';
5411
+
4518
5412
  /**
4519
5413
  * NiceFigmaSync — Figma/Sketch design token synchronization.
4520
5414
  *
@@ -4524,7 +5418,7 @@ export declare interface FieldMapping {
4524
5418
  export declare interface FigmaDesignToken {
4525
5419
  name: string;
4526
5420
  value: string;
4527
- type: "color" | "spacing" | "fontSize" | "fontFamily" | "borderRadius" | "shadow" | "opacity" | "custom";
5421
+ type: 'color' | 'spacing' | 'fontSize' | 'fontFamily' | 'borderRadius' | 'shadow' | 'opacity' | 'custom';
4528
5422
  group?: string;
4529
5423
  description?: string;
4530
5424
  }
@@ -5039,6 +5933,14 @@ export declare interface FrameExtractionSettings {
5039
5933
  includeAnnotations: boolean;
5040
5934
  }
5041
5935
 
5936
+ declare interface FrameworkPreset {
5937
+ id: string;
5938
+ name: string;
5939
+ icon: string;
5940
+ description: string;
5941
+ templates: CodeTemplate[];
5942
+ }
5943
+
5042
5944
  export declare interface FreehandAnnotation extends AnnotationBase {
5043
5945
  tool: 'freehand';
5044
5946
  points: {
@@ -5121,6 +6023,12 @@ export declare interface GeneratedFile {
5121
6023
  content: string;
5122
6024
  }
5123
6025
 
6026
+ declare interface GeneratedFile_2 {
6027
+ path: string;
6028
+ content: string;
6029
+ language?: string;
6030
+ }
6031
+
5124
6032
  /**
5125
6033
  * Generate fill CSS for a variant
5126
6034
  */
@@ -5242,6 +6150,16 @@ export declare function generateViewCatalog(views: NiceViewDefinitionV2[], optio
5242
6150
 
5243
6151
  export declare function generateViewId(): string;
5244
6152
 
6153
+ export declare interface GeoLocation {
6154
+ country: string;
6155
+ countryCode?: string;
6156
+ city?: string;
6157
+ region?: string;
6158
+ latitude?: number;
6159
+ longitude?: number;
6160
+ timezone?: string;
6161
+ }
6162
+
5245
6163
  /**
5246
6164
  * Gesture handlers
5247
6165
  */
@@ -5384,6 +6302,34 @@ export declare interface GitBranch {
5384
6302
  trackingBranch?: string | null;
5385
6303
  }
5386
6304
 
6305
+ declare interface GitBranch_2 {
6306
+ name: string;
6307
+ isRemote: boolean;
6308
+ isHead: boolean;
6309
+ upstream?: string;
6310
+ ahead?: number;
6311
+ behind?: number;
6312
+ lastCommit?: string;
6313
+ protected?: boolean;
6314
+ }
6315
+
6316
+ declare interface GitBranch_3 {
6317
+ name: string;
6318
+ isRemote: boolean;
6319
+ isHead: boolean;
6320
+ upstream?: string;
6321
+ ahead?: number;
6322
+ behind?: number;
6323
+ lastCommit?: {
6324
+ hash: string;
6325
+ message: string;
6326
+ author: string;
6327
+ date: Date;
6328
+ };
6329
+ protected?: boolean;
6330
+ description?: string;
6331
+ }
6332
+
5387
6333
  export declare type GitChangeType = 'added' | 'modified' | 'deleted' | 'renamed' | 'copied' | 'untracked';
5388
6334
 
5389
6335
  export declare interface GitCommit {
@@ -5401,6 +6347,32 @@ export declare interface GitCommit {
5401
6347
  isMerge?: boolean;
5402
6348
  }
5403
6349
 
6350
+ declare interface GitCommit_2 {
6351
+ hash: string;
6352
+ shortHash: string;
6353
+ message: string;
6354
+ body?: string;
6355
+ author: {
6356
+ name: string;
6357
+ email: string;
6358
+ avatar?: string;
6359
+ };
6360
+ date: Date;
6361
+ parents: string[];
6362
+ /** Branch heads pointing at this commit */
6363
+ branches?: string[];
6364
+ /** Tags pointing at this commit */
6365
+ tags?: string[];
6366
+ /** Is this a merge commit */
6367
+ isMerge?: boolean;
6368
+ /** Files changed (summary) */
6369
+ stats?: {
6370
+ additions: number;
6371
+ deletions: number;
6372
+ filesChanged: number;
6373
+ };
6374
+ }
6375
+
5404
6376
  export declare interface GitConflict {
5405
6377
  path: string;
5406
6378
  oursContent: string;
@@ -5444,6 +6416,17 @@ export declare interface GitFileDiff {
5444
6416
 
5445
6417
  export declare type GitFileStatus = 'staged' | 'unstaged' | 'untracked' | 'conflicted';
5446
6418
 
6419
+ declare interface GitHook {
6420
+ type: GitHookType;
6421
+ enabled: boolean;
6422
+ actions: HookAction[];
6423
+ parallel?: boolean;
6424
+ timeout?: number;
6425
+ verbose?: boolean;
6426
+ }
6427
+
6428
+ declare type GitHookType = 'pre-commit' | 'prepare-commit-msg' | 'commit-msg' | 'post-commit' | 'pre-push' | 'pre-rebase' | 'post-merge' | 'post-checkout' | 'pre-auto-gc';
6429
+
5447
6430
  export declare type GitMergeStrategy = 'merge' | 'rebase' | 'squash' | 'fast-forward';
5448
6431
 
5449
6432
  export declare interface GitStagedFile {
@@ -5472,6 +6455,15 @@ export declare interface GitTag {
5472
6455
  isAnnotated: boolean;
5473
6456
  }
5474
6457
 
6458
+ declare interface GitTag_2 {
6459
+ name: string;
6460
+ commit: string;
6461
+ message?: string;
6462
+ tagger?: string;
6463
+ date?: Date;
6464
+ isAnnotated?: boolean;
6465
+ }
6466
+
5475
6467
  export declare interface GitTrackedModule {
5476
6468
  module: string;
5477
6469
  instance: string | null;
@@ -5480,6 +6472,36 @@ export declare interface GitTrackedModule {
5480
6472
  autoCommitEnabled: boolean;
5481
6473
  }
5482
6474
 
6475
+ export declare interface GlobalSearchFilter {
6476
+ field: string;
6477
+ label: string;
6478
+ type: 'select' | 'multi-select' | 'date' | 'range';
6479
+ options?: {
6480
+ value: string;
6481
+ label: string;
6482
+ }[];
6483
+ value?: unknown;
6484
+ }
6485
+
6486
+ export declare interface GlobalSearchResult {
6487
+ id: string;
6488
+ type: SearchResultType;
6489
+ title: string;
6490
+ subtitle?: string;
6491
+ description?: string;
6492
+ icon?: ReactNode;
6493
+ image?: string;
6494
+ url?: string;
6495
+ relevanceScore: number;
6496
+ source: string;
6497
+ metadata?: Record<string, unknown>;
6498
+ actions?: SearchAction[];
6499
+ highlights?: {
6500
+ field: string;
6501
+ matches: string[];
6502
+ }[];
6503
+ }
6504
+
5483
6505
  export declare const GRADIENT_PRESETS: {
5484
6506
  name: string;
5485
6507
  value: NiceGradientValue;
@@ -5515,7 +6537,7 @@ export declare interface GraphQLSubscriptionSource<T> extends NiceDataSourceConf
5515
6537
  export declare interface GridColumnDef {
5516
6538
  dataField: string;
5517
6539
  caption: string;
5518
- dataType: "string" | "number" | "boolean" | "date" | "datetime" | "object";
6540
+ dataType: 'string' | 'number' | 'boolean' | 'date' | 'datetime' | 'object';
5519
6541
  width?: number;
5520
6542
  allowEditing?: boolean;
5521
6543
  visible?: boolean;
@@ -5589,6 +6611,12 @@ export declare interface GridPreferences {
5589
6611
  rowColors?: Record<string | number, string>;
5590
6612
  }
5591
6613
 
6614
+ declare interface GridSettings {
6615
+ columns: number;
6616
+ gap: number;
6617
+ padding: number;
6618
+ }
6619
+
5592
6620
  /**
5593
6621
  * Options for useGridStatePersistence hook.
5594
6622
  */
@@ -5716,8 +6744,7 @@ export declare class HapticPatternBuilder {
5716
6744
  /**
5717
6745
  * Context value
5718
6746
  */
5719
- export declare interface HapticsContextValue extends UseHapticsReturn {
5720
- }
6747
+ export declare type HapticsContextValue = UseHapticsReturn;
5721
6748
 
5722
6749
  /**
5723
6750
  * Predefined haptic feedback type
@@ -5929,6 +6956,37 @@ export declare function highlightMatches(text: string, indices: number[]): React
5929
6956
 
5930
6957
  export declare type HitPolicy = 'unique' | 'first' | 'priority' | 'any' | 'collect' | 'ruleOrder' | 'outputOrder';
5931
6958
 
6959
+ declare interface HookAction {
6960
+ id: string;
6961
+ type: 'lint' | 'test' | 'format' | 'typecheck' | 'build' | 'custom';
6962
+ name: string;
6963
+ command: string;
6964
+ description?: string;
6965
+ icon?: string;
6966
+ runOn?: 'staged' | 'all' | 'changed';
6967
+ filePatterns?: string[];
6968
+ condition?: HookCondition;
6969
+ order: number;
6970
+ enabled: boolean;
6971
+ failOnError: boolean;
6972
+ }
6973
+
6974
+ declare interface HookCondition {
6975
+ type: 'branch' | 'files' | 'env' | 'custom';
6976
+ operator: 'equals' | 'contains' | 'matches' | 'exists' | 'not';
6977
+ value: string;
6978
+ }
6979
+
6980
+ declare interface HookTemplate {
6981
+ id: string;
6982
+ name: string;
6983
+ description: string;
6984
+ icon: string;
6985
+ category: 'lint' | 'test' | 'security' | 'quality' | 'ci';
6986
+ hook: GitHookType;
6987
+ actions: Omit<HookAction, 'id' | 'order'>[];
6988
+ }
6989
+
5932
6990
  declare interface HSL {
5933
6991
  h: number;
5934
6992
  s: number;
@@ -5958,6 +7016,8 @@ export declare function hsvToHex(hsv: HSV): string;
5958
7016
 
5959
7017
  export declare function hsvToRgb({ h, s, v }: HSV): RGB;
5960
7018
 
7019
+ declare type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD' | 'OPTIONS';
7020
+
5961
7021
  /** HTTP method. */
5962
7022
  export declare type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
5963
7023
 
@@ -5977,6 +7037,21 @@ export declare const HubSpotConnector: ConnectorDefinition;
5977
7037
  */
5978
7038
  export declare type ICUValues = Record<string, string | number>;
5979
7039
 
7040
+ export declare interface ImageGalleryItem {
7041
+ /** Full image URL */
7042
+ src: string;
7043
+ /** Thumbnail URL (optional, defaults to src) */
7044
+ thumbnail?: string;
7045
+ /** Alt text for accessibility */
7046
+ alt?: string;
7047
+ /** Image title/caption */
7048
+ title?: string;
7049
+ /** Optional description */
7050
+ description?: string;
7051
+ /** Loading placeholder (blur hash or color) */
7052
+ placeholder?: string;
7053
+ }
7054
+
5980
7055
  /** Compose message data. */
5981
7056
  declare interface InboxComposeData {
5982
7057
  to: string;
@@ -6145,8 +7220,82 @@ export declare interface IntegrationWebhookConfig {
6145
7220
  updatedAt: string;
6146
7221
  }
6147
7222
 
6148
- /** Tracking interpolation */
6149
- export declare type InterpolationType = 'linear' | 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'step';
7223
+ /** Tracking interpolation */
7224
+ export declare type InterpolationType = 'linear' | 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'step';
7225
+
7226
+ export declare interface InvoiceData {
7227
+ invoiceNumber?: string;
7228
+ date?: string;
7229
+ dueDate?: string;
7230
+ seller?: {
7231
+ name: string;
7232
+ address?: string;
7233
+ taxId?: string;
7234
+ email?: string;
7235
+ phone?: string;
7236
+ logo?: string;
7237
+ };
7238
+ buyer?: {
7239
+ name: string;
7240
+ address?: string;
7241
+ taxId?: string;
7242
+ email?: string;
7243
+ };
7244
+ items?: InvoiceLineItem[];
7245
+ subtotal?: number;
7246
+ taxAmount?: number;
7247
+ discount?: number;
7248
+ total?: number;
7249
+ currency?: string;
7250
+ notes?: string;
7251
+ terms?: string;
7252
+ bankDetails?: {
7253
+ bankName?: string;
7254
+ accountNumber?: string;
7255
+ iban?: string;
7256
+ swift?: string;
7257
+ };
7258
+ customFields?: Record<string, string | number>;
7259
+ }
7260
+
7261
+ export declare interface InvoiceDesignerLabels {
7262
+ title?: string;
7263
+ templates?: string;
7264
+ elements?: string;
7265
+ properties?: string;
7266
+ preview?: string;
7267
+ export?: string;
7268
+ save?: string;
7269
+ addElement?: string;
7270
+ deleteElement?: string;
7271
+ duplicateElement?: string;
7272
+ lockElement?: string;
7273
+ unlockElement?: string;
7274
+ undo?: string;
7275
+ redo?: string;
7276
+ zoom?: string;
7277
+ grid?: string;
7278
+ snap?: string;
7279
+ noSelection?: string;
7280
+ lineItems?: string;
7281
+ addLineItem?: string;
7282
+ removeLineItem?: string;
7283
+ }
7284
+
7285
+ export declare interface InvoiceElement {
7286
+ id: string;
7287
+ type: InvoiceElementType;
7288
+ x: number;
7289
+ y: number;
7290
+ width: number;
7291
+ height: number;
7292
+ content?: string;
7293
+ field?: string;
7294
+ style?: Record<string, string | number>;
7295
+ locked?: boolean;
7296
+ }
7297
+
7298
+ export declare type InvoiceElementType = 'text' | 'field' | 'image' | 'table' | 'divider' | 'qrcode' | 'barcode' | 'signature' | 'total' | 'subtotal' | 'tax' | 'shape';
6150
7299
 
6151
7300
  /** A single invoice/order line item. */
6152
7301
  export declare interface InvoiceLine {
@@ -6163,6 +7312,32 @@ export declare interface InvoiceLine {
6163
7312
  grossAmount?: number;
6164
7313
  }
6165
7314
 
7315
+ export declare type InvoiceLineItem = {
7316
+ id: string;
7317
+ description: string;
7318
+ quantity: number;
7319
+ unitPrice: number;
7320
+ discount?: number;
7321
+ tax?: number;
7322
+ total: number;
7323
+ };
7324
+
7325
+ export declare interface InvoiceTemplate {
7326
+ id: string;
7327
+ name: string;
7328
+ thumbnail?: string;
7329
+ category: 'standard' | 'professional' | 'minimal' | 'modern' | 'custom';
7330
+ elements: InvoiceElement[];
7331
+ pageSize: 'a4' | 'letter' | 'legal';
7332
+ orientation: 'portrait' | 'landscape';
7333
+ margins: {
7334
+ top: number;
7335
+ right: number;
7336
+ bottom: number;
7337
+ left: number;
7338
+ };
7339
+ }
7340
+
6166
7341
  /** Invoice totals. */
6167
7342
  export declare interface InvoiceTotals {
6168
7343
  totalNet: number;
@@ -6237,6 +7412,8 @@ export declare type JobPriority = 'low' | 'normal' | 'high' | 'urgent';
6237
7412
 
6238
7413
  export declare type JobStatus = 'idle' | 'running' | 'completed' | 'failed' | 'cancelled' | 'paused';
6239
7414
 
7415
+ declare type JobStatus_2 = 'pending' | 'running' | 'success' | 'failure' | 'cancelled' | 'skipped' | 'waiting';
7416
+
6240
7417
  /**
6241
7418
  * Keyboard layout type
6242
7419
  */
@@ -6305,6 +7482,18 @@ declare interface KnowledgeBaseArticle {
6305
7482
  */
6306
7483
  declare type LabelDisplay = 'auto' | 'on' | 'off';
6307
7484
 
7485
+ declare interface LayoutColumn {
7486
+ id: string;
7487
+ width: number;
7488
+ components: PlacedComponent[];
7489
+ }
7490
+
7491
+ declare interface LayoutConfig {
7492
+ type: 'flex' | 'grid' | 'absolute';
7493
+ direction?: 'row' | 'column';
7494
+ gap?: number;
7495
+ }
7496
+
6308
7497
  /**
6309
7498
  * Layout preferences
6310
7499
  */
@@ -6323,6 +7512,12 @@ export declare interface LayoutPreferences {
6323
7512
  splitterPositions?: Record<string, number>;
6324
7513
  }
6325
7514
 
7515
+ declare interface LayoutRow {
7516
+ id: string;
7517
+ columns: LayoutColumn[];
7518
+ height?: string;
7519
+ }
7520
+
6326
7521
  /**
6327
7522
  * Options for creating lazy components
6328
7523
  */
@@ -6590,10 +7785,75 @@ export declare interface LiveDataPoint {
6590
7785
  category?: string;
6591
7786
  }
6592
7787
 
7788
+ /** Column definition */
7789
+ export declare interface LiveGridColumn<T extends LiveGridRow = LiveGridRow> {
7790
+ /** Unique field key */
7791
+ field: keyof T | string;
7792
+ /** Column header */
7793
+ header: string;
7794
+ /** Column width */
7795
+ width?: number | string;
7796
+ /** Min width */
7797
+ minWidth?: number;
7798
+ /** Max width */
7799
+ maxWidth?: number;
7800
+ /** Alignment */
7801
+ align?: 'left' | 'center' | 'right';
7802
+ /** Custom cell renderer */
7803
+ render?: (value: unknown, row: T, column: LiveGridColumn<T>) => ReactNode;
7804
+ /** Sortable */
7805
+ sortable?: boolean;
7806
+ /** Filterable */
7807
+ filterable?: boolean;
7808
+ /** Resizable */
7809
+ resizable?: boolean;
7810
+ /** Custom header renderer */
7811
+ headerRender?: (column: LiveGridColumn<T>) => ReactNode;
7812
+ /** Highlight field changes */
7813
+ highlightChanges?: boolean;
7814
+ }
7815
+
7816
+ /** Live data source interface */
7817
+ export declare interface LiveGridDataSource<T extends LiveGridRow = LiveGridRow> {
7818
+ /** Subscribe to updates */
7819
+ subscribe(onUpdate: (update: LiveGridUpdate<T> | LiveGridUpdateBatch<T>) => void): () => void;
7820
+ /** Get initial data */
7821
+ fetchInitial?(): Promise<T[]>;
7822
+ /** Connection status callback */
7823
+ onStatusChange?(callback: (status: ConnectionStatus) => void): () => void;
7824
+ /** Manual reconnect */
7825
+ reconnect?(): void;
7826
+ }
7827
+
7828
+ /** Row data with required ID field */
7829
+ export declare interface LiveGridRow {
7830
+ id: string | number;
7831
+ [key: string]: unknown;
7832
+ }
7833
+
7834
+ /** A single data update from the live source */
7835
+ export declare interface LiveGridUpdate<T extends LiveGridRow = LiveGridRow> {
7836
+ operation: UpdateOperation;
7837
+ row: T;
7838
+ /** Field-level changes for update operations */
7839
+ changes?: Partial<T>;
7840
+ /** Timestamp of the update */
7841
+ timestamp?: number;
7842
+ /** Source identifier */
7843
+ source?: string;
7844
+ }
7845
+
7846
+ /** Batch of updates for efficiency */
7847
+ export declare interface LiveGridUpdateBatch<T extends LiveGridRow = LiveGridRow> {
7848
+ updates: LiveGridUpdate<T>[];
7849
+ /** If true, replace entire dataset instead of merging */
7850
+ fullRefresh?: boolean;
7851
+ }
7852
+
6593
7853
  export declare interface LiveRegionOptions {
6594
- politeness?: "polite" | "assertive" | "off";
7854
+ politeness?: 'polite' | 'assertive' | 'off';
6595
7855
  atomic?: boolean;
6596
- relevant?: "additions" | "removals" | "text" | "all";
7856
+ relevant?: 'additions' | 'removals' | 'text' | 'all';
6597
7857
  clearAfterMs?: number;
6598
7858
  }
6599
7859
 
@@ -6928,6 +8188,17 @@ export declare interface MapBubble {
6928
8188
  color?: string;
6929
8189
  }
6930
8190
 
8191
+ declare interface MappingDefinition {
8192
+ id: string;
8193
+ name: string;
8194
+ description?: string;
8195
+ sourceSchema: SchemaDefinition_2;
8196
+ targetSchema: SchemaDefinition_2;
8197
+ fieldMappings: FieldMapping_2[];
8198
+ transformations: Transformation[];
8199
+ validationRules: ValidationRule_3[];
8200
+ }
8201
+
6931
8202
  export declare interface MapRegion {
6932
8203
  id: string;
6933
8204
  name: string;
@@ -7067,6 +8338,104 @@ export declare interface MenuPosition {
7067
8338
  */
7068
8339
  export declare type MenuStyleVariant = 'default' | 'compact' | 'glass' | 'bordered' | 'floating';
7069
8340
 
8341
+ export declare interface MergeConfig {
8342
+ sourceId: string;
8343
+ targetId: string;
8344
+ strategy: MergeStrategy;
8345
+ tables?: string[];
8346
+ createBackup: boolean;
8347
+ dryRun: boolean;
8348
+ scheduledAt?: Date;
8349
+ conflictResolutions?: Record<string, ConflictResolutionChoice>;
8350
+ }
8351
+
8352
+ declare interface MergeContext {
8353
+ baseCommit: {
8354
+ id: string;
8355
+ shortId: string;
8356
+ message: string;
8357
+ author: string;
8358
+ };
8359
+ oursCommit: {
8360
+ id: string;
8361
+ shortId: string;
8362
+ message: string;
8363
+ author: string;
8364
+ branch: string;
8365
+ };
8366
+ theirsCommit: {
8367
+ id: string;
8368
+ shortId: string;
8369
+ message: string;
8370
+ author: string;
8371
+ branch: string;
8372
+ };
8373
+ }
8374
+
8375
+ declare interface MergeRequestData {
8376
+ title: string;
8377
+ description: string;
8378
+ sourceBranch: string;
8379
+ targetBranch: string;
8380
+ isDraft: boolean;
8381
+ labels: string[];
8382
+ reviewers: string[];
8383
+ assignees: string[];
8384
+ linkedIssues: string[];
8385
+ squashCommits: boolean;
8386
+ deleteSourceBranch: boolean;
8387
+ }
8388
+
8389
+ declare interface MergeRequestDiff {
8390
+ additions: number;
8391
+ deletions: number;
8392
+ changedFiles: number;
8393
+ files: Array<{
8394
+ path: string;
8395
+ status: 'added' | 'modified' | 'deleted' | 'renamed';
8396
+ additions: number;
8397
+ deletions: number;
8398
+ }>;
8399
+ }
8400
+
8401
+ declare interface MergeRequestIssue {
8402
+ id: string;
8403
+ number: number;
8404
+ title: string;
8405
+ state: 'open' | 'closed';
8406
+ labels?: MergeRequestLabel[];
8407
+ }
8408
+
8409
+ declare interface MergeRequestLabel {
8410
+ id: string;
8411
+ name: string;
8412
+ color: string;
8413
+ description?: string;
8414
+ }
8415
+
8416
+ declare interface MergeRequestTemplate {
8417
+ id: string;
8418
+ name: string;
8419
+ description: string;
8420
+ content: string;
8421
+ }
8422
+
8423
+ declare interface MergeRequestUser {
8424
+ id: string;
8425
+ name: string;
8426
+ email: string;
8427
+ avatar?: string;
8428
+ }
8429
+
8430
+ /** Merge strategies */
8431
+ declare type MergeStrategy = 'keep-source' | 'keep-target' | 'keep-both' | 'keep-base' | 'manual' | 'auto';
8432
+
8433
+ declare interface MiddlewareConfig {
8434
+ type: 'logger' | 'persist' | 'devtools' | 'immer' | 'custom';
8435
+ enabled: boolean;
8436
+ options?: Record<string, unknown>;
8437
+ }
8438
+
7070
8439
  /**
7071
8440
  * Context value
7072
8441
  */
@@ -7106,7 +8475,7 @@ export declare interface MobileHeaderContextValue {
7106
8475
  */
7107
8476
  export declare interface MobileModalContextValue {
7108
8477
  isOpen: boolean;
7109
- snapPoints: SnapPoint[];
8478
+ snapPoints: ModalSnapPoint[];
7110
8479
  currentSnapIndex: number;
7111
8480
  setSnapIndex: (index: number) => void;
7112
8481
  close: (trigger?: DismissTrigger) => void;
@@ -7130,12 +8499,26 @@ export declare interface MobileTabsContextValue {
7130
8499
  tabs: TabItem[];
7131
8500
  }
7132
8501
 
8502
+ declare interface MockConfig {
8503
+ name: string;
8504
+ type: MockType;
8505
+ implementation?: string;
8506
+ returnValue?: unknown;
8507
+ }
8508
+
7133
8509
  export declare interface MockDataSourceOptions<T> {
7134
8510
  data: T[];
7135
8511
  delay?: number;
7136
8512
  keyField?: string;
7137
8513
  }
7138
8514
 
8515
+ declare interface MockDefinition {
8516
+ name: string;
8517
+ type: MockType;
8518
+ description?: string;
8519
+ configSchema?: ConfigField_3[];
8520
+ }
8521
+
7139
8522
  export declare interface MockLiveChartSourceConfig {
7140
8523
  /** Series names to generate data for. */
7141
8524
  seriesNames: string[];
@@ -7145,6 +8528,20 @@ export declare interface MockLiveChartSourceConfig {
7145
8528
  generateValue?: (seriesName: string, index: number) => number;
7146
8529
  }
7147
8530
 
8531
+ declare interface MockResponse {
8532
+ enabled: boolean;
8533
+ delay?: number;
8534
+ status?: number;
8535
+ body?: unknown;
8536
+ }
8537
+
8538
+ declare type MockType = 'function' | 'module' | 'api' | 'timer' | 'storage';
8539
+
8540
+ /**
8541
+ * Modal snap point – where the modal can "land"
8542
+ */
8543
+ export declare type ModalSnapPoint = number | 'content' | 'full';
8544
+
7148
8545
  /**
7149
8546
  * Modal / dialog style variants
7150
8547
  */
@@ -7772,6 +9169,60 @@ export declare interface NiceAccessControlProps {
7772
9169
  children: default_2.ReactNode;
7773
9170
  }
7774
9171
 
9172
+ export declare const NiceAccessLog: default_2.ForwardRefExoticComponent<NiceAccessLogProps & default_2.RefAttributes<NiceAccessLogRef>>;
9173
+
9174
+ export declare interface NiceAccessLogProps extends NiceBaseProps {
9175
+ /** Log entries data */
9176
+ entries: AccessLogEntry[];
9177
+ /** Initial filter */
9178
+ filter?: AccessLogFilter;
9179
+ /** Statistics */
9180
+ stats?: AccessLogStats;
9181
+ /** Enable real-time updates */
9182
+ realtime?: boolean;
9183
+ /** Polling interval in ms for real-time */
9184
+ pollingInterval?: number;
9185
+ /** Show geo map visualization */
9186
+ showMap?: boolean;
9187
+ /** Show statistics panel */
9188
+ showStats?: boolean;
9189
+ /** Enable entry detail view */
9190
+ showDetails?: boolean;
9191
+ /** Page size for pagination */
9192
+ pageSize?: number;
9193
+ /** Custom labels */
9194
+ labels?: AccessLogLabels;
9195
+ /** Loading state */
9196
+ loading?: boolean;
9197
+ /** Called when filter changes */
9198
+ onFilterChange?: (filter: AccessLogFilter) => void;
9199
+ /** Called when export requested */
9200
+ onExport?: (format: 'csv' | 'json' | 'pdf') => void;
9201
+ /** Called when entry selected */
9202
+ onEntrySelect?: (entry: AccessLogEntry) => void;
9203
+ /** Called when block IP requested */
9204
+ onBlockIP?: (ip: string) => void;
9205
+ /** Called when refresh requested */
9206
+ onRefresh?: () => void;
9207
+ }
9208
+
9209
+ export declare interface NiceAccessLogRef {
9210
+ /** Get current filter */
9211
+ getFilter: () => AccessLogFilter;
9212
+ /** Apply filter */
9213
+ applyFilter: (filter: AccessLogFilter) => void;
9214
+ /** Clear all filters */
9215
+ clearFilters: () => void;
9216
+ /** Export data */
9217
+ export: (format: 'csv' | 'json' | 'pdf') => void;
9218
+ /** Refresh data */
9219
+ refresh: () => void;
9220
+ /** Get selected entry */
9221
+ getSelectedEntry: () => AccessLogEntry | null;
9222
+ /** Get container element */
9223
+ getElement: () => HTMLDivElement | null;
9224
+ }
9225
+
7775
9226
  /**
7776
9227
  * Per-component visibility & interaction level used by the access control system.
7777
9228
  * - `'full'` — fully interactive (default)
@@ -8146,6 +9597,19 @@ export declare interface NiceApiExplorerProps extends NiceBaseProps {
8146
9597
  layout?: 'sidebar' | 'stacked';
8147
9598
  }
8148
9599
 
9600
+ export declare const NiceAPIFlow: default_2.FC<NiceAPIFlowProps>;
9601
+
9602
+ export declare interface NiceAPIFlowProps extends NiceBaseProps {
9603
+ /** API flow definition */
9604
+ flow?: APIFlowDefinition;
9605
+ /** Available data sources */
9606
+ dataSources?: DataSource[];
9607
+ onFlowChange?: (flow: APIFlowDefinition) => void;
9608
+ onExport?: (code: string) => void;
9609
+ onTest?: (endpointId: string) => void;
9610
+ onSave?: (flow: APIFlowDefinition) => void;
9611
+ }
9612
+
8149
9613
  export declare const NiceAppLayout: default_2.ForwardRefExoticComponent<NiceAppLayoutProps & default_2.RefAttributes<HTMLDivElement>>;
8150
9614
 
8151
9615
  /** Props for the {@link NiceAppLayout} component — a top-level application shell with header, collapsible sidebar, content area, and footer. */
@@ -8283,6 +9747,39 @@ export declare interface NiceAuditLogProps {
8283
9747
  'data-testid'?: string;
8284
9748
  }
8285
9749
 
9750
+ export declare const NiceAuditTrail: default_2.ForwardRefExoticComponent<NiceAuditTrailProps & default_2.RefAttributes<NiceAuditTrailRef>>;
9751
+
9752
+ export declare interface NiceAuditTrailProps extends NiceBaseProps {
9753
+ /** Data source */
9754
+ dataSource: AuditDataSource;
9755
+ /** Initial filter */
9756
+ initialFilter?: AuditFilter;
9757
+ /** Page size */
9758
+ pageSize?: number;
9759
+ /** View mode */
9760
+ viewMode?: 'table' | 'timeline';
9761
+ /** Enable export */
9762
+ enableExport?: boolean;
9763
+ /** Enable diff viewer */
9764
+ showDiffs?: boolean;
9765
+ /** Render custom action icon */
9766
+ renderActionIcon?: (action: AuditAction) => ReactNode;
9767
+ /** Render custom user */
9768
+ renderUser?: (entry: AuditEntry) => ReactNode;
9769
+ /** Called when entry is clicked */
9770
+ onEntryClick?: (entry: AuditEntry) => void;
9771
+ /** Called on export */
9772
+ onExport?: (entries: AuditEntry[], format: 'csv' | 'json') => void;
9773
+ /** Title */
9774
+ title?: string;
9775
+ }
9776
+
9777
+ export declare interface NiceAuditTrailRef {
9778
+ refresh: () => Promise<void>;
9779
+ setFilter: (filter: AuditFilter) => void;
9780
+ getEntries: () => AuditEntry[];
9781
+ }
9782
+
8286
9783
  /**
8287
9784
  * {@link NiceAuthGuard} — Protected route/section wrapper.
8288
9785
  * Checks authentication and permission/role requirements before rendering children.
@@ -8645,27 +10142,60 @@ export declare interface NiceBottomNavigationProps extends NiceBaseProps {
8645
10142
  showLabels?: boolean;
8646
10143
  }
8647
10144
 
8648
- /**
8649
- * Mobile-first bottom sheet component.
8650
- * Supports drag-to-dismiss and snap points.
8651
- */
8652
- export declare const NiceBottomSheet: default_2.FC<NiceBottomSheetProps>;
10145
+ export declare const NiceBottomSheet: default_2.ForwardRefExoticComponent<NiceBottomSheetProps & default_2.RefAttributes<NiceBottomSheetRef>>;
8653
10146
 
8654
- export declare interface NiceBottomSheetProps extends NiceOverlayBaseProps {
10147
+ export declare interface NiceBottomSheetProps {
8655
10148
  /** Sheet content */
8656
- children: default_2.ReactNode;
8657
- /** Sheet title */
8658
- title?: string;
8659
- /** Show drag handle (default true) */
8660
- showHandle?: boolean;
8661
- /** Snap points as percentages of viewport height (default [0.5, 0.9]) */
8662
- snapPoints?: number[];
8663
- /** Initial snap point index (default 0) */
10149
+ children: ReactNode;
10150
+ /** Whether the sheet is open */
10151
+ open: boolean;
10152
+ /** Called when the sheet should close */
10153
+ onClose: () => void;
10154
+ /** Called when snap point changes */
10155
+ onSnapChange?: (snapIndex: number, snapValue: number) => void;
10156
+ /** Snap points as percentages (0-100) or 'content'/'full' */
10157
+ snapPoints?: SnapPoint[];
10158
+ /** Initial snap point index (default: 0) */
8664
10159
  initialSnap?: number;
8665
- /** Allow full expansion (default true) */
8666
- expandable?: boolean;
8667
- /** Enable haptic feedback on snap (default true) */
10160
+ /** Header content (fixed at top) */
10161
+ header?: ReactNode;
10162
+ /** Footer content (fixed at bottom) */
10163
+ footer?: ReactNode;
10164
+ /** Show drag handle indicator */
10165
+ showHandle?: boolean;
10166
+ /** Show backdrop overlay */
10167
+ showBackdrop?: boolean;
10168
+ /** Close on backdrop click */
10169
+ closeOnBackdrop?: boolean;
10170
+ /** Close on escape key */
10171
+ closeOnEscape?: boolean;
10172
+ /** Allow dismiss by dragging down past lowest snap */
10173
+ dismissible?: boolean;
10174
+ /** Velocity threshold to trigger snap (px/ms, default: 0.5) */
10175
+ velocityThreshold?: number;
10176
+ /** Enable haptic feedback */
8668
10177
  hapticFeedback?: boolean;
10178
+ /** Custom handle color */
10179
+ handleColor?: string;
10180
+ /** Border radius for top corners */
10181
+ borderRadius?: number;
10182
+ /** Z-index for the sheet */
10183
+ zIndex?: number;
10184
+ /** Custom class name */
10185
+ className?: string;
10186
+ /** Custom styles */
10187
+ style?: CSSProperties;
10188
+ /** Accessibility label */
10189
+ ariaLabel?: string;
10190
+ }
10191
+
10192
+ export declare interface NiceBottomSheetRef {
10193
+ /** Snap to a specific point */
10194
+ snapTo: (index: number) => void;
10195
+ /** Close the sheet */
10196
+ close: () => void;
10197
+ /** Get current snap index */
10198
+ getCurrentSnap: () => number;
8669
10199
  }
8670
10200
 
8671
10201
  export declare const NiceBox: default_2.FC<NiceBoxProps>;
@@ -8711,6 +10241,35 @@ export declare interface NiceBPMNDesignerProps extends NiceBaseProps {
8711
10241
  onImportBPMN?: () => void;
8712
10242
  }
8713
10243
 
10244
+ export declare const NiceBranchManager: default_2.FC<NiceBranchManagerProps>;
10245
+
10246
+ export declare interface NiceBranchManagerProps extends NiceBaseProps {
10247
+ /** All branches */
10248
+ branches: GitBranch_3[];
10249
+ /** Current HEAD branch */
10250
+ currentBranch?: string;
10251
+ /** Default branch */
10252
+ defaultBranch?: string;
10253
+ /** Protection rules */
10254
+ protectionRules?: BranchProtectionRule[];
10255
+ /** Show remote branches */
10256
+ showRemotes?: boolean;
10257
+ /** Selected branch */
10258
+ selectedBranch?: string;
10259
+ onBranchSelect?: (branch: string) => void;
10260
+ onCheckout?: (branch: string) => void;
10261
+ onCreateBranch?: (name: string, fromBranch?: string) => void;
10262
+ onDeleteBranch?: (branch: string, force?: boolean) => void;
10263
+ onRenameBranch?: (oldName: string, newName: string) => void;
10264
+ onMerge?: (source: string, target: string) => void;
10265
+ onRebase?: (branch: string, onto: string) => void;
10266
+ onSetUpstream?: (branch: string, upstream: string) => void;
10267
+ onPush?: (branch: string, force?: boolean) => void;
10268
+ onPull?: (branch: string) => void;
10269
+ onCompare?: (branch1: string, branch2: string) => void;
10270
+ onProtectionChange?: (branch: string, rule: BranchProtectionRule | null) => void;
10271
+ }
10272
+
8714
10273
  export declare const NiceBreadcrumb: default_2.FC<NiceBreadcrumbProps>;
8715
10274
 
8716
10275
  /** A single crumb in the {@link NiceBreadcrumb} trail. */
@@ -9477,6 +11036,63 @@ export declare interface NiceCodeMarker {
9477
11036
  severity: 1 | 2 | 4 | 8;
9478
11037
  }
9479
11038
 
11039
+ /**
11040
+ * NiceCodePreview - Live code preview with syntax highlighting and diff
11041
+ *
11042
+ * Features:
11043
+ * - Syntax highlighting for multiple languages
11044
+ * - Line numbers
11045
+ * - Live preview for React/HTML
11046
+ * - Side-by-side diff view
11047
+ * - Copy to clipboard
11048
+ */
11049
+ export declare const NiceCodePreview: default_2.FC<NiceCodePreviewProps>;
11050
+
11051
+ export declare interface NiceCodePreviewProps {
11052
+ /** Code to display */
11053
+ code: string;
11054
+ /** Programming language */
11055
+ language?: string;
11056
+ /** Show line numbers */
11057
+ lineNumbers?: boolean;
11058
+ /** Enable live preview (for React/HTML) */
11059
+ livePreview?: boolean;
11060
+ /** Show diff view */
11061
+ showDiff?: boolean;
11062
+ /** Previous code for diff comparison */
11063
+ previousCode?: string;
11064
+ /** Theme */
11065
+ theme?: 'light' | 'dark';
11066
+ /** Copy to clipboard enabled */
11067
+ copyable?: boolean;
11068
+ /** Called when code is copied */
11069
+ onCopy?: () => void;
11070
+ /** Additional class name */
11071
+ className?: string;
11072
+ }
11073
+
11074
+ export declare const NiceCodeTemplate: default_2.FC<NiceCodeTemplateProps>;
11075
+
11076
+ export declare interface NiceCodeTemplateProps extends NiceBaseProps {
11077
+ /** Available templates */
11078
+ templates: CodeTemplate[];
11079
+ /** Framework presets */
11080
+ presets?: FrameworkPreset[];
11081
+ /** Currently selected template */
11082
+ selectedTemplate?: string;
11083
+ /** Template engine */
11084
+ defaultEngine?: TemplateEngine;
11085
+ /** Show template library */
11086
+ showLibrary?: boolean;
11087
+ onTemplateSelect?: (template: CodeTemplate) => void;
11088
+ onTemplateCreate?: (template: CodeTemplate) => void;
11089
+ onTemplateUpdate?: (template: CodeTemplate) => void;
11090
+ onTemplateDelete?: (templateId: string) => void;
11091
+ onGenerate?: (files: GeneratedFile_2[], variables: Record<string, unknown>) => void;
11092
+ onExport?: (template: CodeTemplate, format: 'json' | 'zip') => void;
11093
+ onImport?: (template: CodeTemplate) => void;
11094
+ }
11095
+
9480
11096
  export declare type NiceCodeTheme = 'vs' | 'vs-dark' | 'hc-black' | 'hc-light';
9481
11097
 
9482
11098
  export declare const NiceColorPalette: default_2.ForwardRefExoticComponent<NiceColorPaletteProps & default_2.RefAttributes<HTMLDivElement>>;
@@ -9749,6 +11365,30 @@ export declare interface NiceComplianceDashboardProps extends NiceBaseProps {
9749
11365
  style?: default_2.CSSProperties;
9750
11366
  }
9751
11367
 
11368
+ /**
11369
+ * NiceComponentDesigner - Visual React component designer
11370
+ *
11371
+ * Features:
11372
+ * - Define props with types and defaults
11373
+ * - Configure component state
11374
+ * - Add React hooks
11375
+ * - Set children behavior
11376
+ */
11377
+ export declare const NiceComponentDesigner: default_2.FC<NiceComponentDesignerProps>;
11378
+
11379
+ export declare interface NiceComponentDesignerProps {
11380
+ /** Component being edited */
11381
+ component?: ComponentSchema;
11382
+ /** Available props types */
11383
+ propTypes?: PropTypeDefinition[];
11384
+ /** Called when component changes */
11385
+ onChange?: (component: ComponentSchema) => void;
11386
+ /** Theme */
11387
+ theme?: 'light' | 'dark';
11388
+ /** Additional class name */
11389
+ className?: string;
11390
+ }
11391
+
9752
11392
  export declare interface NiceComponentEntry {
9753
11393
  name: string;
9754
11394
  component: default_2.ComponentType<any>;
@@ -10141,6 +11781,60 @@ export declare interface NiceContextMenuProps extends NiceBaseProps {
10141
11781
  onItemClick?: (item: NiceMenuItem) => void;
10142
11782
  }
10143
11783
 
11784
+ export declare const NiceContractEditor: default_2.ForwardRefExoticComponent<NiceContractEditorProps & default_2.RefAttributes<NiceContractEditorRef>>;
11785
+
11786
+ export declare interface NiceContractEditorProps extends NiceBaseProps {
11787
+ /** Document to edit */
11788
+ document: ContractDocument;
11789
+ /** Available clause library */
11790
+ clauseLibrary?: ContractClause[];
11791
+ /** Read-only mode */
11792
+ readOnly?: boolean;
11793
+ /** Show clause library panel */
11794
+ showClauseLibrary?: boolean;
11795
+ /** Show version history */
11796
+ showVersionHistory?: boolean;
11797
+ /** Show comments panel */
11798
+ showComments?: boolean;
11799
+ /** Show approval workflow */
11800
+ showWorkflow?: boolean;
11801
+ /** Current user (for comments) */
11802
+ currentUser?: {
11803
+ id: string;
11804
+ name: string;
11805
+ avatar?: string;
11806
+ };
11807
+ /** Called when document changes */
11808
+ onChange?: (document: ContractDocument) => void;
11809
+ /** Called when clause is added */
11810
+ onAddClause?: (clause: ContractClause, sectionId: string) => void;
11811
+ /** Called when clause is removed */
11812
+ onRemoveClause?: (clauseId: string, sectionId: string) => void;
11813
+ /** Called when variable changes */
11814
+ onVariableChange?: (name: string, value: string) => void;
11815
+ /** Called when comment is added */
11816
+ onAddComment?: (comment: ContractComment) => void;
11817
+ /** Called when approval action */
11818
+ onApprovalAction?: (stepId: string, action: 'approve' | 'reject', comments?: string) => void;
11819
+ /** Called on version restore */
11820
+ onRestoreVersion?: (versionId: string) => void;
11821
+ /** Called on save */
11822
+ onSave?: (document: ContractDocument) => void;
11823
+ /** Called on export */
11824
+ onExport?: (format: 'pdf' | 'docx' | 'html') => void;
11825
+ }
11826
+
11827
+ export declare interface NiceContractEditorRef {
11828
+ getDocument: () => ContractDocument;
11829
+ insertClause: (clause: ContractClause, sectionId: string) => void;
11830
+ setVariable: (name: string, value: string) => void;
11831
+ exportDocument: (format: 'pdf' | 'docx' | 'html') => void;
11832
+ validate: () => {
11833
+ valid: boolean;
11834
+ errors: string[];
11835
+ };
11836
+ }
11837
+
10144
11838
  /** Full contract test report. */
10145
11839
  export declare interface NiceContractReport {
10146
11840
  /** Timestamp. */
@@ -10493,6 +12187,47 @@ export declare interface NiceDashboardShellProps extends NiceBaseProps {
10493
12187
  children?: React.ReactNode;
10494
12188
  }
10495
12189
 
12190
+ export declare const NiceDataBranchGraph: default_2.FC<NiceDataBranchGraphProps>;
12191
+
12192
+ export declare interface NiceDataBranchGraphProps extends NiceBaseProps {
12193
+ /** Branches to display */
12194
+ branches?: DataBranch[];
12195
+ /** Commits/snapshots */
12196
+ commits?: DataBranchCommit[];
12197
+ /** Selected commit ID */
12198
+ selectedCommitId?: string;
12199
+ /** View mode */
12200
+ viewMode?: 'timeline' | 'graph' | 'list';
12201
+ /** Show environment lanes */
12202
+ showLanes?: boolean;
12203
+ onSelectCommit?: (commitId: string) => void;
12204
+ onSelectBranch?: (branchId: string) => void;
12205
+ onCompare?: (sourceId: string, targetId: string) => void;
12206
+ onRestore?: (commitId: string) => void;
12207
+ }
12208
+
12209
+ export declare const NiceDataBranchManager: default_2.FC<NiceDataBranchManagerProps>;
12210
+
12211
+ export declare interface NiceDataBranchManagerProps extends NiceBaseProps {
12212
+ /** Current tenant ID */
12213
+ tenant: string;
12214
+ /** Available environments/branches */
12215
+ branches?: DataBranch[];
12216
+ /** Current user */
12217
+ currentUser?: VersioningAuthor;
12218
+ /** Available tables for partial clone */
12219
+ availableTables?: TableInfo[];
12220
+ /** Read-only mode */
12221
+ readOnly?: boolean;
12222
+ onCreateBranch?: (branch: DataBranch) => void;
12223
+ onDeleteBranch?: (branchId: string) => void;
12224
+ onSwitchBranch?: (branchId: string) => void;
12225
+ onCloneBranch?: (sourceId: string, targetEnv: DataEnvironment, tables?: string[]) => void;
12226
+ onSyncBranch?: (branchId: string, direction: 'push' | 'pull') => void;
12227
+ onProtectBranch?: (branchId: string, rules: ProtectionConfig) => void;
12228
+ onScheduleSync?: (branchId: string, schedule: SyncSchedule) => void;
12229
+ }
12230
+
10496
12231
  /**
10497
12232
  * Creates an LRU cache with TTL support.
10498
12233
  */
@@ -10509,6 +12244,24 @@ export declare class NiceDataCache<T = unknown> {
10509
12244
  invalidateMatching(pattern: RegExp): void;
10510
12245
  }
10511
12246
 
12247
+ export declare const NiceDataConflictResolver: default_2.FC<NiceDataConflictResolverProps>;
12248
+
12249
+ export declare interface NiceDataConflictResolverProps extends NiceBaseProps {
12250
+ /** Conflicts to resolve */
12251
+ conflicts?: DataConflict[];
12252
+ /** Source environment */
12253
+ sourceEnvironment?: DataEnvironment;
12254
+ /** Target environment */
12255
+ targetEnvironment?: DataEnvironment;
12256
+ /** Show auto-resolution suggestions */
12257
+ showSuggestions?: boolean;
12258
+ /** Allow custom value editing */
12259
+ allowCustomValues?: boolean;
12260
+ onResolve?: (resolutions: ConflictResolution[]) => void;
12261
+ onSkip?: (conflictId: string) => void;
12262
+ onCancel?: () => void;
12263
+ }
12264
+
10512
12265
  export declare interface NiceDataDiff<T> {
10513
12266
  inserted: T[];
10514
12267
  updated: Array<{
@@ -10521,6 +12274,61 @@ export declare interface NiceDataDiff<T> {
10521
12274
  unchanged: T[];
10522
12275
  }
10523
12276
 
12277
+ export declare const NiceDataDiffViewer: default_2.FC<NiceDataDiffViewerProps>;
12278
+
12279
+ export declare interface NiceDataDiffViewerProps extends NiceBaseProps {
12280
+ /** Source environment */
12281
+ sourceBranch?: DataBranch;
12282
+ /** Target environment */
12283
+ targetBranch?: DataBranch;
12284
+ /** Available branches for selection */
12285
+ branches?: DataBranch[];
12286
+ /** Diff data */
12287
+ diffItems?: TableDiffSummary[];
12288
+ onCompare?: (sourceId: string, targetId: string) => void;
12289
+ onExport?: (format: 'json' | 'csv' | 'sql') => void;
12290
+ onSelectRecord?: (table: string, recordId: string) => void;
12291
+ }
12292
+
12293
+ export declare const NiceDataExportCenter: default_2.ForwardRefExoticComponent<NiceDataExportCenterProps & default_2.RefAttributes<NiceDataExportCenterRef>>;
12294
+
12295
+ export declare interface NiceDataExportCenterProps extends NiceBaseProps {
12296
+ /** Data source */
12297
+ dataSource: ExportDataSource;
12298
+ /** Available export formats */
12299
+ formats?: DataExportFormat[];
12300
+ /** Saved templates */
12301
+ templates?: ExportTemplate[];
12302
+ /** Enable scheduling */
12303
+ enableScheduling?: boolean;
12304
+ /** Export history */
12305
+ exportHistory?: ExportJob[];
12306
+ /** Called when export starts */
12307
+ onExportStart?: (job: ExportJob) => void;
12308
+ /** Called when export completes */
12309
+ onExportComplete?: (job: ExportJob) => void;
12310
+ /** Called when export fails */
12311
+ onExportError?: (job: ExportJob, error: Error) => void;
12312
+ /** Called to save template */
12313
+ onSaveTemplate?: (template: ExportTemplate) => void;
12314
+ /** Called to delete template */
12315
+ onDeleteTemplate?: (templateId: string) => void;
12316
+ /** Called to schedule export */
12317
+ onSchedule?: (schedule: ScheduleConfig, template: ExportTemplate) => void;
12318
+ /** Custom export handler (if you want to handle export server-side) */
12319
+ customExportHandler?: (format: DataExportFormat, data: unknown[], options: ExportOptions) => Promise<Blob | string>;
12320
+ /** Title */
12321
+ title?: string;
12322
+ /** Description */
12323
+ description?: string;
12324
+ }
12325
+
12326
+ export declare interface NiceDataExportCenterRef {
12327
+ exportNow: (format: DataExportFormat) => Promise<void>;
12328
+ getSelectedFields: () => ExportField[];
12329
+ loadTemplate: (templateId: string) => void;
12330
+ }
12331
+
10524
12332
  export declare function NiceDataGrid<T extends Record<string, any>>({ columns, data: dataProp, keyField, dataSource, sortable, sortField: controlledSortField, sortDirection: controlledSortDir, onSort, selectable, selectedKeys: controlledSelected, onSelectionChange, pagination, pageSize: initPageSize, page: controlledPage, onPageChange, totalRows, searchable, searchPlaceholder, virtualScroll, rowHeight, groupBy, groupRender, onCellEdit, exportCsv, exportFilename, detailRow, expandedRowKeys: controlledExpandedRows, onExpandedRowChange, columnReorder, onColumnReorder, columnResize, rowDraggable, onRowReorder, striped, compact, loading: loadingProp, emptyText, toolbar, onRowClick, pinnedTopKeys, pinnedBottomKeys, colSpan: colSpanFn, showStatusBar, contextMenuItems, onContextMenuAction, printFriendly, keyboardNavigation, focusedCell: controlledFocusedCell, onFocusedCellChange, cellRangeSelection, selectedCellRange: controlledCellRange, onCellRangeChange, clipboard, clipboardFormat, onBeforeCopy, onCopy, onPaste, quickFilters, activeQuickFilters: controlledQuickFilters, onQuickFilterChange, columnGroups, stateStorageKey, initialState, onStateChange, flashRowKeys, flashDuration, autoFitColumns, showColumnStats, rowIndicator, frozenRows, className, style, accessMode, id, displayStyle, }: NiceDataGridProps<T>): JSX_2.Element | null;
10525
12333
 
10526
12334
  export declare namespace NiceDataGrid {
@@ -10737,6 +12545,55 @@ declare interface NiceDataGridState {
10737
12545
  expandedGroups?: string[];
10738
12546
  }
10739
12547
 
12548
+ export declare const NiceDataMapper: default_2.FC<NiceDataMapperProps>;
12549
+
12550
+ export declare interface NiceDataMapperProps extends NiceBaseProps {
12551
+ /** Mapping definition */
12552
+ mapping?: MappingDefinition;
12553
+ /** Available source schemas */
12554
+ sourceSchemas?: SchemaInfo[];
12555
+ /** Available target schemas */
12556
+ targetSchemas?: SchemaInfo[];
12557
+ onMappingChange?: (mapping: MappingDefinition) => void;
12558
+ onExport?: (code: string) => void;
12559
+ onTest?: (input: unknown) => void;
12560
+ onSave?: (mapping: MappingDefinition) => void;
12561
+ }
12562
+
12563
+ export declare const NiceDataMergeBuilder: default_2.FC<NiceDataMergeBuilderProps>;
12564
+
12565
+ export declare interface NiceDataMergeBuilderProps extends NiceBaseProps {
12566
+ /** Available branches */
12567
+ branches?: DataBranch[];
12568
+ /** Pre-selected source branch */
12569
+ sourceBranchId?: string;
12570
+ /** Pre-selected target branch */
12571
+ targetBranchId?: string;
12572
+ onPreview?: (sourceId: string, targetId: string) => void;
12573
+ onMerge?: (config: MergeConfig) => void;
12574
+ onCancel?: () => void;
12575
+ }
12576
+
12577
+ export declare const NiceDataSnapshot: default_2.FC<NiceDataSnapshotProps>;
12578
+
12579
+ export declare interface NiceDataSnapshotProps extends NiceBaseProps {
12580
+ /** Current environment */
12581
+ environment?: DataEnvironment;
12582
+ /** Available snapshots */
12583
+ snapshots?: Snapshot[];
12584
+ /** Retention policy */
12585
+ retentionPolicy?: RetentionPolicy;
12586
+ /** Scheduled snapshots */
12587
+ schedules?: SnapshotSchedule[];
12588
+ onCreateSnapshot?: (config: CreateSnapshotConfig) => void;
12589
+ onRestoreSnapshot?: (snapshotId: string) => void;
12590
+ onDeleteSnapshot?: (snapshotId: string) => void;
12591
+ onCompareSnapshots?: (sourceId: string, targetId: string) => void;
12592
+ onExportSnapshot?: (snapshotId: string, format: ExportFormat_3) => void;
12593
+ onUpdateRetentionPolicy?: (policy: RetentionPolicy) => void;
12594
+ onUpdateSchedules?: (schedules: SnapshotSchedule[]) => void;
12595
+ }
12596
+
10740
12597
  /**
10741
12598
  * Universal data source interface for Nice2Dev UI data components.
10742
12599
  * All data-bound components (NiceDataGrid, NiceList, NiceForm, etc.) accept a `NiceDataSource`.
@@ -11840,24 +13697,38 @@ declare interface NiceErrorBoundaryState {
11840
13697
 
11841
13698
  export declare const niceESLintPlugin: {
11842
13699
  rules: {
11843
- "require-i18n": ESLintRule;
11844
- "require-a11y": ESLintRule;
11845
- "no-full-import": ESLintRule;
11846
- "require-grid-columns": ESLintRule;
13700
+ 'require-i18n': ESLintRule;
13701
+ 'require-a11y': ESLintRule;
13702
+ 'no-full-import': ESLintRule;
13703
+ 'require-grid-columns': ESLintRule;
11847
13704
  };
11848
13705
  configs: {
11849
13706
  recommended: {
11850
13707
  plugins: string[];
11851
13708
  rules: {
11852
- "@nice2dev/ui/require-i18n": string;
11853
- "@nice2dev/ui/require-a11y": string;
11854
- "@nice2dev/ui/no-full-import": string;
11855
- "@nice2dev/ui/require-grid-columns": string;
13709
+ '@nice2dev/ui/require-i18n': string;
13710
+ '@nice2dev/ui/require-a11y': string;
13711
+ '@nice2dev/ui/no-full-import': string;
13712
+ '@nice2dev/ui/require-grid-columns': string;
11856
13713
  };
11857
13714
  };
11858
13715
  };
11859
13716
  };
11860
13717
 
13718
+ export declare const NiceEventOrchestrator: default_2.FC<NiceEventOrchestratorProps>;
13719
+
13720
+ export declare interface NiceEventOrchestratorProps extends NiceBaseProps {
13721
+ /** Initial event flows */
13722
+ flows?: EventFlow[];
13723
+ /** Available event sources */
13724
+ eventSources?: EventSourceDefinition[];
13725
+ /** Available event handlers */
13726
+ eventHandlers?: EventHandlerDefinition[];
13727
+ onFlowsChange?: (flows: EventFlow[]) => void;
13728
+ onExport?: (code: string) => void;
13729
+ onTest?: (flowId: string) => void;
13730
+ }
13731
+
11861
13732
  /**
11862
13733
  * Unified export function.
11863
13734
  */
@@ -12899,6 +14770,55 @@ export declare interface NiceGanttTask {
12899
14770
  dependencies?: (string | number)[];
12900
14771
  }
12901
14772
 
14773
+ export declare const NiceGDPRConsent: default_2.ForwardRefExoticComponent<NiceGDPRConsentProps & default_2.RefAttributes<NiceGDPRConsentRef>>;
14774
+
14775
+ export declare interface NiceGDPRConsentProps extends NiceBaseProps {
14776
+ /** Application name */
14777
+ appName: string;
14778
+ /** Company name */
14779
+ companyName: string;
14780
+ /** Consent options */
14781
+ options?: ConsentOption[];
14782
+ /** Current consent state */
14783
+ currentConsent?: ConsentState | null;
14784
+ /** Data retention policies */
14785
+ retentionPolicies?: DataRetentionPolicy[];
14786
+ /** Previous data requests */
14787
+ dataRequests?: DataExportRequest[];
14788
+ /** Privacy policy sections */
14789
+ privacyPolicy?: PrivacyPolicySection[];
14790
+ /** Storage key for consent */
14791
+ storageKey?: string;
14792
+ /** Consent version (for re-prompting) */
14793
+ consentVersion?: string;
14794
+ /** Show as banner or modal */
14795
+ variant?: 'banner' | 'modal' | 'embedded';
14796
+ /** Banner position */
14797
+ position?: 'top' | 'bottom';
14798
+ /** Called when consent changes */
14799
+ onConsentChange?: (consent: ConsentState) => void;
14800
+ /** Called on data request */
14801
+ onDataRequest?: (type: DataRequestType, reason?: string) => Promise<DataExportRequest>;
14802
+ /** Called to download export */
14803
+ onDownloadExport?: (requestId: string) => void;
14804
+ /** Privacy policy URL */
14805
+ privacyPolicyUrl?: string;
14806
+ /** Cookie policy URL */
14807
+ cookiePolicyUrl?: string;
14808
+ /** Terms URL */
14809
+ termsUrl?: string;
14810
+ /** Labels (i18n) */
14811
+ labels?: Partial<ConsentLabels>;
14812
+ }
14813
+
14814
+ export declare interface NiceGDPRConsentRef {
14815
+ showBanner: () => void;
14816
+ hideBanner: () => void;
14817
+ getConsent: () => ConsentState | null;
14818
+ revokeConsent: () => void;
14819
+ openPreferences: () => void;
14820
+ }
14821
+
12902
14822
  /** Generated code file. */
12903
14823
  export declare interface NiceGeneratedFile {
12904
14824
  /** Output file name. */
@@ -12995,6 +14915,159 @@ export declare interface NiceGesturesProps extends Omit<HTMLAttributes<HTMLDivEl
12995
14915
  children?: ReactNode;
12996
14916
  }
12997
14917
 
14918
+ export declare const NiceGitBlame: default_2.FC<NiceGitBlameProps>;
14919
+
14920
+ export declare interface NiceGitBlameProps extends NiceBaseProps {
14921
+ /** Blame data for the file */
14922
+ file: BlameFile;
14923
+ /** How to display blame info */
14924
+ viewMode?: BlameViewMode;
14925
+ /** Show commit ages as colors */
14926
+ showAgeHeatmap?: boolean;
14927
+ /** Show author avatars */
14928
+ showAvatars?: boolean;
14929
+ /** Group consecutive lines from same commit */
14930
+ groupHunks?: boolean;
14931
+ /** Highlight commit on hover */
14932
+ highlightOnHover?: boolean;
14933
+ /** Time zone for date formatting */
14934
+ timeZone?: string;
14935
+ /** Filter by date range */
14936
+ dateRange?: {
14937
+ from?: Date;
14938
+ to?: Date;
14939
+ };
14940
+ /** Filter by authors */
14941
+ authorFilter?: string[];
14942
+ /** Selected line */
14943
+ selectedLine?: number;
14944
+ /** Syntax highlighting theme */
14945
+ syntaxTheme?: 'dark' | 'light';
14946
+ onLineClick?: (line: BlameLine) => void;
14947
+ onCommitClick?: (commit: BlameCommit) => void;
14948
+ onAuthorClick?: (author: BlameAuthor) => void;
14949
+ onBlameParent?: (commit: BlameCommit) => void;
14950
+ }
14951
+
14952
+ export declare const NiceGitConflictResolver: default_2.FC<NiceGitConflictResolverProps>;
14953
+
14954
+ export declare interface NiceGitConflictResolverProps extends NiceBaseProps {
14955
+ /** File with conflicts */
14956
+ file: ConflictFile;
14957
+ /** Merge context information */
14958
+ context?: MergeContext;
14959
+ /** View mode */
14960
+ viewMode?: ConflictViewMode;
14961
+ /** Show line numbers */
14962
+ showLineNumbers?: boolean;
14963
+ /** Show base (ancestor) version */
14964
+ showBase?: boolean;
14965
+ /** Current focused conflict index */
14966
+ currentConflictIndex?: number;
14967
+ /** Syntax highlighting theme */
14968
+ syntaxTheme?: 'dark' | 'light';
14969
+ onResolve?: (conflictId: string, resolution: ConflictRegion['resolution'], content?: string[]) => void;
14970
+ onResolveAll?: (resolution: 'ours' | 'theirs') => void;
14971
+ onNavigateConflict?: (index: number) => void;
14972
+ onSave?: (content: string) => void;
14973
+ onCancel?: () => void;
14974
+ }
14975
+
14976
+ export declare const NiceGitDiffViewer: default_2.FC<NiceGitDiffViewerProps>;
14977
+
14978
+ export declare interface NiceGitDiffViewerProps extends NiceBaseProps {
14979
+ /** Diff files */
14980
+ files: DiffFile[];
14981
+ /** View mode */
14982
+ viewMode?: DiffViewMode;
14983
+ /** Show whitespace changes */
14984
+ showWhitespace?: boolean;
14985
+ /** Comments on the diff */
14986
+ comments?: DiffComment[];
14987
+ /** Selected file */
14988
+ selectedFile?: string;
14989
+ /** Show file tree */
14990
+ showFileTree?: boolean;
14991
+ /** Context lines around changes */
14992
+ contextLines?: number;
14993
+ /** Base commit/branch for comparison */
14994
+ baseRef?: string;
14995
+ /** Head commit/branch for comparison */
14996
+ headRef?: string;
14997
+ onFileSelect?: (path: string) => void;
14998
+ onViewModeChange?: (mode: DiffViewMode) => void;
14999
+ onAddComment?: (filePath: string, line: number, side: 'old' | 'new', body: string) => void;
15000
+ onResolveComment?: (commentId: string) => void;
15001
+ onExpandChunk?: (filePath: string, chunkIndex: number) => void;
15002
+ }
15003
+
15004
+ export declare const NiceGitGraph: default_2.FC<NiceGitGraphProps>;
15005
+
15006
+ export declare interface NiceGitGraphProps extends NiceBaseProps {
15007
+ /** Commits to display (newest first) */
15008
+ commits: GitCommit_2[];
15009
+ /** All branches */
15010
+ branches: GitBranch_2[];
15011
+ /** All tags */
15012
+ tags: GitTag_2[];
15013
+ /** Currently checked out branch/commit */
15014
+ head?: string;
15015
+ /** Selected commit hash */
15016
+ selectedCommit?: string;
15017
+ /** Branch filter */
15018
+ branchFilter?: string[];
15019
+ /** Author filter */
15020
+ authorFilter?: string[];
15021
+ /** Date range filter */
15022
+ dateRange?: {
15023
+ from?: Date;
15024
+ to?: Date;
15025
+ };
15026
+ /** Search query */
15027
+ searchQuery?: string;
15028
+ /** Max commits to show */
15029
+ maxCommits?: number;
15030
+ /** Show remote branches */
15031
+ showRemotes?: boolean;
15032
+ /** Show tags */
15033
+ showTags?: boolean;
15034
+ /** Compact mode */
15035
+ compact?: boolean;
15036
+ onCommitSelect?: (commit: GitCommit_2) => void;
15037
+ onCommitDoubleClick?: (commit: GitCommit_2) => void;
15038
+ onBranchCheckout?: (branch: string) => void;
15039
+ onBranchCreate?: (fromCommit: string) => void;
15040
+ onTagCreate?: (commit: string) => void;
15041
+ onCherryPick?: (commit: string) => void;
15042
+ onRevert?: (commit: string) => void;
15043
+ onReset?: (commit: string, mode: 'soft' | 'mixed' | 'hard') => void;
15044
+ onCompare?: (commit1: string, commit2: string) => void;
15045
+ onViewDiff?: (commit: string) => void;
15046
+ }
15047
+
15048
+ export declare const NiceGitHooks: default_2.FC<NiceGitHooksProps>;
15049
+
15050
+ export declare interface NiceGitHooksProps extends NiceBaseProps {
15051
+ /** Current hooks configuration */
15052
+ hooks: GitHook[];
15053
+ /** Available templates */
15054
+ templates?: HookTemplate[];
15055
+ /** Hook manager type */
15056
+ manager?: 'native' | 'husky' | 'lefthook' | 'simple-git-hooks';
15057
+ /** Repository path */
15058
+ repoPath?: string;
15059
+ /** Currently editing hook */
15060
+ selectedHook?: GitHookType;
15061
+ onHookChange?: (hook: GitHook) => void;
15062
+ onHookToggle?: (hookType: GitHookType, enabled: boolean) => void;
15063
+ onActionAdd?: (hookType: GitHookType, action: HookAction) => void;
15064
+ onActionRemove?: (hookType: GitHookType, actionId: string) => void;
15065
+ onActionUpdate?: (hookType: GitHookType, action: HookAction) => void;
15066
+ onInstall?: (hookType: GitHookType) => void;
15067
+ onUninstall?: (hookType: GitHookType) => void;
15068
+ onExport?: (hooks: GitHook[], format: 'shell' | 'husky' | 'lefthook') => void;
15069
+ }
15070
+
12998
15071
  export declare const NiceGitManager: default_2.ForwardRefExoticComponent<NiceGitManagerProps & default_2.RefAttributes<HTMLDivElement>>;
12999
15072
 
13000
15073
  export declare interface NiceGitManagerProps extends NiceBaseProps {
@@ -13051,6 +15124,57 @@ export declare interface NiceGitManagerProps extends NiceBaseProps {
13051
15124
  onFetch?: () => void;
13052
15125
  }
13053
15126
 
15127
+ export declare const NiceGlobalSearch: default_2.ForwardRefExoticComponent<NiceGlobalSearchProps & default_2.RefAttributes<NiceGlobalSearchRef>>;
15128
+
15129
+ export declare interface NiceGlobalSearchProps extends NiceBaseProps {
15130
+ /** Search sources */
15131
+ sources: SearchSource[];
15132
+ /** Placeholder text */
15133
+ placeholder?: string;
15134
+ /** Minimum characters before search */
15135
+ minQueryLength?: number;
15136
+ /** Debounce delay in ms */
15137
+ debounceMs?: number;
15138
+ /** Show categories */
15139
+ showCategories?: boolean;
15140
+ /** Available filters */
15141
+ filters?: GlobalSearchFilter[];
15142
+ /** Show recent searches */
15143
+ showRecent?: boolean;
15144
+ /** Maximum recent searches */
15145
+ maxRecent?: number;
15146
+ /** Show keyboard shortcuts */
15147
+ showShortcuts?: boolean;
15148
+ /** Hotkey to open (e.g., 'k' for Cmd+K) */
15149
+ hotkey?: string;
15150
+ /** Called when result is selected */
15151
+ onResultSelect?: (result: GlobalSearchResult) => void;
15152
+ /** Called when search is performed */
15153
+ onSearch?: (query: string, results: GlobalSearchResult[]) => void;
15154
+ /** Called when closed */
15155
+ onClose?: () => void;
15156
+ /** Render custom result */
15157
+ renderResult?: (result: GlobalSearchResult, isSelected: boolean) => ReactNode;
15158
+ /** Render custom empty state */
15159
+ renderEmpty?: (query: string) => ReactNode;
15160
+ /** Initial open state */
15161
+ defaultOpen?: boolean;
15162
+ /** Controlled open state */
15163
+ open?: boolean;
15164
+ /** Variant */
15165
+ variant?: 'modal' | 'inline' | 'dropdown';
15166
+ /** Labels */
15167
+ labels?: Partial<SearchLabels>;
15168
+ }
15169
+
15170
+ export declare interface NiceGlobalSearchRef {
15171
+ open: () => void;
15172
+ close: () => void;
15173
+ focus: () => void;
15174
+ clear: () => void;
15175
+ search: (query: string) => Promise<void>;
15176
+ }
15177
+
13054
15178
  export declare const NiceGradientPicker: default_2.ForwardRefExoticComponent<NiceGradientPickerProps & default_2.RefAttributes<HTMLDivElement>>;
13055
15179
 
13056
15180
  export declare interface NiceGradientPickerProps extends NiceBaseProps {
@@ -13294,8 +15418,7 @@ export declare function NiceHide({ on, above, below, device, orientation, childr
13294
15418
  /**
13295
15419
  * Hide props
13296
15420
  */
13297
- export declare interface NiceHideProps extends Omit<NiceShowProps, 'fallback'> {
13298
- }
15421
+ export declare type NiceHideProps = Omit<NiceShowProps, 'fallback'>;
13299
15422
 
13300
15423
  /** Configuration for the hot-swap manager. */
13301
15424
  export declare interface NiceHotSwapConfig {
@@ -13604,6 +15727,65 @@ export declare interface NiceImageEditorState {
13604
15727
  /** Available tools in the {@link NiceImageEditor} toolbar. */
13605
15728
  export declare type NiceImageEditorTool = 'crop' | 'rotate' | 'flip' | 'brightness' | 'contrast' | 'saturate' | 'blur' | 'annotate';
13606
15729
 
15730
+ export declare const NiceImageGallery: default_2.ForwardRefExoticComponent<NiceImageGalleryProps & default_2.RefAttributes<NiceImageGalleryRef>>;
15731
+
15732
+ export declare interface NiceImageGalleryProps {
15733
+ /** Gallery images */
15734
+ items: ImageGalleryItem[];
15735
+ /** Currently selected image index */
15736
+ selectedIndex?: number;
15737
+ /** Called when image changes */
15738
+ onIndexChange?: (index: number, item: ImageGalleryItem) => void;
15739
+ /** Called when gallery closes */
15740
+ onClose?: () => void;
15741
+ /** Show close button */
15742
+ showClose?: boolean;
15743
+ /** Show image counter */
15744
+ showCounter?: boolean;
15745
+ /** Show caption/title */
15746
+ showCaption?: boolean;
15747
+ /** Show thumbnail strip */
15748
+ showThumbnails?: boolean;
15749
+ /** Enable pinch-to-zoom */
15750
+ enablePinchZoom?: boolean;
15751
+ /** Enable double-tap zoom */
15752
+ enableDoubleTapZoom?: boolean;
15753
+ /** Enable swipe navigation */
15754
+ enableSwipe?: boolean;
15755
+ /** Enable keyboard navigation */
15756
+ enableKeyboard?: boolean;
15757
+ /** Min zoom level */
15758
+ minZoom?: number;
15759
+ /** Max zoom level */
15760
+ maxZoom?: number;
15761
+ /** Double-tap zoom level */
15762
+ doubleTapZoom?: number;
15763
+ /** Swipe threshold (px) */
15764
+ swipeThreshold?: number;
15765
+ /** Enable infinite loop */
15766
+ loop?: boolean;
15767
+ /** Enable haptic feedback */
15768
+ hapticFeedback?: boolean;
15769
+ /** Background color/opacity */
15770
+ backgroundColor?: string;
15771
+ /** Z-index */
15772
+ zIndex?: number;
15773
+ /** Custom class name */
15774
+ className?: string;
15775
+ /** Custom styles */
15776
+ style?: CSSProperties;
15777
+ }
15778
+
15779
+ export declare interface NiceImageGalleryRef {
15780
+ goTo: (index: number) => void;
15781
+ goNext: () => void;
15782
+ goPrev: () => void;
15783
+ zoomIn: () => void;
15784
+ zoomOut: () => void;
15785
+ resetZoom: () => void;
15786
+ close: () => void;
15787
+ }
15788
+
13607
15789
  export declare const NiceImageViewer: default_2.ForwardRefExoticComponent<NiceImageViewerProps & default_2.RefAttributes<HTMLDivElement>>;
13608
15790
 
13609
15791
  /** Props for the {@link NiceImageViewer} component — an image with lightbox preview, zoom, pan, and rotation. */
@@ -13833,6 +16015,43 @@ export declare interface NiceInputOtpProps extends NiceFormFieldProps {
13833
16015
  autoFocus?: boolean;
13834
16016
  }
13835
16017
 
16018
+ export declare const NiceInstallPrompt: default_2.ForwardRefExoticComponent<NiceInstallPromptProps & default_2.RefAttributes<HTMLDivElement>>;
16019
+
16020
+ export declare interface NiceInstallPromptProps extends NiceBaseProps {
16021
+ /** Display variant */
16022
+ variant?: 'banner' | 'modal' | 'card' | 'mini';
16023
+ /** Position for banner variant */
16024
+ position?: 'top' | 'bottom';
16025
+ /** Title text */
16026
+ title?: string;
16027
+ /** Description text */
16028
+ description?: string;
16029
+ /** Install button text */
16030
+ installText?: string;
16031
+ /** Dismiss button text */
16032
+ dismissText?: string;
16033
+ /** Custom icon */
16034
+ icon?: ReactNode;
16035
+ /** App icon URL */
16036
+ appIconUrl?: string;
16037
+ /** Whether to show even if dismissed before */
16038
+ persistent?: boolean;
16039
+ /** Delay before showing (ms) */
16040
+ delay?: number;
16041
+ /** Callback when installed */
16042
+ onInstall?: () => void;
16043
+ /** Callback when dismissed */
16044
+ onDismiss?: () => void;
16045
+ /** Custom install button content */
16046
+ installButton?: ReactNode;
16047
+ /** Custom dismiss button content */
16048
+ dismissButton?: ReactNode;
16049
+ /** Animation style */
16050
+ animation?: 'slide' | 'fade' | 'none';
16051
+ /** Z-index */
16052
+ zIndex?: number;
16053
+ }
16054
+
13836
16055
  declare const NiceInstanceMonitor: default_2.FC<NiceInstanceMonitorProps>;
13837
16056
  export { NiceInstanceMonitor }
13838
16057
  export { NiceInstanceMonitor as NiceWorkflowInstanceMonitor }
@@ -13903,6 +16122,60 @@ export declare interface NiceIntegrationHubProps extends NiceBaseProps {
13903
16122
  showMonitoring?: boolean;
13904
16123
  }
13905
16124
 
16125
+ export declare const NiceInvoiceDesigner: default_2.ForwardRefExoticComponent<NiceInvoiceDesignerProps & default_2.RefAttributes<NiceInvoiceDesignerRef>>;
16126
+
16127
+ export declare interface NiceInvoiceDesignerProps extends NiceBaseProps {
16128
+ /** Initial template */
16129
+ template?: InvoiceTemplate;
16130
+ /** Invoice data for preview */
16131
+ data?: InvoiceData;
16132
+ /** Available templates library */
16133
+ templates?: InvoiceTemplate[];
16134
+ /** Available data fields for binding */
16135
+ dataFields?: {
16136
+ key: string;
16137
+ label: string;
16138
+ type: 'text' | 'number' | 'date' | 'currency';
16139
+ }[];
16140
+ /** Enable grid */
16141
+ showGrid?: boolean;
16142
+ /** Grid size in pixels */
16143
+ gridSize?: number;
16144
+ /** Enable snap to grid */
16145
+ snapToGrid?: boolean;
16146
+ /** Enable rulers */
16147
+ showRulers?: boolean;
16148
+ /** Read-only mode */
16149
+ readOnly?: boolean;
16150
+ /** Custom labels */
16151
+ labels?: InvoiceDesignerLabels;
16152
+ /** Called when template changes */
16153
+ onChange?: (template: InvoiceTemplate) => void;
16154
+ /** Called when export is requested */
16155
+ onExport?: (format: 'pdf' | 'png' | 'print') => void;
16156
+ /** Called when template is saved */
16157
+ onSave?: (template: InvoiceTemplate) => void;
16158
+ }
16159
+
16160
+ export declare interface NiceInvoiceDesignerRef {
16161
+ /** Get current template */
16162
+ getTemplate: () => InvoiceTemplate;
16163
+ /** Set template */
16164
+ setTemplate: (template: InvoiceTemplate) => void;
16165
+ /** Export invoice */
16166
+ export: (format: 'pdf' | 'png' | 'print') => void;
16167
+ /** Add element */
16168
+ addElement: (type: InvoiceElementType) => void;
16169
+ /** Remove selected element */
16170
+ removeSelected: () => void;
16171
+ /** Undo last action */
16172
+ undo: () => void;
16173
+ /** Redo last undone action */
16174
+ redo: () => void;
16175
+ /** Get container element */
16176
+ getElement: () => HTMLDivElement | null;
16177
+ }
16178
+
13906
16179
  /**
13907
16180
  * {@link NiceInvoiceLineEditor} — Editable grid for invoice/order line items with auto-calculated
13908
16181
  * net/gross amounts, VAT breakdown, discounts and totals.
@@ -14256,7 +16529,7 @@ export declare interface NiceLiveChartProps extends NiceBaseProps {
14256
16529
  /** Called when buffer is full and old data is dropped. */
14257
16530
  onDataDropped?: (droppedCount: number, seriesName: string) => void;
14258
16531
  /** Time format for x-axis categories. Default: "HH:mm:ss". */
14259
- timeFormat?: "HH:mm:ss" | "HH:mm" | "mm:ss" | "ss.SSS" | "ISO";
16532
+ timeFormat?: 'HH:mm:ss' | 'HH:mm' | 'mm:ss' | 'ss.SSS' | 'ISO';
14260
16533
  /** Show statistics overlay (min, max, avg, current). */
14261
16534
  showStats?: boolean;
14262
16535
  /** Threshold lines for visual indicators. */
@@ -14264,7 +16537,7 @@ export declare interface NiceLiveChartProps extends NiceBaseProps {
14264
16537
  value: number;
14265
16538
  color: string;
14266
16539
  label?: string;
14267
- style?: "solid" | "dashed" | "dotted";
16540
+ style?: 'solid' | 'dashed' | 'dotted';
14268
16541
  }>;
14269
16542
  }
14270
16543
 
@@ -14308,11 +16581,75 @@ export declare interface NiceLiveChartSeriesConfig {
14308
16581
  /** Display color. */
14309
16582
  color?: string;
14310
16583
  /** Chart type for this series. */
14311
- type?: "bar" | "line" | "area";
16584
+ type?: 'bar' | 'line' | 'area';
14312
16585
  /** Initial data points (optional). */
14313
16586
  initialData?: number[];
14314
16587
  }
14315
16588
 
16589
+ export declare const NiceLiveDataGrid: <T extends LiveGridRow = LiveGridRow>(props: NiceLiveDataGridProps<T> & {
16590
+ ref?: default_2.ForwardedRef<NiceLiveDataGridRef<T>>;
16591
+ }) => ReturnType<typeof NiceLiveDataGridInner>;
16592
+
16593
+ declare function NiceLiveDataGridInner<T extends LiveGridRow = LiveGridRow>({ columns, data: initialData, dataSource, rowKey, showConnectionStatus, highlightDuration, updateAnimation, maxRows, selectable, selectedIds, onSelectionChange, onRowClick, onUpdate, onConnectionStatusChange, emptyContent, loadingContent, sortable, sortField, sortDirection, onSortChange, virtualized: _virtualized, rowHeight, height, className, style, }: NiceLiveDataGridProps<T>, ref: default_2.ForwardedRef<NiceLiveDataGridRef<T>>): JSX_2.Element;
16594
+
16595
+ /** Props for NiceLiveDataGrid */
16596
+ export declare interface NiceLiveDataGridProps<T extends LiveGridRow = LiveGridRow> extends NiceBaseProps {
16597
+ /** Column definitions */
16598
+ columns: LiveGridColumn<T>[];
16599
+ /** Initial data */
16600
+ data?: T[];
16601
+ /** Live data source */
16602
+ dataSource?: LiveGridDataSource<T>;
16603
+ /** Row key field (default: 'id') */
16604
+ rowKey?: keyof T | string;
16605
+ /** Show connection status indicator */
16606
+ showConnectionStatus?: boolean;
16607
+ /** Highlight duration for updated rows (ms) */
16608
+ highlightDuration?: number;
16609
+ /** Animation style for updates */
16610
+ updateAnimation?: 'flash' | 'slide' | 'fade' | 'none';
16611
+ /** Maximum rows to display */
16612
+ maxRows?: number;
16613
+ /** Enable row selection */
16614
+ selectable?: boolean;
16615
+ /** Selected row IDs */
16616
+ selectedIds?: Set<string | number>;
16617
+ /** Selection change callback */
16618
+ onSelectionChange?: (ids: Set<string | number>) => void;
16619
+ /** Row click callback */
16620
+ onRowClick?: (row: T, event: default_2.MouseEvent) => void;
16621
+ /** Update callback */
16622
+ onUpdate?: (update: LiveGridUpdate<T>) => void;
16623
+ /** Connection status change callback */
16624
+ onConnectionStatusChange?: (status: ConnectionStatus) => void;
16625
+ /** Empty state content */
16626
+ emptyContent?: ReactNode;
16627
+ /** Loading state content */
16628
+ loadingContent?: ReactNode;
16629
+ /** Enable sorting */
16630
+ sortable?: boolean;
16631
+ /** Current sort state */
16632
+ sortField?: string;
16633
+ sortDirection?: 'asc' | 'desc';
16634
+ onSortChange?: (field: string, direction: 'asc' | 'desc') => void;
16635
+ /** Virtualization for large datasets */
16636
+ virtualized?: boolean;
16637
+ /** Row height for virtualization */
16638
+ rowHeight?: number;
16639
+ /** Container height */
16640
+ height?: number | string;
16641
+ }
16642
+
16643
+ /** Ref handle */
16644
+ export declare interface NiceLiveDataGridRef<T extends LiveGridRow = LiveGridRow> {
16645
+ getData: () => T[];
16646
+ addRow: (row: T) => void;
16647
+ updateRow: (id: string | number, changes: Partial<T>) => void;
16648
+ deleteRow: (id: string | number) => void;
16649
+ refresh: () => void;
16650
+ getConnectionStatus: () => ConnectionStatus;
16651
+ }
16652
+
14316
16653
  /** Resolved module with its lazy components. */
14317
16654
  export declare interface NiceLoadedModule {
14318
16655
  manifest: NiceModuleManifest;
@@ -14551,6 +16888,33 @@ export declare interface NiceLookupSourceState {
14551
16888
  reload: () => void;
14552
16889
  }
14553
16890
 
16891
+ /**
16892
+ * NiceLowCodeStudio - Visual no-code development environment
16893
+ *
16894
+ * Central hub integrating all no-code tools:
16895
+ * - Component Designer
16896
+ * - Page Builder
16897
+ * - State Designer
16898
+ * - API Flow
16899
+ * - Event Orchestrator
16900
+ */
16901
+ export declare const NiceLowCodeStudio: default_2.FC<NiceLowCodeStudioProps>;
16902
+
16903
+ export declare interface NiceLowCodeStudioProps {
16904
+ /** Current project identifier */
16905
+ projectId?: string;
16906
+ /** Available components palette */
16907
+ components?: ComponentDefinition[];
16908
+ /** Theme configuration */
16909
+ theme?: 'light' | 'dark';
16910
+ /** Called when design changes */
16911
+ onChange?: (design: DesignState) => void;
16912
+ /** Called when save is requested */
16913
+ onSave?: (design: DesignState) => void;
16914
+ /** Additional class name */
16915
+ className?: string;
16916
+ }
16917
+
14554
16918
  export declare function NiceMAM({ assets: initialAssets, folders: initialFolders, collections: initialCollections, people: initialPeople, currentUser, uploadEndpoint, enableAITagging, enableFaceRecognition, maxUploadSize, allowedTypes, onUpload, onDelete, onAnalyze, onDetectFaces, onSelectionChange, onPreview, renderAssetCard, className, style, children, ...baseProps }: NiceMAMProps): JSX_2.Element;
14555
16919
 
14556
16920
  export declare interface NiceMAMProps extends NiceBaseProps {
@@ -14883,6 +17247,38 @@ export declare interface NiceMenuProps extends NiceBaseProps {
14883
17247
  onItemClick?: (item: NiceMenuItem) => void;
14884
17248
  }
14885
17249
 
17250
+ export declare const NiceMergeRequestBuilder: default_2.FC<NiceMergeRequestBuilderProps>;
17251
+
17252
+ export declare interface NiceMergeRequestBuilderProps extends NiceBaseProps {
17253
+ /** Available branches */
17254
+ branches: Array<{
17255
+ name: string;
17256
+ isRemote?: boolean;
17257
+ }>;
17258
+ /** Available users for assignment */
17259
+ users?: MergeRequestUser[];
17260
+ /** Available labels */
17261
+ labels?: MergeRequestLabel[];
17262
+ /** Open issues */
17263
+ issues?: MergeRequestIssue[];
17264
+ /** Description templates */
17265
+ templates?: MergeRequestTemplate[];
17266
+ /** Diff summary */
17267
+ diff?: MergeRequestDiff;
17268
+ /** Current branch */
17269
+ currentBranch?: string;
17270
+ /** Default target branch */
17271
+ defaultTargetBranch?: string;
17272
+ /** Initial source branch */
17273
+ initialSourceBranch?: string;
17274
+ /** Platform type */
17275
+ platform?: 'github' | 'gitlab' | 'bitbucket' | 'azure';
17276
+ onSubmit?: (data: MergeRequestData) => void;
17277
+ onCancel?: () => void;
17278
+ onBranchChange?: (source: string, target: string) => void;
17279
+ onPreview?: (data: MergeRequestData) => void;
17280
+ }
17281
+
14886
17282
  export declare const NiceMobileActionSheet: default_2.ForwardRefExoticComponent<NiceMobileActionSheetProps & default_2.RefAttributes<HTMLDivElement>>;
14887
17283
 
14888
17284
  export declare interface NiceMobileActionSheetProps extends Omit<NiceMobileModalProps, 'children'> {
@@ -15194,7 +17590,7 @@ export declare interface NiceMobileModalProps extends Omit<HTMLAttributes<HTMLDi
15194
17590
  /** Footer content */
15195
17591
  footer?: ReactNode;
15196
17592
  /** Snap points as heights (0-1 for percentage, >1 for pixels) */
15197
- snapPoints?: SnapPoint[];
17593
+ snapPoints?: ModalSnapPoint[];
15198
17594
  /** Initial snap point index */
15199
17595
  defaultSnapPoint?: number;
15200
17596
  /** Show drag handle indicator */
@@ -15212,7 +17608,7 @@ export declare interface NiceMobileModalProps extends Omit<HTMLAttributes<HTMLDi
15212
17608
  /** Block all dismiss methods */
15213
17609
  preventDismiss?: boolean;
15214
17610
  /** Callback when snap point changes */
15215
- onSnapChange?: (index: number, point: SnapPoint) => void;
17611
+ onSnapChange?: (index: number, point: ModalSnapPoint) => void;
15216
17612
  /** Custom overlay className */
15217
17613
  overlayClassName?: string;
15218
17614
  /** Custom header className */
@@ -16494,21 +18890,34 @@ export declare interface NiceOrgNode {
16494
18890
 
16495
18891
  export declare type NiceOrgProfileSection = 'basic' | 'contact' | 'address' | 'branding' | 'localization' | 'fiscal' | 'preferences';
16496
18892
 
16497
- declare interface NiceOverlayBaseProps {
16498
- /** Whether the overlay is visible */
16499
- open: boolean;
16500
- /** Callback when overlay should close */
16501
- onClose: () => void;
16502
- /** Whether to close on backdrop click (default true) */
16503
- closeOnBackdropClick?: boolean;
16504
- /** Whether to close on Escape key (default true) */
16505
- closeOnEscape?: boolean;
16506
- /** Z-index for the overlay (default 1000) */
16507
- zIndex?: number;
16508
- /** Additional className */
18893
+ /**
18894
+ * NicePageBuilder - Drag-drop page builder with responsive layouts
18895
+ *
18896
+ * Features:
18897
+ * - Drag-drop component placement
18898
+ * - Responsive 12-column grid
18899
+ * - Desktop/tablet/mobile preview
18900
+ * - Component property editing
18901
+ */
18902
+ export declare const NicePageBuilder: default_2.FC<NicePageBuilderProps>;
18903
+
18904
+ export declare interface NicePageBuilderProps {
18905
+ /** Initial page layout */
18906
+ initialLayout?: PageLayout;
18907
+ /** Available components for drag-drop */
18908
+ components?: DraggableComponent[];
18909
+ /** Grid settings */
18910
+ grid?: GridSettings;
18911
+ /** Called when layout changes */
18912
+ onChange?: (layout: PageLayout) => void;
18913
+ /** Called on save */
18914
+ onSave?: (layout: PageLayout) => void;
18915
+ /** Theme */
18916
+ theme?: 'light' | 'dark';
18917
+ /** Responsive preview mode */
18918
+ previewMode?: 'desktop' | 'tablet' | 'mobile';
18919
+ /** Additional class name */
16509
18920
  className?: string;
16510
- /** Additional styles */
16511
- style?: default_2.CSSProperties;
16512
18921
  }
16513
18922
 
16514
18923
  export declare interface NicePageMargins {
@@ -16878,6 +19287,57 @@ export declare interface NicePinCodeInputProps extends NiceFormFieldProps {
16878
19287
  */
16879
19288
  export declare const NicePINKeyboard: default_2.ForwardRefExoticComponent<Omit<NiceTouchKeyboardProps, "layout" | "masked"> & default_2.RefAttributes<HTMLDivElement>>;
16880
19289
 
19290
+ export declare const NicePipelineEditor: default_2.FC<NicePipelineEditorProps>;
19291
+
19292
+ export declare interface NicePipelineEditorProps extends NiceBaseProps {
19293
+ pipeline: Pipeline;
19294
+ templates: PipelineTemplate[];
19295
+ runners: Array<{
19296
+ id: string;
19297
+ name: string;
19298
+ os: string;
19299
+ available: boolean;
19300
+ }>;
19301
+ environments: Array<{
19302
+ id: string;
19303
+ name: string;
19304
+ protection: boolean;
19305
+ }>;
19306
+ onPipelineChange: (pipeline: Pipeline) => void;
19307
+ onStageAdd: () => void;
19308
+ onStageRemove: (stageId: string) => void;
19309
+ onStageMove: (stageId: string, direction: 'up' | 'down') => void;
19310
+ onJobAdd: (stageId: string) => void;
19311
+ onJobRemove: (stageId: string, jobId: string) => void;
19312
+ onStepAdd: (stageId: string, jobId: string) => void;
19313
+ onStepRemove: (stageId: string, jobId: string, stepId: string) => void;
19314
+ onVariableAdd: () => void;
19315
+ onVariableRemove: (name: string) => void;
19316
+ onSecretAdd: () => void;
19317
+ onSecretRemove: (name: string) => void;
19318
+ onTemplateApply: (template: PipelineTemplate) => void;
19319
+ onSave: () => void;
19320
+ onRun: () => void;
19321
+ onValidate: () => void;
19322
+ }
19323
+
19324
+ export declare const NicePipelineMonitor: default_2.FC<NicePipelineMonitorProps>;
19325
+
19326
+ export declare interface NicePipelineMonitorProps extends NiceBaseProps {
19327
+ runs: PipelineRun[];
19328
+ stats?: PipelineStats;
19329
+ selectedRunId?: string;
19330
+ onRunSelect: (runId: string) => void;
19331
+ onCancel: (runId: string) => void;
19332
+ onRerun: (runId: string) => void;
19333
+ onRerunFromStage: (runId: string, stageId: string) => void;
19334
+ onDownloadArtifact: (artifact: PipelineArtifact) => void;
19335
+ onDownloadLogs: (runId: string) => void;
19336
+ onApprove?: (runId: string, stageId: string) => void;
19337
+ onReject?: (runId: string, stageId: string) => void;
19338
+ refreshInterval?: number;
19339
+ }
19340
+
16881
19341
  /** A field definition for the {@link NicePivotGrid} component. */
16882
19342
  export declare interface NicePivotField {
16883
19343
  /** Data field key. */
@@ -17145,24 +19605,88 @@ export declare interface NicePopoverProps extends NiceBaseProps {
17145
19605
  children?: default_2.ReactNode;
17146
19606
  }
17147
19607
 
17148
- /**
17149
- * UI panel for managing user preferences
17150
- */
17151
- export declare function NicePreferencesPanel({ showGlobal, showControls, showExportImport, showSync, className, style, }: NicePreferencesPanelProps): JSX.Element;
19608
+ /**
19609
+ * UI panel for managing user preferences
19610
+ */
19611
+ export declare function NicePreferencesPanel({ showGlobal, showControls, showExportImport, showSync, className, style, }: NicePreferencesPanelProps): JSX.Element;
19612
+
19613
+ export declare interface NicePreferencesPanelProps {
19614
+ /** Show global preferences section */
19615
+ showGlobal?: boolean;
19616
+ /** Show control preferences section */
19617
+ showControls?: boolean;
19618
+ /** Show export/import buttons */
19619
+ showExportImport?: boolean;
19620
+ /** Show sync button */
19621
+ showSync?: boolean;
19622
+ /** Custom class */
19623
+ className?: string;
19624
+ /** Style */
19625
+ style?: default_2.CSSProperties;
19626
+ }
19627
+
19628
+ export declare const NicePresenceAvatars: default_2.ForwardRefExoticComponent<NicePresenceAvatarsProps & default_2.RefAttributes<HTMLDivElement>>;
19629
+
19630
+ export declare interface NicePresenceAvatarsProps extends NiceBaseProps {
19631
+ /** Max avatars to show before collapsing */
19632
+ max?: number;
19633
+ /** Avatar size */
19634
+ size?: 'sm' | 'md' | 'lg';
19635
+ /** Show status indicator */
19636
+ showStatus?: boolean;
19637
+ /** Filter users */
19638
+ filterUsers?: (user: PresenceUser) => boolean;
19639
+ /** Click handler */
19640
+ onClick?: (user: PresenceUser) => void;
19641
+ /** Custom render for overflow count */
19642
+ overflowRender?: (count: number) => ReactNode;
19643
+ }
19644
+
19645
+ export declare const NicePresenceCursors: default_2.ForwardRefExoticComponent<NicePresenceCursorsProps & default_2.RefAttributes<HTMLDivElement>>;
19646
+
19647
+ export declare interface NicePresenceCursorsProps extends NiceBaseProps {
19648
+ /** Container ref for cursor positioning */
19649
+ containerRef?: default_2.RefObject<HTMLElement>;
19650
+ /** Show user name label */
19651
+ showLabel?: boolean;
19652
+ /** Label fade delay (ms) */
19653
+ labelFadeDelay?: number;
19654
+ /** Filter which users to show cursors for */
19655
+ filterUsers?: (user: PresenceUser) => boolean;
19656
+ }
19657
+
19658
+ export declare const NicePresenceFocus: default_2.ForwardRefExoticComponent<NicePresenceFocusProps & default_2.RefAttributes<HTMLDivElement>>;
19659
+
19660
+ export declare interface NicePresenceFocusProps extends NiceBaseProps {
19661
+ /** Field ID this indicator is for */
19662
+ fieldId: string;
19663
+ /** Position relative to field */
19664
+ position?: 'top' | 'bottom' | 'left' | 'right';
19665
+ /** Show avatars of users focused on this field */
19666
+ showAvatars?: boolean;
19667
+ }
19668
+
19669
+ export declare const NicePresenceList: default_2.ForwardRefExoticComponent<NicePresenceListProps & default_2.RefAttributes<HTMLDivElement>>;
19670
+
19671
+ export declare interface NicePresenceListProps extends NiceBaseProps {
19672
+ /** Show what each user is focused on */
19673
+ showFocus?: boolean;
19674
+ /** Show last seen time */
19675
+ showLastSeen?: boolean;
19676
+ /** Group by status */
19677
+ groupByStatus?: boolean;
19678
+ /** Click handler */
19679
+ onUserClick?: (user: PresenceUser) => void;
19680
+ }
19681
+
19682
+ export declare const NicePresenceProvider: default_2.FC<NicePresenceProviderProps>;
17152
19683
 
17153
- export declare interface NicePreferencesPanelProps {
17154
- /** Show global preferences section */
17155
- showGlobal?: boolean;
17156
- /** Show control preferences section */
17157
- showControls?: boolean;
17158
- /** Show export/import buttons */
17159
- showExportImport?: boolean;
17160
- /** Show sync button */
17161
- showSync?: boolean;
17162
- /** Custom class */
17163
- className?: string;
17164
- /** Style */
17165
- style?: default_2.CSSProperties;
19684
+ export declare interface NicePresenceProviderProps {
19685
+ children: ReactNode;
19686
+ dataSource: PresenceDataSource;
19687
+ currentUserId?: string;
19688
+ /** Debounce cursor updates (ms) */
19689
+ cursorDebounce?: number;
17166
19690
  }
17167
19691
 
17168
19692
  export declare interface NicePrintColumn {
@@ -19279,6 +21803,18 @@ export declare interface NiceStartMenuItem {
19279
21803
  divider?: boolean;
19280
21804
  }
19281
21805
 
21806
+ export declare const NiceStateDesigner: default_2.FC<NiceStateDesignerProps>;
21807
+
21808
+ export declare interface NiceStateDesignerProps extends NiceBaseProps {
21809
+ /** Initial store definition */
21810
+ store?: StoreDefinition;
21811
+ /** Available state templates */
21812
+ templates?: StoreTemplate[];
21813
+ onStoreChange?: (store: StoreDefinition) => void;
21814
+ onExport?: (code: string, format: ExportFormat_2) => void;
21815
+ onSave?: (store: StoreDefinition) => void;
21816
+ }
21817
+
19282
21818
  /**
19283
21819
  * Utilities for exporting and importing data source state.
19284
21820
  */
@@ -19951,6 +22487,21 @@ export declare interface NiceTerminalUIProps extends NiceBaseProps {
19951
22487
  showTimestamp?: boolean;
19952
22488
  }
19953
22489
 
22490
+ export declare const NiceTestBuilder: default_2.FC<NiceTestBuilderProps>;
22491
+
22492
+ export declare interface NiceTestBuilderProps extends NiceBaseProps {
22493
+ /** Target component name */
22494
+ componentName?: string;
22495
+ /** Test suites */
22496
+ testSuites?: TestSuite[];
22497
+ /** Available mock definitions */
22498
+ availableMocks?: MockDefinition[];
22499
+ onSuitesChange?: (suites: TestSuite[]) => void;
22500
+ onExport?: (code: string) => void;
22501
+ onRun?: (suiteId: string) => void;
22502
+ onRunAll?: () => void;
22503
+ }
22504
+
19954
22505
  /**
19955
22506
  * Wraps components with all necessary providers for testing.
19956
22507
  * Creates a clean environment with i18n, theme, and a11y contexts.
@@ -21792,6 +24343,33 @@ export declare interface NiceUndoProviderProps<T = unknown> {
21792
24343
  maxHistory?: number;
21793
24344
  }
21794
24345
 
24346
+ export declare const NiceUpdatePrompt: default_2.ForwardRefExoticComponent<NiceUpdatePromptProps & default_2.RefAttributes<HTMLDivElement>>;
24347
+
24348
+ export declare interface NiceUpdatePromptProps extends NiceBaseProps, UseServiceWorkerOptions {
24349
+ /** Display variant */
24350
+ variant?: 'banner' | 'toast' | 'modal';
24351
+ /** Position for banner/toast */
24352
+ position?: 'top' | 'bottom';
24353
+ /** Title text */
24354
+ title?: string;
24355
+ /** Description text */
24356
+ description?: string;
24357
+ /** Update button text */
24358
+ updateText?: string;
24359
+ /** Dismiss button text */
24360
+ dismissText?: string;
24361
+ /** Custom icon */
24362
+ icon?: ReactNode;
24363
+ /** Whether to auto-reload after update */
24364
+ autoReload?: boolean;
24365
+ /** Callback when update is applied */
24366
+ onUpdate?: () => void;
24367
+ /** Callback when update is dismissed */
24368
+ onDismiss?: () => void;
24369
+ /** Z-index */
24370
+ zIndex?: number;
24371
+ }
24372
+
21795
24373
  export declare interface NiceURLState {
21796
24374
  filter?: NiceFilterGroup;
21797
24375
  sort?: NiceSortExpression[];
@@ -23187,6 +25765,44 @@ export declare interface NotificationEntry {
23187
25765
  group?: string;
23188
25766
  }
23189
25767
 
25768
+ /**
25769
+ * usePushNotifications — Push notification subscription management
25770
+ *
25771
+ * Handles browser push notification permissions, subscription,
25772
+ * and message handling via Service Worker.
25773
+ *
25774
+ * @example
25775
+ * ```tsx
25776
+ * function NotificationSettings() {
25777
+ * const {
25778
+ * isSupported,
25779
+ * permission,
25780
+ * isSubscribed,
25781
+ * subscribe,
25782
+ * unsubscribe,
25783
+ * requestPermission,
25784
+ * } = usePushNotifications({
25785
+ * vapidPublicKey: 'YOUR_VAPID_PUBLIC_KEY',
25786
+ * onSubscribe: (subscription) => {
25787
+ * // Send to backend
25788
+ * api.savePushSubscription(subscription);
25789
+ * },
25790
+ * });
25791
+ *
25792
+ * if (!isSupported) {
25793
+ * return <p>Push notifications not supported</p>;
25794
+ * }
25795
+ *
25796
+ * return (
25797
+ * <button onClick={subscribe} disabled={isSubscribed}>
25798
+ * {isSubscribed ? 'Notifications Enabled' : 'Enable Notifications'}
25799
+ * </button>
25800
+ * );
25801
+ * }
25802
+ * ```
25803
+ */
25804
+ declare type NotificationPermission_2 = 'default' | 'granted' | 'denied';
25805
+
23190
25806
  /** Type of notification. */
23191
25807
  export declare type NotificationType = 'info' | 'success' | 'warning' | 'error' | 'task' | 'mention' | 'system';
23192
25808
 
@@ -23211,6 +25827,51 @@ declare type OnBatchActionCallback = (action: 'autoMatch' | 'approveAll' | 'clea
23211
25827
  */
23212
25828
  declare type OnFilterChangeCallback = (filter: ReconciliationFilter) => void;
23213
25829
 
25830
+ export declare interface OnlineStatusReturn extends OnlineStatusState {
25831
+ /** Manually check connectivity by pinging */
25832
+ checkConnectivity: () => Promise<boolean>;
25833
+ /** Force set online status (for testing) */
25834
+ setOnline: (online: boolean) => void;
25835
+ }
25836
+
25837
+ /**
25838
+ * useOnlineStatus — Network connectivity status hook
25839
+ *
25840
+ * Detects online/offline state and provides reactive status updates.
25841
+ * Uses navigator.onLine with event listeners for changes.
25842
+ *
25843
+ * @example
25844
+ * ```tsx
25845
+ * function App() {
25846
+ * const { isOnline, wasOffline, lastOnline, lastOffline } = useOnlineStatus();
25847
+ *
25848
+ * if (!isOnline) {
25849
+ * return <NiceOfflineBanner />;
25850
+ * }
25851
+ *
25852
+ * return <MainApp />;
25853
+ * }
25854
+ * ```
25855
+ */
25856
+ export declare interface OnlineStatusState {
25857
+ /** Current online status */
25858
+ isOnline: boolean;
25859
+ /** Whether the user was previously offline (just reconnected) */
25860
+ wasOffline: boolean;
25861
+ /** Timestamp of last online event */
25862
+ lastOnline: Date | null;
25863
+ /** Timestamp of last offline event */
25864
+ lastOffline: Date | null;
25865
+ /** Network effective type (4g, 3g, 2g, slow-2g) if available */
25866
+ effectiveType: '4g' | '3g' | '2g' | 'slow-2g' | null;
25867
+ /** Downlink speed in Mbps (if available) */
25868
+ downlink: number | null;
25869
+ /** Round-trip time in ms (if available) */
25870
+ rtt: number | null;
25871
+ /** Whether connection is metered/data-saving */
25872
+ saveData: boolean;
25873
+ }
25874
+
23214
25875
  /**
23215
25876
  * Callback when items are matched.
23216
25877
  */
@@ -23318,6 +25979,13 @@ export declare interface PackageDoc {
23318
25979
  }>;
23319
25980
  }
23320
25981
 
25982
+ declare interface PageLayout {
25983
+ id: string;
25984
+ name: string;
25985
+ rows: LayoutRow[];
25986
+ styles?: Record<string, string>;
25987
+ }
25988
+
23321
25989
  /**
23322
25990
  * Page view event.
23323
25991
  */
@@ -23374,6 +26042,16 @@ export declare interface PanGesture {
23374
26042
  velocityY: number;
23375
26043
  }
23376
26044
 
26045
+ declare interface ParamDefinition {
26046
+ id: string;
26047
+ name: string;
26048
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
26049
+ required?: boolean;
26050
+ defaultValue?: unknown;
26051
+ description?: string;
26052
+ validation?: ValidationRule_2[];
26053
+ }
26054
+
23377
26055
  /** Parse CLI argv for adapter generation */
23378
26056
  export declare function parseAdapterCLIArgs(argv: string[]): AdapterCLIArgs;
23379
26057
 
@@ -23479,6 +26157,16 @@ export declare interface PermissionRole {
23479
26157
  icon?: default_2.ReactNode;
23480
26158
  }
23481
26159
 
26160
+ declare interface PersistConfig {
26161
+ enabled: boolean;
26162
+ key: string;
26163
+ storage: 'localStorage' | 'sessionStorage' | 'indexedDB' | 'custom';
26164
+ whitelist?: string[];
26165
+ blacklist?: string[];
26166
+ version?: number;
26167
+ migrate?: boolean;
26168
+ }
26169
+
23482
26170
  /** Person for face recognition */
23483
26171
  export declare interface Person {
23484
26172
  id: string;
@@ -23546,6 +26234,153 @@ export declare interface PinchGesture {
23546
26234
  };
23547
26235
  }
23548
26236
 
26237
+ declare interface Pipeline {
26238
+ id: string;
26239
+ name: string;
26240
+ description?: string;
26241
+ repository: string;
26242
+ branch?: string;
26243
+ triggers: PipelineTrigger[];
26244
+ stages: PipelineStage[];
26245
+ variables: PipelineVariable[];
26246
+ secrets: PipelineSecret[];
26247
+ isEnabled: boolean;
26248
+ createdAt: Date;
26249
+ updatedAt: Date;
26250
+ }
26251
+
26252
+ declare interface PipelineArtifact {
26253
+ id: string;
26254
+ name: string;
26255
+ size: number;
26256
+ jobId: string;
26257
+ downloadUrl: string;
26258
+ expiresAt?: Date;
26259
+ }
26260
+
26261
+ declare interface PipelineJob {
26262
+ id: string;
26263
+ name: string;
26264
+ runner?: string;
26265
+ environment?: string;
26266
+ steps: PipelineStep[];
26267
+ timeout?: number;
26268
+ condition?: string;
26269
+ services?: string[];
26270
+ }
26271
+
26272
+ declare interface PipelineRun {
26273
+ id: string;
26274
+ pipelineId: string;
26275
+ pipelineName: string;
26276
+ runNumber: number;
26277
+ status: RunStatus;
26278
+ branch: string;
26279
+ commit: {
26280
+ sha: string;
26281
+ message: string;
26282
+ author: string;
26283
+ authorAvatar?: string;
26284
+ };
26285
+ trigger: 'push' | 'pull_request' | 'schedule' | 'manual' | 'api';
26286
+ startedAt?: Date;
26287
+ completedAt?: Date;
26288
+ duration?: number;
26289
+ stages: PipelineRunStage[];
26290
+ artifacts: PipelineArtifact[];
26291
+ environment?: string;
26292
+ }
26293
+
26294
+ declare interface PipelineRunJob {
26295
+ id: string;
26296
+ name: string;
26297
+ status: JobStatus_2;
26298
+ runner?: string;
26299
+ startedAt?: Date;
26300
+ completedAt?: Date;
26301
+ duration?: number;
26302
+ steps: PipelineRunStep[];
26303
+ }
26304
+
26305
+ declare interface PipelineRunStage {
26306
+ id: string;
26307
+ name: string;
26308
+ status: JobStatus_2;
26309
+ startedAt?: Date;
26310
+ completedAt?: Date;
26311
+ duration?: number;
26312
+ jobs: PipelineRunJob[];
26313
+ }
26314
+
26315
+ declare interface PipelineRunStep {
26316
+ id: string;
26317
+ name: string;
26318
+ status: JobStatus_2;
26319
+ startedAt?: Date;
26320
+ completedAt?: Date;
26321
+ duration?: number;
26322
+ logs?: string[];
26323
+ errorMessage?: string;
26324
+ }
26325
+
26326
+ declare interface PipelineSecret {
26327
+ name: string;
26328
+ source: 'vault' | 'environment' | 'repository';
26329
+ key: string;
26330
+ }
26331
+
26332
+ declare interface PipelineStage {
26333
+ id: string;
26334
+ name: string;
26335
+ jobs: PipelineJob[];
26336
+ condition?: string;
26337
+ dependsOn?: string[];
26338
+ parallel: boolean;
26339
+ }
26340
+
26341
+ declare interface PipelineStats {
26342
+ totalRuns: number;
26343
+ successRate: number;
26344
+ avgDuration: number;
26345
+ failedRuns: number;
26346
+ runsByDay: {
26347
+ date: string;
26348
+ success: number;
26349
+ failed: number;
26350
+ }[];
26351
+ }
26352
+
26353
+ declare interface PipelineStep {
26354
+ id: string;
26355
+ name: string;
26356
+ type: 'script' | 'action' | 'checkout' | 'upload_artifact' | 'download_artifact' | 'docker' | 'deploy';
26357
+ script?: string;
26358
+ action?: string;
26359
+ actionVersion?: string;
26360
+ with?: Record<string, string>;
26361
+ env?: Record<string, string>;
26362
+ condition?: string;
26363
+ continueOnError?: boolean;
26364
+ }
26365
+
26366
+ declare interface PipelineTemplate {
26367
+ id: string;
26368
+ name: string;
26369
+ description: string;
26370
+ category: string;
26371
+ icon: string;
26372
+ pipeline: Partial<Pipeline>;
26373
+ }
26374
+
26375
+ declare type PipelineTrigger = 'push' | 'pull_request' | 'schedule' | 'manual' | 'tag' | 'workflow_dispatch';
26376
+
26377
+ declare interface PipelineVariable {
26378
+ name: string;
26379
+ value: string;
26380
+ isSecret: boolean;
26381
+ scope: 'pipeline' | 'stage' | 'job';
26382
+ }
26383
+
23549
26384
  /**
23550
26385
  * Transforms data into a pivot table format.
23551
26386
  */
@@ -23583,6 +26418,12 @@ export declare interface PivotResult {
23583
26418
  grandTotal?: number;
23584
26419
  }
23585
26420
 
26421
+ declare interface PlacedComponent {
26422
+ id: string;
26423
+ type: string;
26424
+ props: Record<string, unknown>;
26425
+ }
26426
+
23586
26427
  /** Platform connection config */
23587
26428
  export declare interface PlatformConnection {
23588
26429
  id: string;
@@ -23719,6 +26560,60 @@ export declare function preloadComponents(names: (keyof typeof LazyComponents)[]
23719
26560
  */
23720
26561
  export declare type PreloadFn = () => Promise<void>;
23721
26562
 
26563
+ declare interface PresenceContextValue {
26564
+ users: PresenceUser[];
26565
+ currentUserId?: string;
26566
+ updateCursor: (position: {
26567
+ x: number;
26568
+ y: number;
26569
+ }) => void;
26570
+ updateFocus: (fieldId: string | null) => void;
26571
+ updateStatus: (status: PresenceStatus) => void;
26572
+ }
26573
+
26574
+ /** Presence data source interface */
26575
+ export declare interface PresenceDataSource {
26576
+ /** Subscribe to presence updates */
26577
+ subscribe(onUpdate: (update: PresenceUpdate) => void): () => void;
26578
+ /** Get current users */
26579
+ getUsers(): Promise<PresenceUser[]>;
26580
+ /** Update own presence */
26581
+ updatePresence?(data: Partial<PresenceUser>): void;
26582
+ /** Broadcast cursor position */
26583
+ broadcastCursor?(position: {
26584
+ x: number;
26585
+ y: number;
26586
+ }): void;
26587
+ /** Broadcast focus */
26588
+ broadcastFocus?(fieldId: string | null): void;
26589
+ }
26590
+
26591
+ export declare type PresenceStatus = 'online' | 'away' | 'busy' | 'offline';
26592
+
26593
+ export declare interface PresenceUpdate {
26594
+ type: 'join' | 'leave' | 'update' | 'cursor' | 'focus';
26595
+ user: PresenceUser;
26596
+ timestamp: Date;
26597
+ }
26598
+
26599
+ export declare interface PresenceUser {
26600
+ id: string;
26601
+ name: string;
26602
+ avatar?: string;
26603
+ color?: string;
26604
+ status?: PresenceStatus;
26605
+ lastSeen?: Date;
26606
+ /** Current cursor position (for collaborative editors) */
26607
+ cursor?: {
26608
+ x: number;
26609
+ y: number;
26610
+ };
26611
+ /** What field/section they're focused on */
26612
+ focusedOn?: string;
26613
+ /** Custom metadata */
26614
+ metadata?: Record<string, unknown>;
26615
+ }
26616
+
23722
26617
  /**
23723
26618
  * Print performance report to console
23724
26619
  */
@@ -23729,6 +26624,13 @@ export declare function printPerformanceReport(): void;
23729
26624
  */
23730
26625
  export declare const PRIVACY_LEVEL_ORDER: TracelessMode[];
23731
26626
 
26627
+ export declare interface PrivacyPolicySection {
26628
+ id: string;
26629
+ title: string;
26630
+ content: string;
26631
+ lastUpdated?: Date;
26632
+ }
26633
+
23732
26634
  export declare interface ProcessIncident {
23733
26635
  id: string;
23734
26636
  instanceId: string;
@@ -23800,6 +26702,14 @@ declare interface ProfilerOverlayProps {
23800
26702
 
23801
26703
  export declare type PropControlType = 'text' | 'number' | 'toggle' | 'select' | 'color' | 'slider' | 'json' | 'code';
23802
26704
 
26705
+ declare interface PropDefinition {
26706
+ name: string;
26707
+ type: string;
26708
+ required?: boolean;
26709
+ defaultValue?: unknown;
26710
+ description?: string;
26711
+ }
26712
+
23803
26713
  /** Prop type descriptor for adapter generation */
23804
26714
  export declare type PropKind = 'string' | 'number' | 'boolean' | 'object' | 'array' | 'function' | 'enum' | 'node';
23805
26715
 
@@ -23813,6 +26723,24 @@ export declare interface PropsChange {
23813
26723
  timestamp: number;
23814
26724
  }
23815
26725
 
26726
+ declare interface PropTypeDefinition {
26727
+ name: string;
26728
+ type: 'string' | 'number' | 'boolean' | 'object' | 'array' | 'function';
26729
+ }
26730
+
26731
+ declare interface ProtectionConfig {
26732
+ requireApproval: boolean;
26733
+ approversCount: number;
26734
+ requireBackup: boolean;
26735
+ allowDirectChanges: boolean;
26736
+ restrictTables?: string[];
26737
+ }
26738
+
26739
+ declare interface ProviderConfig {
26740
+ name: string;
26741
+ props?: Record<string, unknown>;
26742
+ }
26743
+
23816
26744
  export declare interface PullToRefreshConfig {
23817
26745
  /** Distance in px to trigger refresh */
23818
26746
  threshold: number;
@@ -23844,6 +26772,58 @@ export declare interface PullToRefreshIndicatorProps {
23844
26772
  threshold: number;
23845
26773
  }
23846
26774
 
26775
+ export declare interface PushNotificationState {
26776
+ /** Whether Push API is supported */
26777
+ isSupported: boolean;
26778
+ /** Whether Notification API is supported */
26779
+ notificationsSupported: boolean;
26780
+ /** Current notification permission */
26781
+ permission: NotificationPermission_2;
26782
+ /** Whether push is subscribed */
26783
+ isSubscribed: boolean;
26784
+ /** Whether currently subscribing/unsubscribing */
26785
+ isLoading: boolean;
26786
+ /** Current push subscription */
26787
+ subscription: PushSubscription | null;
26788
+ /** Subscription as JSON (for sending to backend) */
26789
+ subscriptionJSON: PushSubscriptionJSON_2 | null;
26790
+ /** Error if any operation failed */
26791
+ error: Error | null;
26792
+ }
26793
+
26794
+ declare interface PushSubscriptionJSON_2 {
26795
+ endpoint: string;
26796
+ expirationTime: number | null;
26797
+ keys: {
26798
+ p256dh: string;
26799
+ auth: string;
26800
+ };
26801
+ }
26802
+ export { PushSubscriptionJSON_2 as PushSubscriptionJSON }
26803
+
26804
+ export declare interface PWAState {
26805
+ /** Whether the app is installed (standalone) */
26806
+ isInstalled: boolean;
26807
+ /** Whether the app can be installed (install prompt available) */
26808
+ canInstall: boolean;
26809
+ /** Whether the install prompt was dismissed */
26810
+ installDismissed: boolean;
26811
+ /** Whether currently installing */
26812
+ isInstalling: boolean;
26813
+ /** Platforms available for install (web, android, ios) */
26814
+ platforms: string[];
26815
+ /** Whether online */
26816
+ isOnline: boolean;
26817
+ /** Whether offline just ended (reconnected) */
26818
+ wasOffline: boolean;
26819
+ /** Whether service worker is registered */
26820
+ swRegistered: boolean;
26821
+ /** Whether SW update is available */
26822
+ hasUpdate: boolean;
26823
+ /** Whether updating */
26824
+ isUpdating: boolean;
26825
+ }
26826
+
23847
26827
  /** Bitrate quality preset */
23848
26828
  export declare type QualityPreset = '1080p60' | '1080p30' | '720p60' | '720p30' | '480p30' | '360p30';
23849
26829
 
@@ -24002,6 +26982,12 @@ export declare interface RealtimeDataPoint {
24002
26982
  label?: string;
24003
26983
  }
24004
26984
 
26985
+ export declare interface RecentSearch {
26986
+ query: string;
26987
+ timestamp: Date;
26988
+ resultCount?: number;
26989
+ }
26990
+
24005
26991
  /**
24006
26992
  * Reconciliation view configuration.
24007
26993
  */
@@ -24207,10 +27193,27 @@ export declare interface ReconciliationViewRef {
24207
27193
  focusEntries(): void;
24208
27194
  }
24209
27195
 
27196
+ declare interface RecordDiff {
27197
+ id: string;
27198
+ changeType: ChangeType;
27199
+ primaryKey: Record<string, unknown>;
27200
+ fields: DataFieldDiff[];
27201
+ changedAt?: Date;
27202
+ changedBy?: string;
27203
+ }
27204
+
24210
27205
  export declare interface RectangleAnnotation extends AnnotationBase {
24211
27206
  tool: 'rectangle';
24212
27207
  }
24213
27208
 
27209
+ declare interface ReducerStep {
27210
+ id: string;
27211
+ type: 'set' | 'update' | 'push' | 'remove' | 'reset' | 'custom';
27212
+ field: string;
27213
+ value?: string;
27214
+ condition?: string;
27215
+ }
27216
+
24214
27217
  export declare interface ReduxAction {
24215
27218
  type: string;
24216
27219
  payload?: unknown;
@@ -24301,10 +27304,10 @@ export declare interface ReportBuilderApi {
24301
27304
  definition: ReportDefinition;
24302
27305
  addSection: (type: ReportSectionType, props?: Record<string, unknown>) => void;
24303
27306
  removeSection: (id: string) => void;
24304
- moveSection: (id: string, direction: "up" | "down") => void;
27307
+ moveSection: (id: string, direction: 'up' | 'down') => void;
24305
27308
  updateSection: (id: string, props: Record<string, unknown>) => void;
24306
- setPageSize: (size: ReportDefinition["pageSize"]) => void;
24307
- setOrientation: (o: ReportDefinition["orientation"]) => void;
27309
+ setPageSize: (size: ReportDefinition['pageSize']) => void;
27310
+ setOrientation: (o: ReportDefinition['orientation']) => void;
24308
27311
  addParameter: (param: ReportParameter) => void;
24309
27312
  removeParameter: (name: string) => void;
24310
27313
  exportToJSON: () => string;
@@ -24332,8 +27335,8 @@ export declare interface ReportDefinition {
24332
27335
  id: string;
24333
27336
  name: string;
24334
27337
  description?: string;
24335
- pageSize: "A4" | "A3" | "Letter" | "Legal" | "custom";
24336
- orientation: "portrait" | "landscape";
27338
+ pageSize: 'A4' | 'A3' | 'Letter' | 'Legal' | 'custom';
27339
+ orientation: 'portrait' | 'landscape';
24337
27340
  margins: {
24338
27341
  top: number;
24339
27342
  right: number;
@@ -24350,7 +27353,7 @@ export declare interface ReportDefinition {
24350
27353
  export declare interface ReportParameter {
24351
27354
  name: string;
24352
27355
  label: string;
24353
- type: "string" | "number" | "date" | "boolean" | "select";
27356
+ type: 'string' | 'number' | 'date' | 'boolean' | 'select';
24354
27357
  defaultValue?: unknown;
24355
27358
  options?: {
24356
27359
  label: string;
@@ -24366,7 +27369,7 @@ export declare interface ReportSection {
24366
27369
  children?: ReportSection[];
24367
27370
  }
24368
27371
 
24369
- export declare type ReportSectionType = "header" | "text" | "table" | "chart" | "image" | "spacer" | "pageBreak" | "summary" | "groupHeader" | "groupFooter";
27372
+ export declare type ReportSectionType = 'header' | 'text' | 'table' | 'chart' | 'image' | 'spacer' | 'pageBreak' | 'summary' | 'groupHeader' | 'groupFooter';
24370
27373
 
24371
27374
  /** Require a11y-related props on interactive Nice components. */
24372
27375
  export declare const requireA11y: ESLintRule;
@@ -24423,6 +27426,13 @@ export declare interface ResourceUtilization {
24423
27426
 
24424
27427
  export declare type ResourceViewMode = 'day' | 'week' | 'month';
24425
27428
 
27429
+ declare interface ResponseDefinition {
27430
+ status: number;
27431
+ description?: string;
27432
+ schema?: SchemaDefinition;
27433
+ headers?: Record<string, string>;
27434
+ }
27435
+
24426
27436
  /**
24427
27437
  * Create responsive object from breakpoint values
24428
27438
  */
@@ -24464,6 +27474,21 @@ export declare class RestAPISyncAdapter implements PreferencesSyncAdapter {
24464
27474
  getServerTimestamp(): Promise<number>;
24465
27475
  }
24466
27476
 
27477
+ export declare interface RetentionPolicy {
27478
+ enabled: boolean;
27479
+ maxCount?: number;
27480
+ maxAgeDays?: number;
27481
+ keepTagged?: boolean;
27482
+ keepLocked?: boolean;
27483
+ }
27484
+
27485
+ declare interface RetryConfig {
27486
+ enabled: boolean;
27487
+ maxAttempts: number;
27488
+ backoff: 'linear' | 'exponential';
27489
+ retryOn?: number[];
27490
+ }
27491
+
24467
27492
  /** Review request */
24468
27493
  export declare interface ReviewRequest {
24469
27494
  id: string;
@@ -24509,6 +27534,8 @@ declare function rgbToHsl_2(r: number, g: number, b: number): HSLColor;
24509
27534
 
24510
27535
  export declare function rgbToHsv({ r, g, b }: RGB): HSV;
24511
27536
 
27537
+ export declare type RiskLevel = 'low' | 'medium' | 'high' | 'critical';
27538
+
24512
27539
  export declare type RoomGridLayout = 'grid' | 'list';
24513
27540
 
24514
27541
  /**
@@ -24688,6 +27715,8 @@ export declare function runCLI(argv: string[]): Promise<string>;
24688
27715
  */
24689
27716
  export declare function runContractTests(contracts: NiceApiContract[], config: NiceContractTestConfig): Promise<NiceContractReport>;
24690
27717
 
27718
+ declare type RunStatus = 'queued' | 'in_progress' | 'completed' | 'failed' | 'cancelled' | 'waiting' | 'skipped';
27719
+
24691
27720
  export declare interface SafeAreaInsets {
24692
27721
  top: number;
24693
27722
  right: number;
@@ -24817,6 +27846,42 @@ export declare interface SceneSource {
24817
27846
  filters: SourceFilter[];
24818
27847
  }
24819
27848
 
27849
+ export declare interface ScheduleConfig {
27850
+ enabled: boolean;
27851
+ frequency: 'daily' | 'weekly' | 'monthly' | 'custom';
27852
+ time: string;
27853
+ daysOfWeek?: number[];
27854
+ dayOfMonth?: number;
27855
+ cronExpression?: string;
27856
+ deliveryMethod: 'download' | 'email' | 'sftp' | 'api';
27857
+ recipients?: string[];
27858
+ sftpConfig?: {
27859
+ host: string;
27860
+ path: string;
27861
+ username: string;
27862
+ };
27863
+ apiEndpoint?: string;
27864
+ }
27865
+
27866
+ declare interface SchemaDefinition {
27867
+ type: 'object' | 'array' | 'string' | 'number' | 'boolean';
27868
+ properties?: Record<string, SchemaDefinition>;
27869
+ items?: SchemaDefinition;
27870
+ required?: string[];
27871
+ }
27872
+
27873
+ declare interface SchemaDefinition_2 {
27874
+ name: string;
27875
+ type: 'object' | 'array';
27876
+ fields: FieldDefinition[];
27877
+ }
27878
+
27879
+ declare interface SchemaInfo {
27880
+ id: string;
27881
+ name: string;
27882
+ schema: SchemaDefinition_2;
27883
+ }
27884
+
24820
27885
  /**
24821
27886
  * Convert form schema to NiceForm items
24822
27887
  */
@@ -24870,6 +27935,21 @@ export declare interface ScreenInfo {
24870
27935
  declare type ScreenOrientation_2 = 'portrait' | 'landscape';
24871
27936
  export { ScreenOrientation_2 as ScreenOrientation }
24872
27937
 
27938
+ export declare interface SearchAction {
27939
+ id: string;
27940
+ label: string;
27941
+ icon?: ReactNode;
27942
+ shortcut?: string;
27943
+ onClick: () => void;
27944
+ }
27945
+
27946
+ export declare interface SearchCategory {
27947
+ id: string;
27948
+ label: string;
27949
+ icon?: ReactNode;
27950
+ count?: number;
27951
+ }
27952
+
24873
27953
  /**
24874
27954
  * Search documentation content
24875
27955
  */
@@ -24900,6 +27980,16 @@ export declare interface SearchFilter {
24900
27980
  hasFaces?: boolean;
24901
27981
  }
24902
27982
 
27983
+ export declare interface SearchLabels {
27984
+ placeholder: string;
27985
+ recent: string;
27986
+ noResults: string;
27987
+ searching: string;
27988
+ clearRecent: string;
27989
+ categories: string;
27990
+ filters: string;
27991
+ }
27992
+
24903
27993
  export declare interface SearchResult {
24904
27994
  documents: Document_2[];
24905
27995
  totalCount: number;
@@ -24908,6 +27998,16 @@ export declare interface SearchResult {
24908
27998
  highlights?: Record<string, string[]>;
24909
27999
  }
24910
28000
 
28001
+ declare type SearchResultType = 'document' | 'user' | 'task' | 'project' | 'setting' | 'help' | 'action' | 'custom';
28002
+
28003
+ export declare interface SearchSource {
28004
+ id: string;
28005
+ name: string;
28006
+ icon?: ReactNode;
28007
+ search: (query: string, filters?: Record<string, unknown>) => Promise<GlobalSearchResult[]>;
28008
+ priority?: number;
28009
+ }
28010
+
24911
28011
  /**
24912
28012
  * Selection mode
24913
28013
  */
@@ -24945,6 +28045,57 @@ export declare function serializeView(view: NiceViewDefinition): string;
24945
28045
 
24946
28046
  export declare function serializeViewV2(view: NiceViewDefinitionV2): string;
24947
28047
 
28048
+ /**
28049
+ * useServiceWorker — Service Worker registration and update management
28050
+ *
28051
+ * Handles SW registration, update detection, and cache control.
28052
+ * Provides methods to check for updates and activate new versions.
28053
+ *
28054
+ * @example
28055
+ * ```tsx
28056
+ * function App() {
28057
+ * const {
28058
+ * isSupported,
28059
+ * isRegistered,
28060
+ * isUpdating,
28061
+ * hasUpdate,
28062
+ * registration,
28063
+ * update,
28064
+ * unregister,
28065
+ * } = useServiceWorker({
28066
+ * swUrl: '/sw.js',
28067
+ * onUpdate: () => console.log('New version available!'),
28068
+ * onSuccess: () => console.log('SW registered'),
28069
+ * });
28070
+ *
28071
+ * return hasUpdate ? (
28072
+ * <button onClick={update}>Update App</button>
28073
+ * ) : null;
28074
+ * }
28075
+ * ```
28076
+ */
28077
+ declare interface ServiceWorkerState_2 {
28078
+ /** Whether Service Worker API is supported */
28079
+ isSupported: boolean;
28080
+ /** Whether a SW is currently registered */
28081
+ isRegistered: boolean;
28082
+ /** Whether an update is being applied */
28083
+ isUpdating: boolean;
28084
+ /** Whether a new version is waiting to activate */
28085
+ hasUpdate: boolean;
28086
+ /** The current SW registration object */
28087
+ registration: ServiceWorkerRegistration | null;
28088
+ /** The waiting SW (new version) */
28089
+ waitingWorker: ServiceWorker | null;
28090
+ /** Current SW state */
28091
+ state: ServiceWorkerState_2['controllerState'];
28092
+ /** Controller state */
28093
+ controllerState: 'installing' | 'installed' | 'activating' | 'activated' | 'redundant' | null;
28094
+ /** Error if registration failed */
28095
+ error: Error | null;
28096
+ }
28097
+ export { ServiceWorkerState_2 as ServiceWorkerState }
28098
+
24948
28099
  /** Field definition for schema-driven forms */
24949
28100
  export declare interface SetupField {
24950
28101
  id: string;
@@ -25385,11 +28536,39 @@ export declare interface SmartSceneDto {
25385
28536
  actions: SceneAction[];
25386
28537
  }
25387
28538
 
25388
- /**
25389
- * Modal snap point – where the modal can "land"
25390
- */
25391
28539
  export declare type SnapPoint = number | 'content' | 'full';
25392
28540
 
28541
+ export declare interface Snapshot {
28542
+ id: string;
28543
+ name: string;
28544
+ description?: string;
28545
+ environment: DataEnvironment;
28546
+ createdAt: Date;
28547
+ createdBy: {
28548
+ id: string;
28549
+ name: string;
28550
+ };
28551
+ size: {
28552
+ records: number;
28553
+ bytes: number;
28554
+ };
28555
+ type: 'manual' | 'scheduled' | 'pre-merge' | 'pre-restore';
28556
+ status: 'creating' | 'ready' | 'failed' | 'expired' | 'locked';
28557
+ tables?: string[];
28558
+ tags?: string[];
28559
+ expiresAt?: Date;
28560
+ }
28561
+
28562
+ export declare interface SnapshotSchedule {
28563
+ id: string;
28564
+ name: string;
28565
+ cron: string;
28566
+ enabled: boolean;
28567
+ nextRun?: Date;
28568
+ lastRun?: Date;
28569
+ retainCount?: number;
28570
+ }
28571
+
25393
28572
  /** Sort direction for grid columns (`null` = unsorted). */
25394
28573
  declare type SortDirection = 'asc' | 'desc' | null;
25395
28574
 
@@ -25507,6 +28686,50 @@ export declare interface StandardEntity {
25507
28686
  */
25508
28687
  export declare function startMark(name: string, detail?: Record<string, unknown>): void;
25509
28688
 
28689
+ declare interface StateAction {
28690
+ id: string;
28691
+ name: string;
28692
+ description?: string;
28693
+ params: ActionParam[];
28694
+ reducerSteps: ReducerStep[];
28695
+ async?: boolean;
28696
+ errorHandling?: 'throw' | 'catch' | 'ignore';
28697
+ }
28698
+
28699
+ declare interface StateDefinition {
28700
+ name: string;
28701
+ type: string;
28702
+ initialValue?: unknown;
28703
+ }
28704
+
28705
+ declare interface StateField {
28706
+ id: string;
28707
+ name: string;
28708
+ type: FieldType;
28709
+ defaultValue?: unknown;
28710
+ nullable?: boolean;
28711
+ description?: string;
28712
+ }
28713
+
28714
+ declare interface StateSelector {
28715
+ id: string;
28716
+ name: string;
28717
+ description?: string;
28718
+ dependencies: string[];
28719
+ expression: string;
28720
+ memoized?: boolean;
28721
+ }
28722
+
28723
+ declare interface StateSlice {
28724
+ id: string;
28725
+ name: string;
28726
+ description?: string;
28727
+ state: StateField[];
28728
+ actions: StateAction[];
28729
+ selectors: StateSelector[];
28730
+ computed?: ComputedField[];
28731
+ }
28732
+
25510
28733
  /** Predefined status semantic categories. */
25511
28734
  export declare type StatusCategory = 'success' | 'warning' | 'error' | 'info' | 'neutral' | 'custom';
25512
28735
 
@@ -25603,6 +28826,24 @@ export declare interface StorageViolation {
25603
28826
  data?: string;
25604
28827
  }
25605
28828
 
28829
+ declare interface StoreDefinition {
28830
+ id: string;
28831
+ name: string;
28832
+ description?: string;
28833
+ slices: StateSlice[];
28834
+ middleware?: MiddlewareConfig[];
28835
+ persist?: PersistConfig;
28836
+ devtools?: DevToolsConfig;
28837
+ }
28838
+
28839
+ declare interface StoreTemplate {
28840
+ id: string;
28841
+ name: string;
28842
+ description: string;
28843
+ icon: string;
28844
+ store: Partial<StoreDefinition>;
28845
+ }
28846
+
25606
28847
  /** Stream analytics */
25607
28848
  export declare interface StreamAnalytics {
25608
28849
  totalViewers: number;
@@ -25963,6 +29204,14 @@ export declare interface SyncJobRun {
25963
29204
 
25964
29205
  export declare type SyncMode = 'realtime' | 'scheduled' | 'manual' | 'webhook';
25965
29206
 
29207
+ declare interface SyncSchedule {
29208
+ enabled: boolean;
29209
+ frequency: 'manual' | 'hourly' | 'daily' | 'weekly';
29210
+ lastSync?: VersioningTimestamp;
29211
+ nextSync?: VersioningTimestamp;
29212
+ direction: 'push' | 'pull' | 'bidirectional';
29213
+ }
29214
+
25966
29215
  /**
25967
29216
  * Built-in tab icons for common use cases
25968
29217
  */
@@ -26011,6 +29260,25 @@ export declare interface TabItem {
26011
29260
  onClick?: () => void;
26012
29261
  }
26013
29262
 
29263
+ declare interface TableDiffSummary {
29264
+ table: string;
29265
+ displayName: string;
29266
+ module?: string;
29267
+ added: number;
29268
+ modified: number;
29269
+ deleted: number;
29270
+ records: RecordDiff[];
29271
+ }
29272
+
29273
+ declare interface TableInfo {
29274
+ name: string;
29275
+ displayName: string;
29276
+ recordCount: number;
29277
+ sizeBytes: number;
29278
+ module?: string;
29279
+ hasForeignKeys?: boolean;
29280
+ }
29281
+
26014
29282
  /**
26015
29283
  * Table style variants
26016
29284
  */
@@ -26085,6 +29353,34 @@ export declare interface TaxRate {
26085
29353
 
26086
29354
  export declare type TempDialMode = 'heat' | 'cool' | 'auto' | 'off';
26087
29355
 
29356
+ declare type TemplateEngine = 'handlebars' | 'ejs' | 'mustache' | 'simple';
29357
+
29358
+ declare interface TemplateFile {
29359
+ id: string;
29360
+ name: string;
29361
+ path: string;
29362
+ content: string;
29363
+ language?: string;
29364
+ condition?: string;
29365
+ }
29366
+
29367
+ declare interface TemplateVariable {
29368
+ id: string;
29369
+ name: string;
29370
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object' | 'select';
29371
+ defaultValue?: unknown;
29372
+ description?: string;
29373
+ required?: boolean;
29374
+ options?: string[];
29375
+ validation?: {
29376
+ pattern?: string;
29377
+ minLength?: number;
29378
+ maxLength?: number;
29379
+ min?: number;
29380
+ max?: number;
29381
+ };
29382
+ }
29383
+
26088
29384
  /** A tenant/organization entry. */
26089
29385
  export declare interface TenantEntry {
26090
29386
  id: string | number;
@@ -26098,6 +29394,20 @@ export declare interface TenantEntry {
26098
29394
  isCurrent?: boolean;
26099
29395
  }
26100
29396
 
29397
+ declare type TestAction = 'render' | 'click' | 'type' | 'select' | 'hover' | 'focus' | 'blur' | 'submit' | 'keypress' | 'wait' | 'scroll' | 'drag' | 'assert' | 'snapshot' | 'a11y-check';
29398
+
29399
+ declare interface TestCase {
29400
+ id: string;
29401
+ name: string;
29402
+ description?: string;
29403
+ type: TestType;
29404
+ steps: TestStep[];
29405
+ expectedResult?: ExpectedResult;
29406
+ timeout?: number;
29407
+ skip?: boolean;
29408
+ only?: boolean;
29409
+ }
29410
+
26101
29411
  /**
26102
29412
  * Generate consistent data-testid attributes.
26103
29413
  *
@@ -26107,6 +29417,36 @@ export declare interface TenantEntry {
26107
29417
  */
26108
29418
  export declare function testId(...parts: (string | number)[]): string;
26109
29419
 
29420
+ declare interface TestSetup {
29421
+ mocks: MockConfig[];
29422
+ providers?: ProviderConfig[];
29423
+ props?: Record<string, unknown>;
29424
+ }
29425
+
29426
+ declare interface TestStep {
29427
+ id: string;
29428
+ action: TestAction;
29429
+ target?: string;
29430
+ value?: unknown;
29431
+ waitFor?: WaitCondition;
29432
+ }
29433
+
29434
+ declare interface TestSuite {
29435
+ id: string;
29436
+ name: string;
29437
+ description?: string;
29438
+ componentName: string;
29439
+ setup?: TestSetup;
29440
+ tests: TestCase[];
29441
+ teardown?: TestTeardown;
29442
+ }
29443
+
29444
+ declare interface TestTeardown {
29445
+ cleanup?: string[];
29446
+ }
29447
+
29448
+ declare type TestType = 'unit' | 'integration' | 'e2e' | 'snapshot' | 'accessibility';
29449
+
26110
29450
  export declare interface TextAnnotation extends AnnotationBase {
26111
29451
  tool: 'text';
26112
29452
  text: string;
@@ -27248,6 +30588,26 @@ export declare interface TranscriptionSegment {
27248
30588
  locked: boolean;
27249
30589
  }
27250
30590
 
30591
+ declare interface Transformation {
30592
+ id: string;
30593
+ name: string;
30594
+ type: TransformType;
30595
+ config: TransformConfig;
30596
+ }
30597
+
30598
+ declare interface TransformConfig {
30599
+ expression?: string;
30600
+ format?: string;
30601
+ convertTo?: DataType_2;
30602
+ separator?: string;
30603
+ lookupTable?: Record<string, unknown>;
30604
+ condition?: string;
30605
+ thenValue?: unknown;
30606
+ elseValue?: unknown;
30607
+ }
30608
+
30609
+ declare type TransformType = 'direct' | 'format' | 'convert' | 'concat' | 'split' | 'calculate' | 'lookup' | 'conditional' | 'custom';
30610
+
27251
30611
  export declare type TransitionType = 'fade' | 'dissolve' | 'wipe' | 'slide' | 'zoom' | 'none';
27252
30612
 
27253
30613
  export declare interface TreeMapNode {
@@ -27341,6 +30701,9 @@ export declare interface UndoEntry<T = unknown> {
27341
30701
  groupId?: string;
27342
30702
  }
27343
30703
 
30704
+ /** Update operation types */
30705
+ export declare type UpdateOperation = 'insert' | 'update' | 'delete' | 'upsert';
30706
+
27344
30707
  export declare type UploadHandler = (request: UploadRequest) => Promise<UploadResponse>;
27345
30708
 
27346
30709
  export declare interface UploadRequest {
@@ -28194,9 +31557,9 @@ export declare function useLiveAnnouncement(options?: LiveRegionOptions): {
28194
31557
  announce: (text: string) => void;
28195
31558
  regionProps: {
28196
31559
  role: "status";
28197
- "aria-live": "polite" | "assertive" | "off";
28198
- "aria-atomic": boolean;
28199
- "aria-relevant": "text" | "all" | "additions" | "additions text" | "removals";
31560
+ 'aria-live': "polite" | "assertive" | "off";
31561
+ 'aria-atomic': boolean;
31562
+ 'aria-relevant': "text" | "all" | "additions" | "additions text" | "removals";
28200
31563
  style: {
28201
31564
  position: "absolute";
28202
31565
  width: number;
@@ -28550,6 +31913,24 @@ export declare const useNiceValidation: () => ValidationContextValue | null;
28550
31913
  */
28551
31914
  export declare function useNotificationHaptic(): (type: "success" | "warning" | "error") => void;
28552
31915
 
31916
+ /**
31917
+ * Hook for tracking network connectivity status.
31918
+ */
31919
+ export declare function useOnlineStatus(options?: UseOnlineStatusOptions): OnlineStatusReturn;
31920
+
31921
+ export declare interface UseOnlineStatusOptions {
31922
+ /** Callback when going online */
31923
+ onOnline?: () => void;
31924
+ /** Callback when going offline */
31925
+ onOffline?: () => void;
31926
+ /** Ping URL to verify actual connectivity (optional) */
31927
+ pingUrl?: string;
31928
+ /** Ping interval in ms (default: 30000) */
31929
+ pingInterval?: number;
31930
+ /** Enable Network Information API if available (default: true) */
31931
+ useNetworkInfo?: boolean;
31932
+ }
31933
+
28553
31934
  export declare function useOrientation(): ScreenOrientation_2;
28554
31935
 
28555
31936
  /**
@@ -28620,6 +32001,8 @@ export declare function usePreloadOnIdle(preloadFunctions: PreloadFn[], timeout?
28620
32001
  */
28621
32002
  export declare function usePreloadOnRouteHint(routeComponents: Record<string, PreloadFn>, currentRoute: string): void;
28622
32003
 
32004
+ export declare function usePresence(): PresenceContextValue;
32005
+
28623
32006
  export declare function usePrintPreview(options?: UsePrintPreviewOptions): UsePrintPreviewResult;
28624
32007
 
28625
32008
  export declare interface UsePrintPreviewOptions {
@@ -28668,6 +32051,68 @@ export declare interface UsePullToRefreshResult {
28668
32051
  pullProgress: number;
28669
32052
  }
28670
32053
 
32054
+ /**
32055
+ * Hook for managing push notification subscriptions.
32056
+ */
32057
+ export declare function usePushNotifications(options?: UsePushNotificationsOptions): UsePushNotificationsReturn;
32058
+
32059
+ export declare interface UsePushNotificationsOptions {
32060
+ /** VAPID public key for subscription (required for subscribe) */
32061
+ vapidPublicKey?: string;
32062
+ /** Service worker registration (will use navigator.serviceWorker.ready if not provided) */
32063
+ swRegistration?: ServiceWorkerRegistration;
32064
+ /** Callback when subscription is created */
32065
+ onSubscribe?: (subscription: PushSubscriptionJSON_2) => void;
32066
+ /** Callback when subscription is removed */
32067
+ onUnsubscribe?: () => void;
32068
+ /** Callback when permission is granted */
32069
+ onPermissionGranted?: () => void;
32070
+ /** Callback when permission is denied */
32071
+ onPermissionDenied?: () => void;
32072
+ /** Callback on error */
32073
+ onError?: (error: Error) => void;
32074
+ }
32075
+
32076
+ export declare interface UsePushNotificationsReturn extends PushNotificationState {
32077
+ /** Request notification permission */
32078
+ requestPermission: () => Promise<NotificationPermission_2>;
32079
+ /** Subscribe to push notifications */
32080
+ subscribe: () => Promise<PushSubscriptionJSON_2 | null>;
32081
+ /** Unsubscribe from push notifications */
32082
+ unsubscribe: () => Promise<boolean>;
32083
+ /** Show a local notification (not push) */
32084
+ showNotification: (title: string, options?: NotificationOptions) => Promise<Notification | null>;
32085
+ /** Check if subscription exists */
32086
+ checkSubscription: () => Promise<PushSubscription | null>;
32087
+ }
32088
+
32089
+ /**
32090
+ * Main PWA hook combining all PWA functionality.
32091
+ */
32092
+ export declare function usePWA(options?: UsePWAOptions): UsePWAReturn;
32093
+
32094
+ export declare interface UsePWAOptions extends UseServiceWorkerOptions, UseOnlineStatusOptions {
32095
+ /** Callback when install prompt is shown */
32096
+ onInstallPrompt?: (event: BeforeInstallPromptEvent) => void;
32097
+ /** Callback when app is installed */
32098
+ onInstalled?: () => void;
32099
+ /** Callback when install is dismissed */
32100
+ onInstallDismissed?: () => void;
32101
+ }
32102
+
32103
+ export declare interface UsePWAReturn extends PWAState {
32104
+ /** Show install prompt */
32105
+ installApp: () => Promise<boolean>;
32106
+ /** Apply SW update */
32107
+ updateApp: () => void;
32108
+ /** Check for SW updates */
32109
+ checkForUpdate: () => Promise<void>;
32110
+ /** Get app display mode */
32111
+ displayMode: 'browser' | 'standalone' | 'fullscreen' | 'minimal-ui';
32112
+ /** SW registration object */
32113
+ registration: ServiceWorkerRegistration | null;
32114
+ }
32115
+
28671
32116
  export declare function useRegisterCommands(commands: NiceCommand[]): void;
28672
32117
 
28673
32118
  /**
@@ -28735,9 +32180,9 @@ export declare function useRouteAnnouncement(): {
28735
32180
  announcePageChange: (pageTitle: string) => void;
28736
32181
  regionProps: {
28737
32182
  role: "status";
28738
- "aria-live": "polite" | "assertive" | "off";
28739
- "aria-atomic": boolean;
28740
- "aria-relevant": "text" | "all" | "additions" | "additions text" | "removals";
32183
+ 'aria-live': "polite" | "assertive" | "off";
32184
+ 'aria-atomic': boolean;
32185
+ 'aria-relevant': "text" | "all" | "additions" | "additions text" | "removals";
28741
32186
  style: {
28742
32187
  position: "absolute";
28743
32188
  width: number;
@@ -28955,6 +32400,45 @@ export declare function useSafeWebSocket(url: string | null, protocols?: string
28955
32400
  */
28956
32401
  export declare function useSelectionHaptic(): () => void;
28957
32402
 
32403
+ /**
32404
+ * Hook for managing Service Worker registration and updates.
32405
+ */
32406
+ export declare function useServiceWorker(options?: UseServiceWorkerOptions): UseServiceWorkerReturn;
32407
+
32408
+ export declare interface UseServiceWorkerOptions {
32409
+ /** Service worker script URL (default: '/sw.js') */
32410
+ swUrl?: string;
32411
+ /** Scope for the service worker (default: '/') */
32412
+ scope?: string;
32413
+ /** Register immediately on mount (default: true) */
32414
+ registerOnMount?: boolean;
32415
+ /** Check for updates periodically (interval in ms, 0 to disable) */
32416
+ updateInterval?: number;
32417
+ /** Callback when SW is successfully registered */
32418
+ onSuccess?: (registration: ServiceWorkerRegistration) => void;
32419
+ /** Callback when a new version is available */
32420
+ onUpdate?: (registration: ServiceWorkerRegistration) => void;
32421
+ /** Callback when SW registration fails */
32422
+ onError?: (error: Error) => void;
32423
+ /** Callback when SW is activated (controlling page) */
32424
+ onActivated?: () => void;
32425
+ }
32426
+
32427
+ export declare interface UseServiceWorkerReturn extends ServiceWorkerState_2 {
32428
+ /** Register the service worker */
32429
+ register: () => Promise<ServiceWorkerRegistration | null>;
32430
+ /** Check for updates */
32431
+ checkForUpdate: () => Promise<void>;
32432
+ /** Apply waiting update (skip waiting) */
32433
+ update: () => void;
32434
+ /** Unregister the service worker */
32435
+ unregister: () => Promise<boolean>;
32436
+ /** Clear all caches */
32437
+ clearCaches: () => Promise<boolean>;
32438
+ /** Get cache names */
32439
+ getCacheNames: () => Promise<string[]>;
32440
+ }
32441
+
28958
32442
  /** Hook to access wizard context from within steps */
28959
32443
  export declare function useSetupWizard(): SetupWizardContext;
28960
32444
 
@@ -29466,6 +32950,20 @@ export declare interface ValidationRule<T> {
29466
32950
  fields?: string[];
29467
32951
  }
29468
32952
 
32953
+ declare interface ValidationRule_2 {
32954
+ type: 'required' | 'min' | 'max' | 'pattern' | 'enum';
32955
+ value?: unknown;
32956
+ message?: string;
32957
+ }
32958
+
32959
+ declare interface ValidationRule_3 {
32960
+ id: string;
32961
+ field: string;
32962
+ type: ValidationType;
32963
+ value?: unknown;
32964
+ message?: string;
32965
+ }
32966
+
29469
32967
  /**
29470
32968
  * Pre-built validation rules.
29471
32969
  */
@@ -29483,6 +32981,8 @@ export declare const ValidationRules: {
29483
32981
 
29484
32982
  export declare type ValidationSeverity = 'error' | 'warning' | 'info';
29485
32983
 
32984
+ declare type ValidationType = 'required' | 'type' | 'min' | 'max' | 'pattern' | 'enum' | 'custom';
32985
+
29486
32986
  /**
29487
32987
  * Data types for variables
29488
32988
  */
@@ -29507,6 +33007,50 @@ export declare interface VatCountryConfig {
29507
33007
  placeholder?: string;
29508
33008
  }
29509
33009
 
33010
+ /** Author/User information */
33011
+ declare interface VersioningAuthor {
33012
+ id: string;
33013
+ name: string;
33014
+ email?: string;
33015
+ avatar?: string;
33016
+ }
33017
+
33018
+ /** Base branch representation */
33019
+ declare interface VersioningBranch extends VersioningId {
33020
+ name: string;
33021
+ displayName?: string;
33022
+ description?: string;
33023
+ isDefault: boolean;
33024
+ isProtected: boolean;
33025
+ createdBy: VersioningAuthor;
33026
+ createdAt: VersioningTimestamp;
33027
+ lastActivity?: VersioningTimestamp;
33028
+ upstream?: string;
33029
+ status: BranchStatus;
33030
+ metadata?: Record<string, unknown>;
33031
+ }
33032
+
33033
+ /**
33034
+ * NiceVersioningCore — Shared abstraction for Git and Data Branching
33035
+ * @nice2dev/ui - Versioning System
33036
+ *
33037
+ * Provides common types, hooks, and utilities for:
33038
+ * - Git version control (code)
33039
+ * - Data Branching (ERP data)
33040
+ */
33041
+ /** Base versioning entity identifier */
33042
+ declare interface VersioningId {
33043
+ id: string;
33044
+ shortId: string;
33045
+ }
33046
+
33047
+ /** Timestamp with timezone */
33048
+ declare interface VersioningTimestamp {
33049
+ date: Date;
33050
+ timezone?: string;
33051
+ relative?: string;
33052
+ }
33053
+
29510
33054
  /**
29511
33055
  * Simple one-off vibration
29512
33056
  */
@@ -29795,6 +33339,12 @@ export declare interface VoiceControlOptions {
29795
33339
  onError?: (error: string) => void;
29796
33340
  }
29797
33341
 
33342
+ declare interface WaitCondition {
33343
+ type: 'timeout' | 'element' | 'text' | 'api' | 'state';
33344
+ value: unknown;
33345
+ timeout?: number;
33346
+ }
33347
+
29798
33348
  /** Watermark settings */
29799
33349
  export declare interface WatermarkSettings {
29800
33350
  enabled: boolean;
@@ -29812,7 +33362,7 @@ export declare interface WatermarkSettings {
29812
33362
 
29813
33363
  export declare interface WCAGCheckResult {
29814
33364
  rule: string;
29815
- level: "A" | "AA" | "AAA";
33365
+ level: 'A' | 'AA' | 'AAA';
29816
33366
  passed: boolean;
29817
33367
  message: string;
29818
33368
  element?: string;