@nice2dev/ui-tools 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/README.md +36 -0
  2. package/dist/access-control.d.ts +726 -0
  3. package/dist/access-control.d.ts.map +1 -0
  4. package/dist/accessibility-i18n.d.ts +1017 -0
  5. package/dist/accessibility-i18n.d.ts.map +1 -0
  6. package/dist/ai-assistant.d.ts +263 -0
  7. package/dist/ai-assistant.d.ts.map +1 -0
  8. package/dist/ai-playgrounds.d.ts +842 -0
  9. package/dist/ai-playgrounds.d.ts.map +1 -0
  10. package/dist/alerting-incidents.d.ts +558 -0
  11. package/dist/alerting-incidents.d.ts.map +1 -0
  12. package/dist/api-designer.d.ts +1568 -0
  13. package/dist/api-designer.d.ts.map +1 -0
  14. package/dist/api-testing.d.ts +1146 -0
  15. package/dist/api-testing.d.ts.map +1 -0
  16. package/dist/apm-profiling.d.ts +656 -0
  17. package/dist/apm-profiling.d.ts.map +1 -0
  18. package/dist/artifacts.d.ts +421 -0
  19. package/dist/artifacts.d.ts.map +1 -0
  20. package/dist/audit-compliance.d.ts +752 -0
  21. package/dist/audit-compliance.d.ts.map +1 -0
  22. package/dist/certificates.d.ts +256 -0
  23. package/dist/certificates.d.ts.map +1 -0
  24. package/dist/chart-builder.d.ts +1404 -0
  25. package/dist/chart-builder.d.ts.map +1 -0
  26. package/dist/cloud-instances.d.ts +169 -0
  27. package/dist/cloud-instances.d.ts.map +1 -0
  28. package/dist/config-management.d.ts +350 -0
  29. package/dist/config-management.d.ts.map +1 -0
  30. package/dist/containers.d.ts +256 -0
  31. package/dist/containers.d.ts.map +1 -0
  32. package/dist/dashboard-designer.d.ts +1238 -0
  33. package/dist/dashboard-designer.d.ts.map +1 -0
  34. package/dist/data-management.d.ts +496 -0
  35. package/dist/data-management.d.ts.map +1 -0
  36. package/dist/data-pipeline.d.ts +1105 -0
  37. package/dist/data-pipeline.d.ts.map +1 -0
  38. package/dist/data-warehouse.d.ts +1097 -0
  39. package/dist/data-warehouse.d.ts.map +1 -0
  40. package/dist/dataset-management.d.ts +782 -0
  41. package/dist/dataset-management.d.ts.map +1 -0
  42. package/dist/db-adapters.d.ts +704 -0
  43. package/dist/db-adapters.d.ts.map +1 -0
  44. package/dist/db-admin.d.ts +699 -0
  45. package/dist/db-admin.d.ts.map +1 -0
  46. package/dist/db-designer.d.ts +366 -0
  47. package/dist/db-designer.d.ts.map +1 -0
  48. package/dist/debugger.d.ts +356 -0
  49. package/dist/debugger.d.ts.map +1 -0
  50. package/dist/device-management.d.ts +871 -0
  51. package/dist/device-management.d.ts.map +1 -0
  52. package/dist/distributed-tracing.d.ts +427 -0
  53. package/dist/distributed-tracing.d.ts.map +1 -0
  54. package/dist/dns-management.d.ts +215 -0
  55. package/dist/dns-management.d.ts.map +1 -0
  56. package/dist/download-manager.d.ts +271 -0
  57. package/dist/download-manager.d.ts.map +1 -0
  58. package/dist/download-torrent.d.ts +1062 -0
  59. package/dist/download-torrent.d.ts.map +1 -0
  60. package/dist/edge-computing.d.ts +720 -0
  61. package/dist/edge-computing.d.ts.map +1 -0
  62. package/dist/education.d.ts +1135 -0
  63. package/dist/education.d.ts.map +1 -0
  64. package/dist/email-template.d.ts +1141 -0
  65. package/dist/email-template.d.ts.map +1 -0
  66. package/dist/erp-enterprise.d.ts +1270 -0
  67. package/dist/erp-enterprise.d.ts.map +1 -0
  68. package/dist/form-builder.d.ts +1117 -0
  69. package/dist/form-builder.d.ts.map +1 -0
  70. package/dist/game-engine-advanced.d.ts +1049 -0
  71. package/dist/game-engine-advanced.d.ts.map +1 -0
  72. package/dist/git.d.ts +415 -0
  73. package/dist/git.d.ts.map +1 -0
  74. package/dist/hardware-integration.d.ts +966 -0
  75. package/dist/hardware-integration.d.ts.map +1 -0
  76. package/dist/iac.d.ts +318 -0
  77. package/dist/iac.d.ts.map +1 -0
  78. package/dist/icon-tools.d.ts +1023 -0
  79. package/dist/icon-tools.d.ts.map +1 -0
  80. package/dist/ide.d.ts +322 -0
  81. package/dist/ide.d.ts.map +1 -0
  82. package/dist/index.cjs +2 -0
  83. package/dist/index.cjs.map +1 -0
  84. package/dist/index.d.ts +176 -0
  85. package/dist/index.d.ts.map +1 -0
  86. package/dist/index.mjs +1887 -0
  87. package/dist/index.mjs.map +1 -0
  88. package/dist/integration-platform.d.ts +857 -0
  89. package/dist/integration-platform.d.ts.map +1 -0
  90. package/dist/kubernetes.d.ts +278 -0
  91. package/dist/kubernetes.d.ts.map +1 -0
  92. package/dist/life-management.d.ts +1132 -0
  93. package/dist/life-management.d.ts.map +1 -0
  94. package/dist/log-management.d.ts +473 -0
  95. package/dist/log-management.d.ts.map +1 -0
  96. package/dist/mathematics.d.ts +870 -0
  97. package/dist/mathematics.d.ts.map +1 -0
  98. package/dist/message-queue.d.ts +1006 -0
  99. package/dist/message-queue.d.ts.map +1 -0
  100. package/dist/metrics-dashboard.d.ts +596 -0
  101. package/dist/metrics-dashboard.d.ts.map +1 -0
  102. package/dist/mobile-components.d.ts +766 -0
  103. package/dist/mobile-components.d.ts.map +1 -0
  104. package/dist/model-deployment.d.ts +787 -0
  105. package/dist/model-deployment.d.ts.map +1 -0
  106. package/dist/model-registry.d.ts +740 -0
  107. package/dist/model-registry.d.ts.map +1 -0
  108. package/dist/model-training.d.ts +706 -0
  109. package/dist/model-training.d.ts.map +1 -0
  110. package/dist/network-config.d.ts +334 -0
  111. package/dist/network-config.d.ts.map +1 -0
  112. package/dist/network-monitoring.d.ts +291 -0
  113. package/dist/network-monitoring.d.ts.map +1 -0
  114. package/dist/pdf-tools.d.ts +1003 -0
  115. package/dist/pdf-tools.d.ts.map +1 -0
  116. package/dist/pipelines.d.ts +250 -0
  117. package/dist/pipelines.d.ts.map +1 -0
  118. package/dist/remote-desktop.d.ts +207 -0
  119. package/dist/remote-desktop.d.ts.map +1 -0
  120. package/dist/report-designer.d.ts +1153 -0
  121. package/dist/report-designer.d.ts.map +1 -0
  122. package/dist/scada-industrial.d.ts +848 -0
  123. package/dist/scada-industrial.d.ts.map +1 -0
  124. package/dist/scientific-research.d.ts +1149 -0
  125. package/dist/scientific-research.d.ts.map +1 -0
  126. package/dist/secret-management.d.ts +617 -0
  127. package/dist/secret-management.d.ts.map +1 -0
  128. package/dist/security-scanning.d.ts +714 -0
  129. package/dist/security-scanning.d.ts.map +1 -0
  130. package/dist/self-service-analytics.d.ts +1208 -0
  131. package/dist/self-service-analytics.d.ts.map +1 -0
  132. package/dist/sensor-dashboard.d.ts +845 -0
  133. package/dist/sensor-dashboard.d.ts.map +1 -0
  134. package/dist/server-management.d.ts +331 -0
  135. package/dist/server-management.d.ts.map +1 -0
  136. package/dist/smart-home.d.ts +861 -0
  137. package/dist/smart-home.d.ts.map +1 -0
  138. package/dist/spreadsheet.d.ts +1043 -0
  139. package/dist/spreadsheet.d.ts.map +1 -0
  140. package/dist/sql-editor.d.ts +402 -0
  141. package/dist/sql-editor.d.ts.map +1 -0
  142. package/dist/terminal.d.ts +245 -0
  143. package/dist/terminal.d.ts.map +1 -0
  144. package/dist/testing-qa.d.ts +1013 -0
  145. package/dist/testing-qa.d.ts.map +1 -0
  146. package/dist/torrent-client.d.ts +298 -0
  147. package/dist/torrent-client.d.ts.map +1 -0
  148. package/dist/traceless.d.ts +759 -0
  149. package/dist/traceless.d.ts.map +1 -0
  150. package/dist/virtual-machines.d.ts +199 -0
  151. package/dist/virtual-machines.d.ts.map +1 -0
  152. package/dist/visual-scripting.d.ts +381 -0
  153. package/dist/visual-scripting.d.ts.map +1 -0
  154. package/dist/word-processor.d.ts +1124 -0
  155. package/dist/word-processor.d.ts.map +1 -0
  156. package/dist/workspace.d.ts +333 -0
  157. package/dist/workspace.d.ts.map +1 -0
  158. package/package.json +62 -0
@@ -0,0 +1,1003 @@
1
+ /**
2
+ * @file pdf-tools.ts
3
+ * @module @nice2dev/ui-tools
4
+ * @description PRO-14.1 — PDF Tools
5
+ *
6
+ * Types for PDF tools: viewer, editor, annotations, forms, merge/split,
7
+ * compress, signatures, redaction, OCR, comparison, and conversion.
8
+ */
9
+ /** PDF document state */
10
+ export type PDFDocumentState = 'loading' | 'loaded' | 'error' | 'empty';
11
+ /** Page rotation angle */
12
+ export type PageRotation = 0 | 90 | 180 | 270;
13
+ /** Page fit mode */
14
+ export type PageFitMode = 'page-width' | 'page-height' | 'page-fit' | 'actual-size' | 'percentage';
15
+ /** Annotation type */
16
+ export type PDFAnnotationType = 'highlight' | 'underline' | 'strikeout' | 'squiggly' | 'freetext' | 'note' | 'ink' | 'line' | 'rectangle' | 'ellipse' | 'polygon' | 'polyline' | 'stamp' | 'caret' | 'link' | 'fileattachment' | 'sound' | 'movie' | 'widget' | 'redact';
17
+ /** PDF viewer configuration */
18
+ export interface PDFViewerConfig {
19
+ /** Document source */
20
+ source: PDFSource;
21
+ /** Initial page number */
22
+ initialPage?: number;
23
+ /** Initial zoom level */
24
+ initialZoom?: number;
25
+ /** Fit mode */
26
+ fitMode?: PageFitMode;
27
+ /** Page layout */
28
+ pageLayout?: PageLayout;
29
+ /** Scroll mode */
30
+ scrollMode?: ScrollMode;
31
+ /** Spread mode */
32
+ spreadMode?: SpreadMode;
33
+ /** Rotation */
34
+ rotation?: PageRotation;
35
+ /** Enable text selection */
36
+ textSelection?: boolean;
37
+ /** Enable text search */
38
+ searchEnabled?: boolean;
39
+ /** Enable annotations */
40
+ annotationsEnabled?: boolean;
41
+ /** Enable forms */
42
+ formsEnabled?: boolean;
43
+ /** Enable printing */
44
+ printEnabled?: boolean;
45
+ /** Enable download */
46
+ downloadEnabled?: boolean;
47
+ /** Enable fullscreen */
48
+ fullscreenEnabled?: boolean;
49
+ /** Show toolbar */
50
+ showToolbar?: boolean;
51
+ /** Show sidebar */
52
+ showSidebar?: boolean;
53
+ /** Sidebar tab */
54
+ sidebarTab?: SidebarTab;
55
+ /** Theme */
56
+ theme?: 'light' | 'dark' | 'auto';
57
+ /** Password for encrypted PDFs */
58
+ password?: string;
59
+ /** CORS proxy URL */
60
+ corsProxy?: string;
61
+ /** Worker source */
62
+ workerSrc?: string;
63
+ /** CMap URL */
64
+ cMapUrl?: string;
65
+ }
66
+ /** PDF source */
67
+ export interface PDFSource {
68
+ type: 'url' | 'base64' | 'file' | 'arraybuffer' | 'blob';
69
+ url?: string;
70
+ data?: string | ArrayBuffer | Blob | File;
71
+ filename?: string;
72
+ httpHeaders?: Record<string, string>;
73
+ withCredentials?: boolean;
74
+ }
75
+ /** Page layout mode */
76
+ export type PageLayout = 'single' | 'continuous' | 'two-column' | 'two-column-continuous';
77
+ /** Scroll mode */
78
+ export type ScrollMode = 'vertical' | 'horizontal' | 'wrapped' | 'page';
79
+ /** Spread mode */
80
+ export type SpreadMode = 'none' | 'odd' | 'even';
81
+ /** Sidebar tab */
82
+ export type SidebarTab = 'thumbnails' | 'outline' | 'attachments' | 'annotations' | 'layers';
83
+ /** PDF document metadata */
84
+ export interface PDFDocumentInfo {
85
+ /** Number of pages */
86
+ numPages: number;
87
+ /** Document title */
88
+ title?: string;
89
+ /** Document author */
90
+ author?: string;
91
+ /** Document subject */
92
+ subject?: string;
93
+ /** Document keywords */
94
+ keywords?: string;
95
+ /** Creator application */
96
+ creator?: string;
97
+ /** Producer application */
98
+ producer?: string;
99
+ /** Creation date */
100
+ creationDate?: Date;
101
+ /** Modification date */
102
+ modDate?: Date;
103
+ /** PDF version */
104
+ pdfVersion?: string;
105
+ /** Is encrypted */
106
+ isEncrypted?: boolean;
107
+ /** Permissions */
108
+ permissions?: PDFPermissions;
109
+ /** File size in bytes */
110
+ fileSize?: number;
111
+ /** Is linearized (fast web view) */
112
+ isLinearized?: boolean;
113
+ /** Is tagged (accessibility) */
114
+ isTagged?: boolean;
115
+ /** Is AcroForm present */
116
+ hasAcroForm?: boolean;
117
+ /** Is XFA form */
118
+ isXFA?: boolean;
119
+ /** Custom metadata */
120
+ metadata?: Record<string, string>;
121
+ }
122
+ /** PDF permissions */
123
+ export interface PDFPermissions {
124
+ printing?: 'none' | 'low-resolution' | 'high-resolution';
125
+ modification?: boolean;
126
+ copying?: boolean;
127
+ annotating?: boolean;
128
+ formFilling?: boolean;
129
+ contentAccessibility?: boolean;
130
+ documentAssembly?: boolean;
131
+ }
132
+ /** PDF page info */
133
+ export interface PDFPageInfo {
134
+ pageNumber: number;
135
+ width: number;
136
+ height: number;
137
+ rotation: PageRotation;
138
+ userUnit?: number;
139
+ mediaBox?: PDFRect;
140
+ cropBox?: PDFRect;
141
+ bleedBox?: PDFRect;
142
+ trimBox?: PDFRect;
143
+ artBox?: PDFRect;
144
+ }
145
+ /** PDF rectangle */
146
+ export interface PDFRect {
147
+ x: number;
148
+ y: number;
149
+ width: number;
150
+ height: number;
151
+ }
152
+ /** PDF outline item (bookmark) */
153
+ export interface PDFOutlineItem {
154
+ title: string;
155
+ destination?: PDFDestination;
156
+ action?: PDFAction;
157
+ color?: PDFColor;
158
+ bold?: boolean;
159
+ italic?: boolean;
160
+ items?: PDFOutlineItem[];
161
+ count?: number;
162
+ expanded?: boolean;
163
+ }
164
+ /** PDF destination */
165
+ export interface PDFDestination {
166
+ pageNumber: number;
167
+ type: 'XYZ' | 'Fit' | 'FitH' | 'FitV' | 'FitR' | 'FitB' | 'FitBH' | 'FitBV';
168
+ left?: number;
169
+ top?: number;
170
+ right?: number;
171
+ bottom?: number;
172
+ zoom?: number;
173
+ }
174
+ /** PDF action */
175
+ export interface PDFAction {
176
+ type: 'GoTo' | 'GoToR' | 'GoToE' | 'Launch' | 'URI' | 'Named' | 'JavaScript' | 'SubmitForm' | 'ResetForm';
177
+ destination?: PDFDestination;
178
+ url?: string;
179
+ filename?: string;
180
+ newWindow?: boolean;
181
+ namedAction?: string;
182
+ script?: string;
183
+ }
184
+ /** PDF color */
185
+ export interface PDFColor {
186
+ r: number;
187
+ g: number;
188
+ b: number;
189
+ a?: number;
190
+ }
191
+ /** PDF attachment */
192
+ export interface PDFAttachment {
193
+ filename: string;
194
+ description?: string;
195
+ creationDate?: Date;
196
+ modificationDate?: Date;
197
+ size?: number;
198
+ mimeType?: string;
199
+ content?: ArrayBuffer;
200
+ }
201
+ /** Text search options */
202
+ export interface PDFSearchOptions {
203
+ query: string;
204
+ caseSensitive?: boolean;
205
+ wholeWord?: boolean;
206
+ regex?: boolean;
207
+ highlightAll?: boolean;
208
+ pageRange?: {
209
+ start: number;
210
+ end: number;
211
+ };
212
+ }
213
+ /** Text search result */
214
+ export interface PDFSearchResult {
215
+ pageNumber: number;
216
+ matchIndex: number;
217
+ text: string;
218
+ rect: PDFRect;
219
+ context?: string;
220
+ }
221
+ /** PDF editor configuration */
222
+ export interface PDFEditorConfig extends PDFViewerConfig {
223
+ /** Save mode */
224
+ saveMode?: 'download' | 'callback' | 'auto';
225
+ /** Auto-save interval (ms) */
226
+ autoSaveInterval?: number;
227
+ /** Enable undo/redo */
228
+ undoEnabled?: boolean;
229
+ /** Max undo steps */
230
+ maxUndoSteps?: number;
231
+ /** Enable page manipulation */
232
+ pageManipulation?: boolean;
233
+ /** Enable content editing */
234
+ contentEditing?: boolean;
235
+ /** Enable image editing */
236
+ imageEditing?: boolean;
237
+ /** Default font */
238
+ defaultFont?: string;
239
+ /** Default font size */
240
+ defaultFontSize?: number;
241
+ /** Default text color */
242
+ defaultTextColor?: string;
243
+ }
244
+ /** PDF edit operation */
245
+ export type PDFEditOperation = PDFTextEditOperation | PDFImageEditOperation | PDFPageOperation | PDFAnnotationOperation | PDFFormOperation;
246
+ /** Text edit operation */
247
+ export interface PDFTextEditOperation {
248
+ type: 'text-add' | 'text-edit' | 'text-delete';
249
+ pageNumber: number;
250
+ rect?: PDFRect;
251
+ text?: string;
252
+ style?: PDFTextStyle;
253
+ contentId?: string;
254
+ }
255
+ /** Text style */
256
+ export interface PDFTextStyle {
257
+ fontFamily?: string;
258
+ fontSize?: number;
259
+ fontWeight?: 'normal' | 'bold';
260
+ fontStyle?: 'normal' | 'italic';
261
+ color?: string;
262
+ backgroundColor?: string;
263
+ textAlign?: 'left' | 'center' | 'right' | 'justify';
264
+ lineHeight?: number;
265
+ letterSpacing?: number;
266
+ }
267
+ /** Image edit operation */
268
+ export interface PDFImageEditOperation {
269
+ type: 'image-add' | 'image-edit' | 'image-delete';
270
+ pageNumber: number;
271
+ rect?: PDFRect;
272
+ imageData?: string | ArrayBuffer;
273
+ imageUrl?: string;
274
+ contentId?: string;
275
+ opacity?: number;
276
+ }
277
+ /** Page operation */
278
+ export interface PDFPageOperation {
279
+ type: 'page-add' | 'page-delete' | 'page-rotate' | 'page-move' | 'page-crop' | 'page-resize';
280
+ pageNumber: number;
281
+ targetPageNumber?: number;
282
+ rotation?: PageRotation;
283
+ cropRect?: PDFRect;
284
+ newSize?: {
285
+ width: number;
286
+ height: number;
287
+ };
288
+ insertPosition?: 'before' | 'after';
289
+ blankPage?: boolean;
290
+ }
291
+ /** Annotation operation */
292
+ export interface PDFAnnotationOperation {
293
+ type: 'annotation-add' | 'annotation-edit' | 'annotation-delete';
294
+ annotation?: PDFAnnotation;
295
+ annotationId?: string;
296
+ }
297
+ /** Form operation */
298
+ export interface PDFFormOperation {
299
+ type: 'form-field-add' | 'form-field-edit' | 'form-field-delete' | 'form-fill';
300
+ field?: PDFFormField;
301
+ fieldName?: string;
302
+ value?: unknown;
303
+ }
304
+ /** PDF annotation */
305
+ export interface PDFAnnotation {
306
+ id: string;
307
+ type: PDFAnnotationType;
308
+ pageNumber: number;
309
+ rect: PDFRect;
310
+ contents?: string;
311
+ author?: string;
312
+ creationDate?: Date;
313
+ modificationDate?: Date;
314
+ color?: string;
315
+ opacity?: number;
316
+ flags?: AnnotationFlags;
317
+ borderStyle?: AnnotationBorder;
318
+ appearance?: AnnotationAppearance;
319
+ popup?: PopupAnnotation;
320
+ replies?: PDFAnnotation[];
321
+ state?: AnnotationState;
322
+ stateModel?: AnnotationStateModel;
323
+ subject?: string;
324
+ richContents?: string;
325
+ quadPoints?: QuadPoint[];
326
+ inkList?: InkPath[];
327
+ vertices?: Point[];
328
+ lineStart?: Point;
329
+ lineEnd?: Point;
330
+ lineEndingStyles?: LineEndingStyles;
331
+ stampName?: string;
332
+ fileAttachment?: PDFAttachment;
333
+ soundContent?: SoundContent;
334
+ linkDest?: PDFDestination;
335
+ linkAction?: PDFAction;
336
+ }
337
+ /** Annotation flags */
338
+ export interface AnnotationFlags {
339
+ invisible?: boolean;
340
+ hidden?: boolean;
341
+ print?: boolean;
342
+ noZoom?: boolean;
343
+ noRotate?: boolean;
344
+ noView?: boolean;
345
+ readOnly?: boolean;
346
+ locked?: boolean;
347
+ toggleNoView?: boolean;
348
+ lockedContents?: boolean;
349
+ }
350
+ /** Annotation border */
351
+ export interface AnnotationBorder {
352
+ width?: number;
353
+ style?: 'solid' | 'dashed' | 'beveled' | 'inset' | 'underline';
354
+ dashArray?: number[];
355
+ cloudIntensity?: number;
356
+ }
357
+ /** Annotation appearance */
358
+ export interface AnnotationAppearance {
359
+ normal?: string | ArrayBuffer;
360
+ rollover?: string | ArrayBuffer;
361
+ down?: string | ArrayBuffer;
362
+ }
363
+ /** Popup annotation */
364
+ export interface PopupAnnotation {
365
+ rect: PDFRect;
366
+ open?: boolean;
367
+ }
368
+ /** Annotation state */
369
+ export type AnnotationState = 'Marked' | 'Unmarked' | 'Accepted' | 'Rejected' | 'Cancelled' | 'Completed' | 'None';
370
+ /** Annotation state model */
371
+ export type AnnotationStateModel = 'Marked' | 'Review';
372
+ /** Quad point for text markup */
373
+ export interface QuadPoint {
374
+ x1: number;
375
+ y1: number;
376
+ x2: number;
377
+ y2: number;
378
+ x3: number;
379
+ y3: number;
380
+ x4: number;
381
+ y4: number;
382
+ }
383
+ /** Ink path */
384
+ export interface InkPath {
385
+ points: Point[];
386
+ }
387
+ /** Point */
388
+ export interface Point {
389
+ x: number;
390
+ y: number;
391
+ }
392
+ /** Line ending styles */
393
+ export interface LineEndingStyles {
394
+ start?: LineEndingStyle;
395
+ end?: LineEndingStyle;
396
+ }
397
+ /** Line ending style */
398
+ export type LineEndingStyle = 'None' | 'Square' | 'Circle' | 'Diamond' | 'OpenArrow' | 'ClosedArrow' | 'Butt' | 'ROpenArrow' | 'RClosedArrow' | 'Slash';
399
+ /** Sound content */
400
+ export interface SoundContent {
401
+ data: ArrayBuffer;
402
+ sampling?: number;
403
+ bits?: number;
404
+ channels?: number;
405
+ encoding?: 'Raw' | 'Signed' | 'muLaw' | 'ALaw';
406
+ }
407
+ /** Annotation tool */
408
+ export interface AnnotationTool {
409
+ type: PDFAnnotationType;
410
+ color?: string;
411
+ opacity?: number;
412
+ thickness?: number;
413
+ fontSize?: number;
414
+ fontFamily?: string;
415
+ stampName?: string;
416
+ }
417
+ /** PDF form field */
418
+ export interface PDFFormField {
419
+ name: string;
420
+ type: PDFFormFieldType;
421
+ pageNumber: number;
422
+ rect: PDFRect;
423
+ value?: unknown;
424
+ defaultValue?: unknown;
425
+ options?: FormFieldOption[];
426
+ maxLength?: number;
427
+ multiline?: boolean;
428
+ password?: boolean;
429
+ readonly?: boolean;
430
+ required?: boolean;
431
+ noExport?: boolean;
432
+ hidden?: boolean;
433
+ tooltip?: string;
434
+ alternateFieldName?: string;
435
+ mappingName?: string;
436
+ appearance?: FormFieldAppearance;
437
+ actions?: FormFieldActions;
438
+ validation?: FormFieldValidation;
439
+ }
440
+ /** Form field type */
441
+ export type PDFFormFieldType = 'text' | 'checkbox' | 'radio' | 'select' | 'listbox' | 'button' | 'signature' | 'barcode';
442
+ /** Form field option */
443
+ export interface FormFieldOption {
444
+ label: string;
445
+ value: string;
446
+ selected?: boolean;
447
+ }
448
+ /** Form field appearance */
449
+ export interface FormFieldAppearance {
450
+ backgroundColor?: string;
451
+ borderColor?: string;
452
+ borderWidth?: number;
453
+ borderStyle?: 'solid' | 'dashed' | 'beveled' | 'inset' | 'underline';
454
+ textColor?: string;
455
+ fontSize?: number;
456
+ fontFamily?: string;
457
+ textAlign?: 'left' | 'center' | 'right';
458
+ rotation?: PageRotation;
459
+ }
460
+ /** Form field actions */
461
+ export interface FormFieldActions {
462
+ keystroke?: PDFAction;
463
+ format?: PDFAction;
464
+ validate?: PDFAction;
465
+ calculate?: PDFAction;
466
+ mouseUp?: PDFAction;
467
+ mouseDown?: PDFAction;
468
+ mouseEnter?: PDFAction;
469
+ mouseExit?: PDFAction;
470
+ focus?: PDFAction;
471
+ blur?: PDFAction;
472
+ }
473
+ /** Form field validation */
474
+ export interface FormFieldValidation {
475
+ type?: 'none' | 'number' | 'percent' | 'date' | 'time' | 'custom';
476
+ min?: number;
477
+ max?: number;
478
+ pattern?: string;
479
+ customScript?: string;
480
+ errorMessage?: string;
481
+ }
482
+ /** Form data */
483
+ export interface PDFFormData {
484
+ fields: Record<string, unknown>;
485
+ format?: 'fdf' | 'xfdf' | 'json';
486
+ }
487
+ /** Form submission */
488
+ export interface PDFFormSubmission {
489
+ url: string;
490
+ method?: 'GET' | 'POST';
491
+ format?: 'fdf' | 'xfdf' | 'html' | 'pdf';
492
+ fields?: string[];
493
+ includeAnnotations?: boolean;
494
+ includeNoValueFields?: boolean;
495
+ excludeNonUserAnnotations?: boolean;
496
+ excudeHiddenFields?: boolean;
497
+ canonical?: boolean;
498
+ }
499
+ /** PDF merge configuration */
500
+ export interface PDFMergeConfig {
501
+ sources: PDFMergeSource[];
502
+ outputFilename?: string;
503
+ outlines?: 'none' | 'preserve' | 'merge';
504
+ annotations?: boolean;
505
+ formFields?: boolean;
506
+ links?: boolean;
507
+ metadata?: PDFMergeMetadata;
508
+ }
509
+ /** PDF merge source */
510
+ export interface PDFMergeSource {
511
+ source: PDFSource;
512
+ pageRange?: PDFPageRange;
513
+ rotation?: PageRotation;
514
+ password?: string;
515
+ }
516
+ /** Page range */
517
+ export interface PDFPageRange {
518
+ type: 'all' | 'range' | 'pages';
519
+ start?: number;
520
+ end?: number;
521
+ pages?: number[];
522
+ reverse?: boolean;
523
+ }
524
+ /** Merge metadata */
525
+ export interface PDFMergeMetadata {
526
+ title?: string;
527
+ author?: string;
528
+ subject?: string;
529
+ keywords?: string;
530
+ creator?: string;
531
+ }
532
+ /** PDF split configuration */
533
+ export interface PDFSplitConfig {
534
+ source: PDFSource;
535
+ splitType: PDFSplitType;
536
+ pageRanges?: PDFPageRange[];
537
+ fixedPages?: number;
538
+ bookmarkLevel?: number;
539
+ filenamePattern?: string;
540
+ outputFormat?: 'pdf' | 'zip';
541
+ }
542
+ /** Split type */
543
+ export type PDFSplitType = 'range' | 'each-page' | 'fixed-pages' | 'bookmarks' | 'blank-pages' | 'custom';
544
+ /** Split result */
545
+ export interface PDFSplitResult {
546
+ files: PDFSplitFile[];
547
+ totalPages: number;
548
+ totalFiles: number;
549
+ }
550
+ /** Split file */
551
+ export interface PDFSplitFile {
552
+ filename: string;
553
+ pages: number[];
554
+ data?: ArrayBuffer;
555
+ url?: string;
556
+ size?: number;
557
+ }
558
+ /** PDF compression configuration */
559
+ export interface PDFCompressConfig {
560
+ source: PDFSource;
561
+ quality: CompressionQuality;
562
+ options?: CompressionOptions;
563
+ }
564
+ /** Compression quality preset */
565
+ export type CompressionQuality = 'low' | 'medium' | 'high' | 'maximum' | 'custom';
566
+ /** Compression options */
567
+ export interface CompressionOptions {
568
+ imageCompression?: ImageCompressionOptions;
569
+ fontOptimization?: FontOptimizationOptions;
570
+ removeObjects?: RemoveObjectsOptions;
571
+ linearize?: boolean;
572
+ cleanupOptions?: CleanupOptions;
573
+ }
574
+ /** Image compression options */
575
+ export interface ImageCompressionOptions {
576
+ enabled: boolean;
577
+ maxResolution?: number;
578
+ colorResolution?: number;
579
+ grayscaleResolution?: number;
580
+ monochromeResolution?: number;
581
+ jpegQuality?: number;
582
+ convertToJpeg?: boolean;
583
+ removeAlphaChannel?: boolean;
584
+ downsample?: 'none' | 'average' | 'bicubic' | 'subsample';
585
+ }
586
+ /** Font optimization options */
587
+ export interface FontOptimizationOptions {
588
+ enabled: boolean;
589
+ subset?: boolean;
590
+ flatten?: boolean;
591
+ convertToOutlines?: boolean;
592
+ removeUnusedFonts?: boolean;
593
+ }
594
+ /** Remove objects options */
595
+ export interface RemoveObjectsOptions {
596
+ removeAnnotations?: boolean;
597
+ removeBookmarks?: boolean;
598
+ removeEmbeddedContent?: boolean;
599
+ removeFormFields?: boolean;
600
+ removeJavaScript?: boolean;
601
+ removeLinks?: boolean;
602
+ removeMetadata?: boolean;
603
+ removePieceInfo?: boolean;
604
+ removeThumbnails?: boolean;
605
+ removeUnusedResources?: boolean;
606
+ }
607
+ /** Cleanup options */
608
+ export interface CleanupOptions {
609
+ removeUnusedObjects?: boolean;
610
+ compressObjectStreams?: boolean;
611
+ removeInvalidLinks?: boolean;
612
+ removeUnusedNamedDests?: boolean;
613
+ flattenFields?: boolean;
614
+ }
615
+ /** Compression result */
616
+ export interface PDFCompressResult {
617
+ originalSize: number;
618
+ compressedSize: number;
619
+ compressionRatio: number;
620
+ data?: ArrayBuffer;
621
+ url?: string;
622
+ statistics?: CompressionStatistics;
623
+ }
624
+ /** Compression statistics */
625
+ export interface CompressionStatistics {
626
+ imagesCompressed: number;
627
+ fontsOptimized: number;
628
+ objectsRemoved: number;
629
+ savingsPerCategory: Record<string, number>;
630
+ }
631
+ /** Digital signature configuration */
632
+ export interface PDFSignatureConfig {
633
+ certificate: SignatureCertificate;
634
+ appearance?: SignatureAppearance;
635
+ location?: string;
636
+ reason?: string;
637
+ contactInfo?: string;
638
+ permissions?: SignaturePermissions;
639
+ timestamp?: TimestampConfig;
640
+ ltv?: boolean;
641
+ certification?: boolean;
642
+ }
643
+ /** Signature certificate */
644
+ export interface SignatureCertificate {
645
+ type: 'pfx' | 'p12' | 'pkcs11' | 'windows' | 'mac';
646
+ data?: ArrayBuffer;
647
+ password?: string;
648
+ alias?: string;
649
+ pin?: string;
650
+ library?: string;
651
+ tokenSlot?: number;
652
+ }
653
+ /** Signature appearance */
654
+ export interface SignatureAppearance {
655
+ pageNumber: number;
656
+ rect: PDFRect;
657
+ showName?: boolean;
658
+ showDate?: boolean;
659
+ showReason?: boolean;
660
+ showLocation?: boolean;
661
+ showLogo?: boolean;
662
+ logo?: string | ArrayBuffer;
663
+ backgroundColor?: string;
664
+ textColor?: string;
665
+ fontSize?: number;
666
+ fontFamily?: string;
667
+ format?: string;
668
+ customImage?: string | ArrayBuffer;
669
+ }
670
+ /** Signature permissions */
671
+ export interface SignaturePermissions {
672
+ allowFilling?: boolean;
673
+ allowAnnotations?: boolean;
674
+ allowAssembly?: boolean;
675
+ preventChanges?: boolean;
676
+ }
677
+ /** Timestamp configuration */
678
+ export interface TimestampConfig {
679
+ url: string;
680
+ username?: string;
681
+ password?: string;
682
+ hashAlgorithm?: 'SHA-256' | 'SHA-384' | 'SHA-512';
683
+ }
684
+ /** Signature validation result */
685
+ export interface SignatureValidationResult {
686
+ valid: boolean;
687
+ signerName?: string;
688
+ signatureDate?: Date;
689
+ certificateInfo?: CertificateInfo;
690
+ validationStatus: ValidationStatus;
691
+ timestampInfo?: TimestampInfo;
692
+ modifications?: DocumentModification[];
693
+ }
694
+ /** Validation status */
695
+ export interface ValidationStatus {
696
+ integrityValid: boolean;
697
+ signerIdentityValid: boolean;
698
+ timestampValid?: boolean;
699
+ certificateValid: boolean;
700
+ chainValid: boolean;
701
+ revocationChecked: boolean;
702
+ errors?: string[];
703
+ warnings?: string[];
704
+ }
705
+ /** Certificate info */
706
+ export interface CertificateInfo {
707
+ subject: string;
708
+ issuer: string;
709
+ serialNumber: string;
710
+ notBefore: Date;
711
+ notAfter: Date;
712
+ thumbprint: string;
713
+ algorithm: string;
714
+ keyUsage?: string[];
715
+ extendedKeyUsage?: string[];
716
+ }
717
+ /** Timestamp info */
718
+ export interface TimestampInfo {
719
+ time: Date;
720
+ serialNumber?: string;
721
+ issuer?: string;
722
+ accuracy?: number;
723
+ }
724
+ /** Document modification */
725
+ export interface DocumentModification {
726
+ type: 'content' | 'form' | 'annotation' | 'appearance' | 'other';
727
+ pageNumber?: number;
728
+ description: string;
729
+ allowed: boolean;
730
+ }
731
+ /** Redaction configuration */
732
+ export interface PDFRedactionConfig {
733
+ source: PDFSource;
734
+ redactions: RedactionMark[];
735
+ options?: RedactionOptions;
736
+ }
737
+ /** Redaction mark */
738
+ export interface RedactionMark {
739
+ type: 'area' | 'text' | 'search';
740
+ pageNumber: number;
741
+ rect?: PDFRect;
742
+ quadPoints?: QuadPoint[];
743
+ searchTerm?: string;
744
+ searchOptions?: PDFSearchOptions;
745
+ overlayText?: string;
746
+ overlayColor?: string;
747
+ fillColor?: string;
748
+ repeat?: boolean;
749
+ }
750
+ /** Redaction options */
751
+ export interface RedactionOptions {
752
+ removeContent?: boolean;
753
+ removeMetadata?: boolean;
754
+ removeLinks?: boolean;
755
+ removeJavaScript?: boolean;
756
+ flattenAnnotations?: boolean;
757
+ sanitize?: boolean;
758
+ }
759
+ /** Redaction preview */
760
+ export interface RedactionPreview {
761
+ marks: RedactionPreviewMark[];
762
+ totalMarks: number;
763
+ affectedPages: number[];
764
+ }
765
+ /** Redaction preview mark */
766
+ export interface RedactionPreviewMark {
767
+ id: string;
768
+ pageNumber: number;
769
+ rect: PDFRect;
770
+ redactedText?: string;
771
+ }
772
+ /** OCR configuration */
773
+ export interface PDFOCRConfig {
774
+ source: PDFSource;
775
+ language: string | string[];
776
+ outputType: OCROutputType;
777
+ options?: OCROptions;
778
+ }
779
+ /** OCR output type */
780
+ export type OCROutputType = 'searchable-pdf' | 'searchable-pdf-exact' | 'text' | 'hocr' | 'alto';
781
+ /** OCR options */
782
+ export interface OCROptions {
783
+ pageRange?: PDFPageRange;
784
+ dpi?: number;
785
+ imagePreprocessing?: ImagePreprocessing;
786
+ forceOCR?: boolean;
787
+ ocrEngine?: 'tesseract' | 'cloud' | 'custom';
788
+ engineConfig?: Record<string, unknown>;
789
+ confidence?: number;
790
+ detectOrientation?: boolean;
791
+ deskew?: boolean;
792
+ cleanupImages?: boolean;
793
+ }
794
+ /** Image preprocessing */
795
+ export interface ImagePreprocessing {
796
+ binarize?: boolean;
797
+ denoise?: boolean;
798
+ deskew?: boolean;
799
+ contrast?: number;
800
+ rotation?: number;
801
+ }
802
+ /** OCR result */
803
+ export interface PDFOCRResult {
804
+ pages: OCRPageResult[];
805
+ totalWords: number;
806
+ averageConfidence: number;
807
+ data?: ArrayBuffer;
808
+ url?: string;
809
+ }
810
+ /** OCR page result */
811
+ export interface OCRPageResult {
812
+ pageNumber: number;
813
+ text: string;
814
+ words: OCRWord[];
815
+ lines: OCRLine[];
816
+ blocks: OCRBlock[];
817
+ confidence: number;
818
+ orientation?: number;
819
+ }
820
+ /** OCR word */
821
+ export interface OCRWord {
822
+ text: string;
823
+ rect: PDFRect;
824
+ confidence: number;
825
+ font?: string;
826
+ fontSize?: number;
827
+ }
828
+ /** OCR line */
829
+ export interface OCRLine {
830
+ text: string;
831
+ rect: PDFRect;
832
+ words: OCRWord[];
833
+ baseline?: {
834
+ x1: number;
835
+ y1: number;
836
+ x2: number;
837
+ y2: number;
838
+ };
839
+ }
840
+ /** OCR block */
841
+ export interface OCRBlock {
842
+ type: 'text' | 'image' | 'table' | 'separator' | 'equation';
843
+ rect: PDFRect;
844
+ lines?: OCRLine[];
845
+ confidence?: number;
846
+ }
847
+ /** PDF comparison configuration */
848
+ export interface PDFCompareConfig {
849
+ source1: PDFSource;
850
+ source2: PDFSource;
851
+ compareType: CompareType;
852
+ options?: CompareOptions;
853
+ }
854
+ /** Compare type */
855
+ export type CompareType = 'text' | 'visual' | 'both';
856
+ /** Compare options */
857
+ export interface CompareOptions {
858
+ pageRange1?: PDFPageRange;
859
+ pageRange2?: PDFPageRange;
860
+ ignoreCase?: boolean;
861
+ ignoreWhitespace?: boolean;
862
+ ignoreFormatting?: boolean;
863
+ ignoreHeaders?: boolean;
864
+ ignoreFooters?: boolean;
865
+ ignorePageNumbers?: boolean;
866
+ tolerance?: number;
867
+ highlightColor?: {
868
+ added: string;
869
+ removed: string;
870
+ changed: string;
871
+ };
872
+ outputFormat?: 'side-by-side' | 'overlay' | 'inline';
873
+ }
874
+ /** Compare result */
875
+ export interface PDFCompareResult {
876
+ identical: boolean;
877
+ differences: ComparisonDifference[];
878
+ pageComparisons: PageComparison[];
879
+ summary: ComparisonSummary;
880
+ diffDocument?: ArrayBuffer;
881
+ }
882
+ /** Comparison difference */
883
+ export interface ComparisonDifference {
884
+ type: 'added' | 'removed' | 'changed' | 'moved';
885
+ pageNumber1?: number;
886
+ pageNumber2?: number;
887
+ rect1?: PDFRect;
888
+ rect2?: PDFRect;
889
+ content1?: string;
890
+ content2?: string;
891
+ category?: 'text' | 'image' | 'annotation' | 'form' | 'structure';
892
+ }
893
+ /** Page comparison */
894
+ export interface PageComparison {
895
+ pageNumber1?: number;
896
+ pageNumber2?: number;
897
+ status: 'matched' | 'added' | 'removed' | 'different';
898
+ differences: ComparisonDifference[];
899
+ similarity?: number;
900
+ }
901
+ /** Comparison summary */
902
+ export interface ComparisonSummary {
903
+ totalDifferences: number;
904
+ additions: number;
905
+ removals: number;
906
+ changes: number;
907
+ pagesIdentical: number;
908
+ pagesDifferent: number;
909
+ pagesAdded: number;
910
+ pagesRemoved: number;
911
+ }
912
+ /** PDF conversion configuration */
913
+ export interface PDFConvertConfig {
914
+ source: ConvertSource;
915
+ outputFormat: ConvertOutputFormat;
916
+ options?: ConvertOptions;
917
+ }
918
+ /** Convert source */
919
+ export interface ConvertSource {
920
+ type: ConvertInputFormat;
921
+ data: PDFSource | string | ArrayBuffer;
922
+ }
923
+ /** Input format */
924
+ export type ConvertInputFormat = 'pdf' | 'image' | 'html' | 'word' | 'excel' | 'powerpoint' | 'text' | 'markdown' | 'epub';
925
+ /** Output format */
926
+ export type ConvertOutputFormat = 'pdf' | 'pdf-a' | 'pdf-x' | 'image-png' | 'image-jpeg' | 'image-tiff' | 'image-svg' | 'word' | 'excel' | 'powerpoint' | 'html' | 'text' | 'markdown';
927
+ /** Convert options */
928
+ export interface ConvertOptions {
929
+ pageRange?: PDFPageRange;
930
+ pdfVersion?: '1.4' | '1.5' | '1.6' | '1.7' | '2.0';
931
+ pdfAConformance?: 'PDF/A-1a' | 'PDF/A-1b' | 'PDF/A-2a' | 'PDF/A-2b' | 'PDF/A-2u' | 'PDF/A-3a' | 'PDF/A-3b' | 'PDF/A-3u';
932
+ pdfXConformance?: 'PDF/X-1a' | 'PDF/X-3' | 'PDF/X-4';
933
+ htmlOptions?: HTMLConvertOptions;
934
+ imageOptions?: ImageConvertOptions;
935
+ officeOptions?: OfficeConvertOptions;
936
+ }
937
+ /** HTML convert options */
938
+ export interface HTMLConvertOptions {
939
+ encoding?: string;
940
+ embedImages?: boolean;
941
+ embedFonts?: boolean;
942
+ preserveLayout?: boolean;
943
+ singlePage?: boolean;
944
+ cssStyles?: 'inline' | 'external' | 'embedded';
945
+ }
946
+ /** Image convert options */
947
+ export interface ImageConvertOptions {
948
+ resolution?: number;
949
+ quality?: number;
950
+ colorSpace?: 'rgb' | 'cmyk' | 'grayscale' | 'bitonal';
951
+ transparent?: boolean;
952
+ antialiasing?: boolean;
953
+ multiPage?: boolean;
954
+ compression?: 'none' | 'lzw' | 'jpeg' | 'zip' | 'ccitt';
955
+ }
956
+ /** Office convert options */
957
+ export interface OfficeConvertOptions {
958
+ preserveFormatting?: boolean;
959
+ embedFonts?: boolean;
960
+ includeComments?: boolean;
961
+ includeMarkup?: boolean;
962
+ }
963
+ /** Convert result */
964
+ export interface PDFConvertResult {
965
+ format: ConvertOutputFormat;
966
+ files: ConvertedFile[];
967
+ warnings?: string[];
968
+ }
969
+ /** Converted file */
970
+ export interface ConvertedFile {
971
+ filename: string;
972
+ data?: ArrayBuffer;
973
+ url?: string;
974
+ size: number;
975
+ mimeType: string;
976
+ }
977
+ /** Thumbnail configuration */
978
+ export interface PDFThumbnailConfig {
979
+ source: PDFSource;
980
+ size?: {
981
+ width: number;
982
+ height: number;
983
+ };
984
+ scale?: number;
985
+ format?: 'png' | 'jpeg' | 'webp';
986
+ quality?: number;
987
+ pageRange?: PDFPageRange;
988
+ transparent?: boolean;
989
+ background?: string;
990
+ }
991
+ /** Thumbnail result */
992
+ export interface PDFThumbnailResult {
993
+ thumbnails: PageThumbnail[];
994
+ }
995
+ /** Page thumbnail */
996
+ export interface PageThumbnail {
997
+ pageNumber: number;
998
+ width: number;
999
+ height: number;
1000
+ data?: string;
1001
+ url?: string;
1002
+ }
1003
+ //# sourceMappingURL=pdf-tools.d.ts.map