@laserfiche/lf-repository-api-client-v2 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.ts +3869 -137
  2. package/dist/index.js +14526 -5341
  3. package/package.json +4 -4
package/dist/index.d.ts CHANGED
@@ -1,4 +1,391 @@
1
1
  import { HttpRequestHandler, AccessKey, ApiException as ApiExceptionCore, GetAccessTokenResponse } from '@laserfiche/lf-api-client-core';
2
+ export interface IAnnotationsClient {
3
+ /**
4
+ * - Returns every annotation on every page of the document, as a polymorphic list keyed by annotation type.
5
+ - Requires the "see annotations" entry right; redaction content is only revealed to callers with the "see through redactions" right.
6
+ - Required OAuth scope: repository.Read
7
+ * @param args.repositoryId The requested repository ID.
8
+ * @param args.entryId The document entry ID.
9
+ * @param args.select (optional) Limits the properties returned in the result.
10
+ * @param args.orderby (optional) Specifies the order in which items are returned. The maximum number of expressions is 5.
11
+ * @param args.count (optional) Indicates whether the total count of items within a collection are returned in the result.
12
+ * @returns Successfully returned the annotations on the document.
13
+ */
14
+ listDocumentAnnotations(args: {
15
+ repositoryId: string;
16
+ entryId: number;
17
+ select?: string | null | undefined;
18
+ orderby?: string | null | undefined;
19
+ count?: boolean | undefined;
20
+ }): Promise<Annotation[]>;
21
+ /**
22
+ * - Returns the annotations on the requested page, as a polymorphic list keyed by annotation type.
23
+ - Requires the "see annotations" entry right; redaction content is only revealed to callers with the "see through redactions" right.
24
+ - Required OAuth scope: repository.Read
25
+ * @param args.repositoryId The requested repository ID.
26
+ * @param args.entryId The document entry ID.
27
+ * @param args.pageNumber The 1-based page number.
28
+ * @param args.select (optional) Limits the properties returned in the result.
29
+ * @param args.orderby (optional) Specifies the order in which items are returned. The maximum number of expressions is 5.
30
+ * @param args.count (optional) Indicates whether the total count of items within a collection are returned in the result.
31
+ * @returns Successfully returned the annotations on the page.
32
+ */
33
+ listPageAnnotations(args: {
34
+ repositoryId: string;
35
+ entryId: number;
36
+ pageNumber: number;
37
+ select?: string | null | undefined;
38
+ orderby?: string | null | undefined;
39
+ count?: boolean | undefined;
40
+ }): Promise<Annotation[]>;
41
+ /**
42
+ * - The request body is a polymorphic annotation discriminated by `annotationType`; supply the writable members for that type.
43
+ - For attachment and bitmap annotations, create the annotation first, then upload its binary content via the dedicated sub-resource.
44
+ - Requires the "annotate" entry right.
45
+ - Required OAuth scope: repository.Write
46
+ * @returns Successfully created the annotation. Returned the created annotation.
47
+ */
48
+ createAnnotation(args: {
49
+ repositoryId: string;
50
+ entryId: number;
51
+ pageNumber: number;
52
+ request: Annotation;
53
+ }): Promise<Annotation>;
54
+ /**
55
+ * - Returns the annotation, typed by annotation type.
56
+ - Requires the "see annotations" entry right; redaction content is only revealed to callers with the "see through redactions" right.
57
+ - Required OAuth scope: repository.Read
58
+ * @param args.repositoryId The requested repository ID.
59
+ * @param args.entryId The document entry ID.
60
+ * @param args.pageNumber The 1-based page number.
61
+ * @param args.itemId The annotation item ID, unique within the page.
62
+ * @param args.select (optional) Limits the properties returned in the result.
63
+ * @returns Successfully returned the requested annotation.
64
+ */
65
+ getAnnotation(args: {
66
+ repositoryId: string;
67
+ entryId: number;
68
+ pageNumber: number;
69
+ itemId: number;
70
+ select?: string | null | undefined;
71
+ }): Promise<Annotation>;
72
+ /**
73
+ * - Supply only the members to change; omitted members are left unchanged. The `annotationType` must match the existing annotation.
74
+ - Requires the "annotate" entry right.
75
+ - Required OAuth scope: repository.Write
76
+ * @returns Successfully updated the annotation. Returned the updated annotation.
77
+ */
78
+ updateAnnotation(args: {
79
+ repositoryId: string;
80
+ entryId: number;
81
+ pageNumber: number;
82
+ itemId: number;
83
+ request: Annotation;
84
+ }): Promise<Annotation>;
85
+ /**
86
+ * - Requires the "annotate" entry right.
87
+ - Required OAuth scope: repository.Write
88
+ * @returns Successfully deleted the annotation.
89
+ */
90
+ deleteAnnotation(args: {
91
+ repositoryId: string;
92
+ entryId: number;
93
+ pageNumber: number;
94
+ itemId: number;
95
+ }): Promise<void>;
96
+ /**
97
+ * - Streams the attached file. Fails with a bad request if the annotation is not an attachment.
98
+ - Requires the "see annotations" entry right.
99
+ - Required OAuth scope: repository.Read
100
+ * @param args.repositoryId The requested repository ID.
101
+ * @param args.entryId The document entry ID.
102
+ * @param args.pageNumber The 1-based page number.
103
+ * @param args.itemId The attachment annotation's item ID.
104
+ * @param args.select (optional) Limits the properties returned in the result.
105
+ * @returns Successfully returned the content of the attachment annotation.
106
+ */
107
+ getAnnotationAttachment(args: {
108
+ repositoryId: string;
109
+ entryId: number;
110
+ pageNumber: number;
111
+ itemId: number;
112
+ select?: string | null | undefined;
113
+ }): Promise<FileResponse>;
114
+ /**
115
+ * - Send the file as multipart/form-data under the form field "file". The annotation must already exist and be an attachment annotation.
116
+ - Requires the "annotate" entry right.
117
+ - Required OAuth scope: repository.Write
118
+ * @param args.file (optional) The image file to upload. See https://doc.laserfiche.com/ for supported image file formats.
119
+ * @returns Successfully uploaded the attachment content.
120
+ */
121
+ uploadAnnotationAttachment(args: {
122
+ repositoryId: string;
123
+ entryId: number;
124
+ pageNumber: number;
125
+ itemId: number;
126
+ file?: FileParameter | undefined;
127
+ }): Promise<void>;
128
+ /**
129
+ * - Returns the redaction reasons defined in the repository.
130
+ - Required OAuth scope: repository.Read
131
+ * @param args.repositoryId The requested repository ID.
132
+ * @param args.select (optional) Limits the properties returned in the result.
133
+ * @param args.orderby (optional) Specifies the order in which items are returned. The maximum number of expressions is 5.
134
+ * @param args.count (optional) Indicates whether the total count of items within a collection are returned in the result.
135
+ * @returns Successfully returned the repository's annotation reasons.
136
+ */
137
+ listAnnotationReasons(args: {
138
+ repositoryId: string;
139
+ select?: string | null | undefined;
140
+ orderby?: string | null | undefined;
141
+ count?: boolean | undefined;
142
+ }): Promise<AnnotationReason[]>;
143
+ /**
144
+ * - Required OAuth scope: repository.Write
145
+ * @returns Successfully created the annotation reason. Returned the created reason.
146
+ */
147
+ createAnnotationReason(args: {
148
+ repositoryId: string;
149
+ request: AnnotationReasonRequest;
150
+ }): Promise<AnnotationReason>;
151
+ /**
152
+ * - Send the image as multipart/form-data under the form field "file". The annotation must already exist and be a bitmap annotation.
153
+ - Requires the "annotate" entry right.
154
+ - Required OAuth scope: repository.Write
155
+ * @param args.file (optional) The image file to upload. See https://doc.laserfiche.com/ for supported image file formats.
156
+ * @returns Successfully uploaded the bitmap annotation image.
157
+ */
158
+ uploadAnnotationImage(args: {
159
+ repositoryId: string;
160
+ entryId: number;
161
+ pageNumber: number;
162
+ itemId: number;
163
+ file?: FileParameter | undefined;
164
+ }): Promise<void>;
165
+ /**
166
+ * - Required OAuth scope: repository.Write
167
+ * @returns Successfully updated the annotation reason. Returned the updated reason.
168
+ */
169
+ updateAnnotationReason(args: {
170
+ repositoryId: string;
171
+ reasonId: number;
172
+ request: AnnotationReasonRequest;
173
+ }): Promise<AnnotationReason>;
174
+ /**
175
+ * - When `force` is false, deleting a reason that is in use fails.
176
+ - Required OAuth scope: repository.Write
177
+ * @param args.force (optional)
178
+ * @returns Successfully deleted the annotation reason.
179
+ */
180
+ deleteAnnotationReason(args: {
181
+ repositoryId: string;
182
+ reasonId: number;
183
+ force?: boolean | undefined;
184
+ }): Promise<void>;
185
+ }
186
+ export declare class AnnotationsClient implements IAnnotationsClient {
187
+ private http;
188
+ private baseUrl;
189
+ protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
190
+ constructor(baseUrl?: string, http?: {
191
+ fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
192
+ });
193
+ /**
194
+ * - Returns every annotation on every page of the document, as a polymorphic list keyed by annotation type.
195
+ - Requires the "see annotations" entry right; redaction content is only revealed to callers with the "see through redactions" right.
196
+ - Required OAuth scope: repository.Read
197
+ * @param args.repositoryId The requested repository ID.
198
+ * @param args.entryId The document entry ID.
199
+ * @param args.select (optional) Limits the properties returned in the result.
200
+ * @param args.orderby (optional) Specifies the order in which items are returned. The maximum number of expressions is 5.
201
+ * @param args.count (optional) Indicates whether the total count of items within a collection are returned in the result.
202
+ * @returns Successfully returned the annotations on the document.
203
+ */
204
+ listDocumentAnnotations(args: {
205
+ repositoryId: string;
206
+ entryId: number;
207
+ select?: string | null | undefined;
208
+ orderby?: string | null | undefined;
209
+ count?: boolean | undefined;
210
+ }): Promise<Annotation[]>;
211
+ protected processListDocumentAnnotations(response: Response): Promise<Annotation[]>;
212
+ /**
213
+ * - Returns the annotations on the requested page, as a polymorphic list keyed by annotation type.
214
+ - Requires the "see annotations" entry right; redaction content is only revealed to callers with the "see through redactions" right.
215
+ - Required OAuth scope: repository.Read
216
+ * @param args.repositoryId The requested repository ID.
217
+ * @param args.entryId The document entry ID.
218
+ * @param args.pageNumber The 1-based page number.
219
+ * @param args.select (optional) Limits the properties returned in the result.
220
+ * @param args.orderby (optional) Specifies the order in which items are returned. The maximum number of expressions is 5.
221
+ * @param args.count (optional) Indicates whether the total count of items within a collection are returned in the result.
222
+ * @returns Successfully returned the annotations on the page.
223
+ */
224
+ listPageAnnotations(args: {
225
+ repositoryId: string;
226
+ entryId: number;
227
+ pageNumber: number;
228
+ select?: string | null | undefined;
229
+ orderby?: string | null | undefined;
230
+ count?: boolean | undefined;
231
+ }): Promise<Annotation[]>;
232
+ protected processListPageAnnotations(response: Response): Promise<Annotation[]>;
233
+ /**
234
+ * - The request body is a polymorphic annotation discriminated by `annotationType`; supply the writable members for that type.
235
+ - For attachment and bitmap annotations, create the annotation first, then upload its binary content via the dedicated sub-resource.
236
+ - Requires the "annotate" entry right.
237
+ - Required OAuth scope: repository.Write
238
+ * @returns Successfully created the annotation. Returned the created annotation.
239
+ */
240
+ createAnnotation(args: {
241
+ repositoryId: string;
242
+ entryId: number;
243
+ pageNumber: number;
244
+ request: Annotation;
245
+ }): Promise<Annotation>;
246
+ protected processCreateAnnotation(response: Response): Promise<Annotation>;
247
+ /**
248
+ * - Returns the annotation, typed by annotation type.
249
+ - Requires the "see annotations" entry right; redaction content is only revealed to callers with the "see through redactions" right.
250
+ - Required OAuth scope: repository.Read
251
+ * @param args.repositoryId The requested repository ID.
252
+ * @param args.entryId The document entry ID.
253
+ * @param args.pageNumber The 1-based page number.
254
+ * @param args.itemId The annotation item ID, unique within the page.
255
+ * @param args.select (optional) Limits the properties returned in the result.
256
+ * @returns Successfully returned the requested annotation.
257
+ */
258
+ getAnnotation(args: {
259
+ repositoryId: string;
260
+ entryId: number;
261
+ pageNumber: number;
262
+ itemId: number;
263
+ select?: string | null | undefined;
264
+ }): Promise<Annotation>;
265
+ protected processGetAnnotation(response: Response): Promise<Annotation>;
266
+ /**
267
+ * - Supply only the members to change; omitted members are left unchanged. The `annotationType` must match the existing annotation.
268
+ - Requires the "annotate" entry right.
269
+ - Required OAuth scope: repository.Write
270
+ * @returns Successfully updated the annotation. Returned the updated annotation.
271
+ */
272
+ updateAnnotation(args: {
273
+ repositoryId: string;
274
+ entryId: number;
275
+ pageNumber: number;
276
+ itemId: number;
277
+ request: Annotation;
278
+ }): Promise<Annotation>;
279
+ protected processUpdateAnnotation(response: Response): Promise<Annotation>;
280
+ /**
281
+ * - Requires the "annotate" entry right.
282
+ - Required OAuth scope: repository.Write
283
+ * @returns Successfully deleted the annotation.
284
+ */
285
+ deleteAnnotation(args: {
286
+ repositoryId: string;
287
+ entryId: number;
288
+ pageNumber: number;
289
+ itemId: number;
290
+ }): Promise<void>;
291
+ protected processDeleteAnnotation(response: Response): Promise<void>;
292
+ /**
293
+ * - Streams the attached file. Fails with a bad request if the annotation is not an attachment.
294
+ - Requires the "see annotations" entry right.
295
+ - Required OAuth scope: repository.Read
296
+ * @param args.repositoryId The requested repository ID.
297
+ * @param args.entryId The document entry ID.
298
+ * @param args.pageNumber The 1-based page number.
299
+ * @param args.itemId The attachment annotation's item ID.
300
+ * @param args.select (optional) Limits the properties returned in the result.
301
+ * @returns Successfully returned the content of the attachment annotation.
302
+ */
303
+ getAnnotationAttachment(args: {
304
+ repositoryId: string;
305
+ entryId: number;
306
+ pageNumber: number;
307
+ itemId: number;
308
+ select?: string | null | undefined;
309
+ }): Promise<FileResponse>;
310
+ protected processGetAnnotationAttachment(response: Response): Promise<FileResponse>;
311
+ /**
312
+ * - Send the file as multipart/form-data under the form field "file". The annotation must already exist and be an attachment annotation.
313
+ - Requires the "annotate" entry right.
314
+ - Required OAuth scope: repository.Write
315
+ * @param args.file (optional) The image file to upload. See https://doc.laserfiche.com/ for supported image file formats.
316
+ * @returns Successfully uploaded the attachment content.
317
+ */
318
+ uploadAnnotationAttachment(args: {
319
+ repositoryId: string;
320
+ entryId: number;
321
+ pageNumber: number;
322
+ itemId: number;
323
+ file?: FileParameter | undefined;
324
+ }): Promise<void>;
325
+ protected processUploadAnnotationAttachment(response: Response): Promise<void>;
326
+ /**
327
+ * - Returns the redaction reasons defined in the repository.
328
+ - Required OAuth scope: repository.Read
329
+ * @param args.repositoryId The requested repository ID.
330
+ * @param args.select (optional) Limits the properties returned in the result.
331
+ * @param args.orderby (optional) Specifies the order in which items are returned. The maximum number of expressions is 5.
332
+ * @param args.count (optional) Indicates whether the total count of items within a collection are returned in the result.
333
+ * @returns Successfully returned the repository's annotation reasons.
334
+ */
335
+ listAnnotationReasons(args: {
336
+ repositoryId: string;
337
+ select?: string | null | undefined;
338
+ orderby?: string | null | undefined;
339
+ count?: boolean | undefined;
340
+ }): Promise<AnnotationReason[]>;
341
+ protected processListAnnotationReasons(response: Response): Promise<AnnotationReason[]>;
342
+ /**
343
+ * - Required OAuth scope: repository.Write
344
+ * @returns Successfully created the annotation reason. Returned the created reason.
345
+ */
346
+ createAnnotationReason(args: {
347
+ repositoryId: string;
348
+ request: AnnotationReasonRequest;
349
+ }): Promise<AnnotationReason>;
350
+ protected processCreateAnnotationReason(response: Response): Promise<AnnotationReason>;
351
+ /**
352
+ * - Send the image as multipart/form-data under the form field "file". The annotation must already exist and be a bitmap annotation.
353
+ - Requires the "annotate" entry right.
354
+ - Required OAuth scope: repository.Write
355
+ * @param args.file (optional) The image file to upload. See https://doc.laserfiche.com/ for supported image file formats.
356
+ * @returns Successfully uploaded the bitmap annotation image.
357
+ */
358
+ uploadAnnotationImage(args: {
359
+ repositoryId: string;
360
+ entryId: number;
361
+ pageNumber: number;
362
+ itemId: number;
363
+ file?: FileParameter | undefined;
364
+ }): Promise<void>;
365
+ protected processUploadAnnotationImage(response: Response): Promise<void>;
366
+ /**
367
+ * - Required OAuth scope: repository.Write
368
+ * @returns Successfully updated the annotation reason. Returned the updated reason.
369
+ */
370
+ updateAnnotationReason(args: {
371
+ repositoryId: string;
372
+ reasonId: number;
373
+ request: AnnotationReasonRequest;
374
+ }): Promise<AnnotationReason>;
375
+ protected processUpdateAnnotationReason(response: Response): Promise<AnnotationReason>;
376
+ /**
377
+ * - When `force` is false, deleting a reason that is in use fails.
378
+ - Required OAuth scope: repository.Write
379
+ * @param args.force (optional)
380
+ * @returns Successfully deleted the annotation reason.
381
+ */
382
+ deleteAnnotationReason(args: {
383
+ repositoryId: string;
384
+ reasonId: number;
385
+ force?: boolean | undefined;
386
+ }): Promise<void>;
387
+ protected processDeleteAnnotationReason(response: Response): Promise<void>;
388
+ }
2
389
  export interface IAttributesClient {
3
390
  /**
4
391
  * - Returns the attribute key value pairs associated with the authenticated user. Alternatively, return only the attribute key value pairs that are associated with the "Everyone" group.
@@ -641,47 +1028,515 @@ export declare class FieldDefinitionsClient implements IFieldDefinitionsClient {
641
1028
  }): Promise<FieldDefinition>;
642
1029
  protected processChangeFieldType(response: Response): Promise<FieldDefinition>;
643
1030
  }
644
- export interface ILinkDefinitionsClient {
1031
+ export interface IAccessControlClient {
645
1032
  /**
646
- * - Returns the link definitions in the repository.
647
- - Provide a repository ID and get a paged listing of link definitions available in the repository. Useful when trying to display all link definitions available, not only links assigned to a specific entry.
648
- - Default page size: 100. Allowed OData query options: Select | Count | OrderBy | Skip | Top | SkipToken | Prefer.
1033
+ * - Returns the field's access control entries (ACEs): the trustee, whether rights are allowed or denied, and the rights themselves. Field ACEs have no scope and are never inherited.
1034
+ - The OAuth scope is coarse; the repository session enforces the real permission and returns 403 when the caller lacks the field's ReadPermissions right.
649
1035
  - Required OAuth scope: repository.Read
650
1036
  * @param args.repositoryId The requested repository ID.
651
- * @param args.prefer (optional) An optional OData header. Can be used to set the maximum page size using odata.maxpagesize.
652
- * @param args.select (optional) Limits the properties returned in the result.
653
- * @param args.orderby (optional) Specifies the order in which items are returned. The maximum number of expressions is 5.
654
- * @param args.top (optional) Limits the number of items returned from a collection. The maximum value is 150.
655
- * @param args.skip (optional) Excludes the specified number of items of the queried collection from the result.
656
- * @param args.count (optional) Indicates whether the total count of items within a collection are returned in the result.
657
- * @returns Successfully returned link definitions.
1037
+ * @param args.fieldId The requested field definition ID.
1038
+ * @returns Successfully returned the field definition's access control list.
658
1039
  */
659
- listLinkDefinitions(args: {
1040
+ getFieldAccessControl(args: {
660
1041
  repositoryId: string;
661
- prefer?: string | null | undefined;
662
- select?: string | null | undefined;
663
- orderby?: string | null | undefined;
664
- top?: number | undefined;
665
- skip?: number | undefined;
666
- count?: boolean | undefined;
667
- }): Promise<LinkDefinitionCollectionResponse>;
1042
+ fieldId: number;
1043
+ }): Promise<FieldAccessControlList>;
668
1044
  /**
669
- * - Returns a single link definition associated with the specified ID.
670
- - Provide a link definition ID and get the associated link definition. Useful when a route provides a minimal amount of details and more information about the specific link definition is needed.
671
- - Allowed OData query options: Select
1045
+ * - Full replace: the supplied entries replace the field's entire explicit ACL. Inherited entries are not accepted (field ACEs are never inherited). Address a trustee by trustee.sid or trustee.accountName (the SID wins when both are given; an account name is resolved to a SID server-side).
1046
+ - The OAuth scope is coarse; the repository session enforces the real permission and returns 403 when the caller lacks the field's ChangePermissions right.
1047
+ - Required OAuth scope: repository.Write
1048
+ * @param args.repositoryId The requested repository ID.
1049
+ * @param args.fieldId The field definition ID whose ACL to replace.
1050
+ * @param args.request The access control entries to set.
1051
+ * @returns Successfully replaced the field definition's access control list. Returned the updated access control list.
1052
+ */
1053
+ setFieldAccessControl(args: {
1054
+ repositoryId: string;
1055
+ fieldId: number;
1056
+ request: SetFieldAccessControlRequest;
1057
+ }): Promise<FieldAccessControlList>;
1058
+ /**
1059
+ * - Returns the rights a trustee has on the field definition, plus whether the session is read-only. By default these are the effective rights (after group membership, allow/deny resolution, and the privilege overlay); set aclOnly=true for the rights granted by the field's own ACL without that overlay. Omit both trusteeId and trusteeName for the current session.
672
1060
  - Required OAuth scope: repository.Read
673
1061
  * @param args.repositoryId The requested repository ID.
674
- * @param args.linkDefinitionId The requested link definition ID.
675
- * @param args.select (optional) Limits the properties returned in the result.
676
- * @returns Successfully returned specified link definition.
1062
+ * @param args.fieldId The requested field definition ID.
1063
+ * @param args.trusteeId (optional) An optional trustee SID. When supplied, returns that trustee's rights; otherwise the current session's.
1064
+ * @param args.trusteeName (optional) An optional trustee account name, as an alternative to trusteeId. The SID wins when both are supplied.
1065
+ * @param args.aclOnly (optional) Optional. Selects which rights are returned. Default (false): the trustee's effective rights — the net result after allow/deny resolution, group membership, and the repository's privilege overlay (for example, the metadata-management privilege that grants full control over every field regardless of its ACL). When true: only the rights granted by this field definition's own access control list, without that privilege overlay. Group membership is always resolved. Field definitions are not hierarchical, so there is no parent inheritance involved either way.
1066
+ * @returns Successfully returned the rights for the field definition.
677
1067
  */
678
- getLinkDefinition(args: {
1068
+ getFieldRights(args: {
679
1069
  repositoryId: string;
680
- linkDefinitionId: number;
681
- select?: string | null | undefined;
682
- }): Promise<LinkDefinition>;
683
- }
684
- export declare class LinkDefinitionsClient implements ILinkDefinitionsClient {
1070
+ fieldId: number;
1071
+ trusteeId?: string | null | undefined;
1072
+ trusteeName?: string | null | undefined;
1073
+ aclOnly?: boolean | undefined;
1074
+ }): Promise<FieldRights>;
1075
+ /**
1076
+ * - Returns the repository's default field ACL — the access control entries a new field definition inherits at creation time.
1077
+ - Required OAuth scope: repository.Read
1078
+ * @param args.repositoryId The requested repository ID.
1079
+ * @returns Successfully returned the default field access control list.
1080
+ */
1081
+ getDefaultFieldAccessControl(args: {
1082
+ repositoryId: string;
1083
+ }): Promise<FieldAccessControlList>;
1084
+ /**
1085
+ * - Full replace: the supplied entries replace the entire default field ACL. Inherited entries are not accepted. Address a trustee by trustee.sid or trustee.accountName (the SID wins when both are given).
1086
+ - Required OAuth scope: repository.Write
1087
+ * @param args.repositoryId The requested repository ID.
1088
+ * @param args.request The access control entries to set as the default field ACL.
1089
+ * @returns Successfully replaced the default field access control list. Returned the updated default access control list.
1090
+ */
1091
+ setDefaultFieldAccessControl(args: {
1092
+ repositoryId: string;
1093
+ request: SetFieldAccessControlRequest;
1094
+ }): Promise<FieldAccessControlList>;
1095
+ /**
1096
+ * - Returns the access control entries (ACEs) configured on the entry — by default both explicitly-set and inherited (inherited ACEs carry isInherited = true), or only the explicit ones when includeInherited=false — plus whether the entry inherits rights from its parent(s).
1097
+ - Each ACE names a trustee, whether its rights are allowed or denied, the rights themselves, and the propagation scope.
1098
+ - The repository session enforces the underlying permission: reading an ACL requires the ReadPermissions right on the entry, and a 403 is returned when it is lacking. The repository.Read OAuth scope is necessary but not sufficient.
1099
+ - Required OAuth scope: repository.Read
1100
+ * @param args.repositoryId The requested repository ID.
1101
+ * @param args.entryId The entry whose access control list is returned.
1102
+ * @param args.includeInherited (optional) Optional. When true (the default), the response includes both the entry's explicit access control entries and the inherited ones (inherited ACEs carry isInherited = true). When false, only the explicit ACEs are returned — the exact set that the access-control PUT accepts — making it convenient to read, edit, and write back the ACL without filtering inherited entries client-side. The inheritParents flag is unaffected by this option.
1103
+ * @param args.select (optional) Limits the properties returned in the result.
1104
+ * @returns Successfully returned the entry's access control list.
1105
+ */
1106
+ getEntryAccessControl(args: {
1107
+ repositoryId: string;
1108
+ entryId: number;
1109
+ includeInherited?: boolean | undefined;
1110
+ select?: string | null | undefined;
1111
+ }): Promise<AccessControlList>;
1112
+ /**
1113
+ * - Full replace of the entry's explicit ACEs: the supplied entries become the entry's complete set of explicit ACEs, and any explicit ACE not included is removed. An empty entries array clears all explicit ACEs.
1114
+ - Inherited ACEs cannot be supplied (entries flagged isInherited = true are rejected with 400); inheritance is controlled via inheritParents. When inheritParents is omitted, the entry's current inheritance setting is preserved.
1115
+ - Each ACE identifies its trustee by trustee.sid or trustee.accountName (an account name is resolved to a SID server-side; the SID takes precedence when both are supplied). A trustee that needs both allowed and denied rights is expressed as two ACEs.
1116
+ - The repository session enforces the underlying permission: changing an ACL requires the ChangePermissions right on the entry, and a 403 is returned when it is lacking. The repository.Write OAuth scope is necessary but not sufficient.
1117
+ - Returns the entry's full ACL after the change.
1118
+ - Required OAuth scope: repository.Write
1119
+ * @param args.repositoryId The requested repository ID.
1120
+ * @param args.entryId The entry whose access control list is replaced.
1121
+ * @param args.request The explicit access control entries to apply and, optionally, the parent-inheritance setting.
1122
+ * @returns Successfully replaced the entry's access control list. Returned the updated access control list.
1123
+ */
1124
+ setEntryAccessControl(args: {
1125
+ repositoryId: string;
1126
+ entryId: number;
1127
+ request: SetAccessControlRequest;
1128
+ }): Promise<AccessControlList>;
1129
+ /**
1130
+ * - Returns the rights a trustee has on the entry. By default these are the effective rights — the same calculation the Laserfiche applications use, after allow/deny resolution, group membership, and the repository's privilege and records-management overlays. Set aclOnly=true to return only the rights granted by the entry's access control list (including its stored inherited ACEs) without the privilege/records-management overlays.
1131
+ - Identify the trustee by trusteeId (a SID) or trusteeName (an account name); omit both for the calling session.
1132
+ - isReadOnly reports whether the session is read-only, in which case no write operations are possible regardless of the granted rights.
1133
+ - Required OAuth scope: repository.Read
1134
+ * @param args.repositoryId The requested repository ID.
1135
+ * @param args.entryId The entry whose rights are computed.
1136
+ * @param args.trusteeId (optional) Optional. The SID of the trustee to compute rights for. When omitted (along with trusteeName), the rights of the current session are returned.
1137
+ * @param args.trusteeName (optional) Optional. The account name of the trustee to compute rights for, as an alternative to trusteeId. When both are supplied, trusteeId takes precedence.
1138
+ * @param args.aclOnly (optional) Optional. Selects which rights are returned. Default (false): the trustee's effective rights — the net result after allow/deny resolution, group membership, and the repository's privilege and records-management overlays. When true: only the rights granted by this item's access control list — including inherited access control entries, which are stored on the item itself — without the privilege and records-management overlays (for example, a privilege that grants full control regardless of the ACL is reflected only when aclOnly=false). Group membership is always resolved. The aclOnly=true value is what the ACL editor displays as the net effect of the list.
1139
+ * @param args.select (optional) Limits the properties returned in the result.
1140
+ * @returns Successfully returned the rights for the entry.
1141
+ */
1142
+ getEntryRights(args: {
1143
+ repositoryId: string;
1144
+ entryId: number;
1145
+ trusteeId?: string | null | undefined;
1146
+ trusteeName?: string | null | undefined;
1147
+ aclOnly?: boolean | undefined;
1148
+ select?: string | null | undefined;
1149
+ }): Promise<EntryRights>;
1150
+ /**
1151
+ * - Returns the privileges and feature rights held by the current session, plus whether the session is read-only. Each is reported as named booleans (a map of right name to whether it is granted), for UI enablement and pre-flight checks.
1152
+ - Reflects the current session only. Per-trustee privilege administration is not part of this surface.
1153
+ - Required OAuth scope: repository.Read
1154
+ * @param args.repositoryId The requested repository ID.
1155
+ * @returns Successfully returned the current session's rights.
1156
+ */
1157
+ getSessionRights(args: {
1158
+ repositoryId: string;
1159
+ }): Promise<SessionRights>;
1160
+ /**
1161
+ * - Returns the template's access control entries (ACEs): the trustee, whether rights are allowed or denied, and the rights themselves. Template ACEs have no scope and are never inherited.
1162
+ - The OAuth scope is coarse; the repository session enforces the real permission and returns 403 when the caller lacks the template's ReadPermissions right.
1163
+ - Required OAuth scope: repository.Read
1164
+ * @param args.repositoryId The requested repository ID.
1165
+ * @param args.templateId The requested template definition ID.
1166
+ * @returns Successfully returned the template definition's access control list.
1167
+ */
1168
+ getTemplateAccessControl(args: {
1169
+ repositoryId: string;
1170
+ templateId: number;
1171
+ }): Promise<TemplateAccessControlList>;
1172
+ /**
1173
+ * - Full replace: the supplied entries replace the template's entire explicit ACL. Inherited entries are not accepted (template ACEs are never inherited). Address a trustee by trustee.sid or trustee.accountName (the SID wins when both are given; an account name is resolved to a SID server-side).
1174
+ - The OAuth scope is coarse; the repository session enforces the real permission and returns 403 when the caller lacks the template's ChangePermissions right.
1175
+ - Required OAuth scope: repository.Write
1176
+ * @param args.repositoryId The requested repository ID.
1177
+ * @param args.templateId The template definition ID whose ACL to replace.
1178
+ * @param args.request The access control entries to set.
1179
+ * @returns Successfully replaced the template definition's access control list. Returned the updated access control list.
1180
+ */
1181
+ setTemplateAccessControl(args: {
1182
+ repositoryId: string;
1183
+ templateId: number;
1184
+ request: SetTemplateAccessControlRequest;
1185
+ }): Promise<TemplateAccessControlList>;
1186
+ /**
1187
+ * - Returns the rights a trustee has on the template definition, plus whether the session is read-only. By default these are the effective rights (after group membership, allow/deny resolution, and the privilege overlay); set aclOnly=true for the rights granted by the template's own ACL without that overlay. Omit both trusteeId and trusteeName for the current session.
1188
+ - Required OAuth scope: repository.Read
1189
+ * @param args.repositoryId The requested repository ID.
1190
+ * @param args.templateId The requested template definition ID.
1191
+ * @param args.trusteeId (optional) An optional trustee SID. When supplied, returns that trustee's rights; otherwise the current session's.
1192
+ * @param args.trusteeName (optional) An optional trustee account name, as an alternative to trusteeId. The SID wins when both are supplied.
1193
+ * @param args.aclOnly (optional) Optional. Selects which rights are returned. Default (false): the trustee's effective rights — the net result after allow/deny resolution, group membership, and the repository's privilege overlay (for example, the metadata-management privilege that grants full control over every template regardless of its ACL). When true: only the rights granted by this template definition's own access control list, without that privilege overlay. Group membership is always resolved. Template definitions are not hierarchical, so there is no parent inheritance involved either way.
1194
+ * @returns Successfully returned the rights for the template definition.
1195
+ */
1196
+ getTemplateRights(args: {
1197
+ repositoryId: string;
1198
+ templateId: number;
1199
+ trusteeId?: string | null | undefined;
1200
+ trusteeName?: string | null | undefined;
1201
+ aclOnly?: boolean | undefined;
1202
+ }): Promise<TemplateRights>;
1203
+ /**
1204
+ * - Returns the repository's default template ACL — the access control entries a new template definition inherits at creation time.
1205
+ - Required OAuth scope: repository.Read
1206
+ * @param args.repositoryId The requested repository ID.
1207
+ * @returns Successfully returned the default template access control list.
1208
+ */
1209
+ getDefaultTemplateAccessControl(args: {
1210
+ repositoryId: string;
1211
+ }): Promise<TemplateAccessControlList>;
1212
+ /**
1213
+ * - Full replace: the supplied entries replace the entire default template ACL. Inherited entries are not accepted. Address a trustee by trustee.sid or trustee.accountName (the SID wins when both are given).
1214
+ - Required OAuth scope: repository.Write
1215
+ * @param args.repositoryId The requested repository ID.
1216
+ * @param args.request The access control entries to set as the default template ACL.
1217
+ * @returns Successfully replaced the default template access control list. Returned the updated default access control list.
1218
+ */
1219
+ setDefaultTemplateAccessControl(args: {
1220
+ repositoryId: string;
1221
+ request: SetTemplateAccessControlRequest;
1222
+ }): Promise<TemplateAccessControlList>;
1223
+ /**
1224
+ * - Resolves trustee names to the SIDs used when building access control entries or reading effective rights for a trustee.
1225
+ - Each result includes the trustee's SID, account name, display name, type, whether it is a user or group, and whether the account is disabled.
1226
+ - Required OAuth scope: repository.Read
1227
+ * @param args.repositoryId The requested repository ID.
1228
+ * @param args.search (optional) The name (or name prefix) to search for.
1229
+ * @param args.type (optional) Optional. Restrict the search to user or group trustees. When omitted, both users and groups are returned.
1230
+ * @param args.count (optional) Optional. The maximum number of trustees to return. Defaults to 100.
1231
+ * @returns Successfully returned the matching trustees.
1232
+ */
1233
+ lookupTrustees(args: {
1234
+ repositoryId: string;
1235
+ search?: string | null | undefined;
1236
+ type?: string | null | undefined;
1237
+ count?: number | undefined;
1238
+ }): Promise<TrusteeIdentity[]>;
1239
+ /**
1240
+ * - Returns the trustee's privileges and feature rights (as named booleans), the security tags assigned to it, the audit classes configured for it (split into success and failure masks), and whether the trustee is read-only.
1241
+ - The effective view (includeInherited=true) is a best-effort computation that can, in rare cases, differ from the trustee's real rights. The authoritative way to determine a trustee's security is to sign in as that trustee and read the resulting session's rights.
1242
+ - Required OAuth scope: repository.Read
1243
+ * @param args.repositoryId The requested repository ID.
1244
+ * @param args.trusteeId The SID of the trustee whose security is read. Use the trustee lookup to resolve a name to a SID.
1245
+ * @param args.includeInherited (optional) When true (default), returns the trustee's effective security — what applies once group memberships are resolved. When false, returns the direct security assigned on the trustee record itself, without group-membership inheritance.
1246
+ * @returns Successfully returned the trustee's account security (effective by default, or direct when includeInherited=false).
1247
+ */
1248
+ getTrusteeSecurity(args: {
1249
+ repositoryId: string;
1250
+ trusteeId: string;
1251
+ includeInherited?: boolean | undefined;
1252
+ }): Promise<TrusteeSecurity>;
1253
+ }
1254
+ export declare class AccessControlClient implements IAccessControlClient {
1255
+ private http;
1256
+ private baseUrl;
1257
+ protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
1258
+ constructor(baseUrl?: string, http?: {
1259
+ fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
1260
+ });
1261
+ /**
1262
+ * - Returns the field's access control entries (ACEs): the trustee, whether rights are allowed or denied, and the rights themselves. Field ACEs have no scope and are never inherited.
1263
+ - The OAuth scope is coarse; the repository session enforces the real permission and returns 403 when the caller lacks the field's ReadPermissions right.
1264
+ - Required OAuth scope: repository.Read
1265
+ * @param args.repositoryId The requested repository ID.
1266
+ * @param args.fieldId The requested field definition ID.
1267
+ * @returns Successfully returned the field definition's access control list.
1268
+ */
1269
+ getFieldAccessControl(args: {
1270
+ repositoryId: string;
1271
+ fieldId: number;
1272
+ }): Promise<FieldAccessControlList>;
1273
+ protected processGetFieldAccessControl(response: Response): Promise<FieldAccessControlList>;
1274
+ /**
1275
+ * - Full replace: the supplied entries replace the field's entire explicit ACL. Inherited entries are not accepted (field ACEs are never inherited). Address a trustee by trustee.sid or trustee.accountName (the SID wins when both are given; an account name is resolved to a SID server-side).
1276
+ - The OAuth scope is coarse; the repository session enforces the real permission and returns 403 when the caller lacks the field's ChangePermissions right.
1277
+ - Required OAuth scope: repository.Write
1278
+ * @param args.repositoryId The requested repository ID.
1279
+ * @param args.fieldId The field definition ID whose ACL to replace.
1280
+ * @param args.request The access control entries to set.
1281
+ * @returns Successfully replaced the field definition's access control list. Returned the updated access control list.
1282
+ */
1283
+ setFieldAccessControl(args: {
1284
+ repositoryId: string;
1285
+ fieldId: number;
1286
+ request: SetFieldAccessControlRequest;
1287
+ }): Promise<FieldAccessControlList>;
1288
+ protected processSetFieldAccessControl(response: Response): Promise<FieldAccessControlList>;
1289
+ /**
1290
+ * - Returns the rights a trustee has on the field definition, plus whether the session is read-only. By default these are the effective rights (after group membership, allow/deny resolution, and the privilege overlay); set aclOnly=true for the rights granted by the field's own ACL without that overlay. Omit both trusteeId and trusteeName for the current session.
1291
+ - Required OAuth scope: repository.Read
1292
+ * @param args.repositoryId The requested repository ID.
1293
+ * @param args.fieldId The requested field definition ID.
1294
+ * @param args.trusteeId (optional) An optional trustee SID. When supplied, returns that trustee's rights; otherwise the current session's.
1295
+ * @param args.trusteeName (optional) An optional trustee account name, as an alternative to trusteeId. The SID wins when both are supplied.
1296
+ * @param args.aclOnly (optional) Optional. Selects which rights are returned. Default (false): the trustee's effective rights — the net result after allow/deny resolution, group membership, and the repository's privilege overlay (for example, the metadata-management privilege that grants full control over every field regardless of its ACL). When true: only the rights granted by this field definition's own access control list, without that privilege overlay. Group membership is always resolved. Field definitions are not hierarchical, so there is no parent inheritance involved either way.
1297
+ * @returns Successfully returned the rights for the field definition.
1298
+ */
1299
+ getFieldRights(args: {
1300
+ repositoryId: string;
1301
+ fieldId: number;
1302
+ trusteeId?: string | null | undefined;
1303
+ trusteeName?: string | null | undefined;
1304
+ aclOnly?: boolean | undefined;
1305
+ }): Promise<FieldRights>;
1306
+ protected processGetFieldRights(response: Response): Promise<FieldRights>;
1307
+ /**
1308
+ * - Returns the repository's default field ACL — the access control entries a new field definition inherits at creation time.
1309
+ - Required OAuth scope: repository.Read
1310
+ * @param args.repositoryId The requested repository ID.
1311
+ * @returns Successfully returned the default field access control list.
1312
+ */
1313
+ getDefaultFieldAccessControl(args: {
1314
+ repositoryId: string;
1315
+ }): Promise<FieldAccessControlList>;
1316
+ protected processGetDefaultFieldAccessControl(response: Response): Promise<FieldAccessControlList>;
1317
+ /**
1318
+ * - Full replace: the supplied entries replace the entire default field ACL. Inherited entries are not accepted. Address a trustee by trustee.sid or trustee.accountName (the SID wins when both are given).
1319
+ - Required OAuth scope: repository.Write
1320
+ * @param args.repositoryId The requested repository ID.
1321
+ * @param args.request The access control entries to set as the default field ACL.
1322
+ * @returns Successfully replaced the default field access control list. Returned the updated default access control list.
1323
+ */
1324
+ setDefaultFieldAccessControl(args: {
1325
+ repositoryId: string;
1326
+ request: SetFieldAccessControlRequest;
1327
+ }): Promise<FieldAccessControlList>;
1328
+ protected processSetDefaultFieldAccessControl(response: Response): Promise<FieldAccessControlList>;
1329
+ /**
1330
+ * - Returns the access control entries (ACEs) configured on the entry — by default both explicitly-set and inherited (inherited ACEs carry isInherited = true), or only the explicit ones when includeInherited=false — plus whether the entry inherits rights from its parent(s).
1331
+ - Each ACE names a trustee, whether its rights are allowed or denied, the rights themselves, and the propagation scope.
1332
+ - The repository session enforces the underlying permission: reading an ACL requires the ReadPermissions right on the entry, and a 403 is returned when it is lacking. The repository.Read OAuth scope is necessary but not sufficient.
1333
+ - Required OAuth scope: repository.Read
1334
+ * @param args.repositoryId The requested repository ID.
1335
+ * @param args.entryId The entry whose access control list is returned.
1336
+ * @param args.includeInherited (optional) Optional. When true (the default), the response includes both the entry's explicit access control entries and the inherited ones (inherited ACEs carry isInherited = true). When false, only the explicit ACEs are returned — the exact set that the access-control PUT accepts — making it convenient to read, edit, and write back the ACL without filtering inherited entries client-side. The inheritParents flag is unaffected by this option.
1337
+ * @param args.select (optional) Limits the properties returned in the result.
1338
+ * @returns Successfully returned the entry's access control list.
1339
+ */
1340
+ getEntryAccessControl(args: {
1341
+ repositoryId: string;
1342
+ entryId: number;
1343
+ includeInherited?: boolean | undefined;
1344
+ select?: string | null | undefined;
1345
+ }): Promise<AccessControlList>;
1346
+ protected processGetEntryAccessControl(response: Response): Promise<AccessControlList>;
1347
+ /**
1348
+ * - Full replace of the entry's explicit ACEs: the supplied entries become the entry's complete set of explicit ACEs, and any explicit ACE not included is removed. An empty entries array clears all explicit ACEs.
1349
+ - Inherited ACEs cannot be supplied (entries flagged isInherited = true are rejected with 400); inheritance is controlled via inheritParents. When inheritParents is omitted, the entry's current inheritance setting is preserved.
1350
+ - Each ACE identifies its trustee by trustee.sid or trustee.accountName (an account name is resolved to a SID server-side; the SID takes precedence when both are supplied). A trustee that needs both allowed and denied rights is expressed as two ACEs.
1351
+ - The repository session enforces the underlying permission: changing an ACL requires the ChangePermissions right on the entry, and a 403 is returned when it is lacking. The repository.Write OAuth scope is necessary but not sufficient.
1352
+ - Returns the entry's full ACL after the change.
1353
+ - Required OAuth scope: repository.Write
1354
+ * @param args.repositoryId The requested repository ID.
1355
+ * @param args.entryId The entry whose access control list is replaced.
1356
+ * @param args.request The explicit access control entries to apply and, optionally, the parent-inheritance setting.
1357
+ * @returns Successfully replaced the entry's access control list. Returned the updated access control list.
1358
+ */
1359
+ setEntryAccessControl(args: {
1360
+ repositoryId: string;
1361
+ entryId: number;
1362
+ request: SetAccessControlRequest;
1363
+ }): Promise<AccessControlList>;
1364
+ protected processSetEntryAccessControl(response: Response): Promise<AccessControlList>;
1365
+ /**
1366
+ * - Returns the rights a trustee has on the entry. By default these are the effective rights — the same calculation the Laserfiche applications use, after allow/deny resolution, group membership, and the repository's privilege and records-management overlays. Set aclOnly=true to return only the rights granted by the entry's access control list (including its stored inherited ACEs) without the privilege/records-management overlays.
1367
+ - Identify the trustee by trusteeId (a SID) or trusteeName (an account name); omit both for the calling session.
1368
+ - isReadOnly reports whether the session is read-only, in which case no write operations are possible regardless of the granted rights.
1369
+ - Required OAuth scope: repository.Read
1370
+ * @param args.repositoryId The requested repository ID.
1371
+ * @param args.entryId The entry whose rights are computed.
1372
+ * @param args.trusteeId (optional) Optional. The SID of the trustee to compute rights for. When omitted (along with trusteeName), the rights of the current session are returned.
1373
+ * @param args.trusteeName (optional) Optional. The account name of the trustee to compute rights for, as an alternative to trusteeId. When both are supplied, trusteeId takes precedence.
1374
+ * @param args.aclOnly (optional) Optional. Selects which rights are returned. Default (false): the trustee's effective rights — the net result after allow/deny resolution, group membership, and the repository's privilege and records-management overlays. When true: only the rights granted by this item's access control list — including inherited access control entries, which are stored on the item itself — without the privilege and records-management overlays (for example, a privilege that grants full control regardless of the ACL is reflected only when aclOnly=false). Group membership is always resolved. The aclOnly=true value is what the ACL editor displays as the net effect of the list.
1375
+ * @param args.select (optional) Limits the properties returned in the result.
1376
+ * @returns Successfully returned the rights for the entry.
1377
+ */
1378
+ getEntryRights(args: {
1379
+ repositoryId: string;
1380
+ entryId: number;
1381
+ trusteeId?: string | null | undefined;
1382
+ trusteeName?: string | null | undefined;
1383
+ aclOnly?: boolean | undefined;
1384
+ select?: string | null | undefined;
1385
+ }): Promise<EntryRights>;
1386
+ protected processGetEntryRights(response: Response): Promise<EntryRights>;
1387
+ /**
1388
+ * - Returns the privileges and feature rights held by the current session, plus whether the session is read-only. Each is reported as named booleans (a map of right name to whether it is granted), for UI enablement and pre-flight checks.
1389
+ - Reflects the current session only. Per-trustee privilege administration is not part of this surface.
1390
+ - Required OAuth scope: repository.Read
1391
+ * @param args.repositoryId The requested repository ID.
1392
+ * @returns Successfully returned the current session's rights.
1393
+ */
1394
+ getSessionRights(args: {
1395
+ repositoryId: string;
1396
+ }): Promise<SessionRights>;
1397
+ protected processGetSessionRights(response: Response): Promise<SessionRights>;
1398
+ /**
1399
+ * - Returns the template's access control entries (ACEs): the trustee, whether rights are allowed or denied, and the rights themselves. Template ACEs have no scope and are never inherited.
1400
+ - The OAuth scope is coarse; the repository session enforces the real permission and returns 403 when the caller lacks the template's ReadPermissions right.
1401
+ - Required OAuth scope: repository.Read
1402
+ * @param args.repositoryId The requested repository ID.
1403
+ * @param args.templateId The requested template definition ID.
1404
+ * @returns Successfully returned the template definition's access control list.
1405
+ */
1406
+ getTemplateAccessControl(args: {
1407
+ repositoryId: string;
1408
+ templateId: number;
1409
+ }): Promise<TemplateAccessControlList>;
1410
+ protected processGetTemplateAccessControl(response: Response): Promise<TemplateAccessControlList>;
1411
+ /**
1412
+ * - Full replace: the supplied entries replace the template's entire explicit ACL. Inherited entries are not accepted (template ACEs are never inherited). Address a trustee by trustee.sid or trustee.accountName (the SID wins when both are given; an account name is resolved to a SID server-side).
1413
+ - The OAuth scope is coarse; the repository session enforces the real permission and returns 403 when the caller lacks the template's ChangePermissions right.
1414
+ - Required OAuth scope: repository.Write
1415
+ * @param args.repositoryId The requested repository ID.
1416
+ * @param args.templateId The template definition ID whose ACL to replace.
1417
+ * @param args.request The access control entries to set.
1418
+ * @returns Successfully replaced the template definition's access control list. Returned the updated access control list.
1419
+ */
1420
+ setTemplateAccessControl(args: {
1421
+ repositoryId: string;
1422
+ templateId: number;
1423
+ request: SetTemplateAccessControlRequest;
1424
+ }): Promise<TemplateAccessControlList>;
1425
+ protected processSetTemplateAccessControl(response: Response): Promise<TemplateAccessControlList>;
1426
+ /**
1427
+ * - Returns the rights a trustee has on the template definition, plus whether the session is read-only. By default these are the effective rights (after group membership, allow/deny resolution, and the privilege overlay); set aclOnly=true for the rights granted by the template's own ACL without that overlay. Omit both trusteeId and trusteeName for the current session.
1428
+ - Required OAuth scope: repository.Read
1429
+ * @param args.repositoryId The requested repository ID.
1430
+ * @param args.templateId The requested template definition ID.
1431
+ * @param args.trusteeId (optional) An optional trustee SID. When supplied, returns that trustee's rights; otherwise the current session's.
1432
+ * @param args.trusteeName (optional) An optional trustee account name, as an alternative to trusteeId. The SID wins when both are supplied.
1433
+ * @param args.aclOnly (optional) Optional. Selects which rights are returned. Default (false): the trustee's effective rights — the net result after allow/deny resolution, group membership, and the repository's privilege overlay (for example, the metadata-management privilege that grants full control over every template regardless of its ACL). When true: only the rights granted by this template definition's own access control list, without that privilege overlay. Group membership is always resolved. Template definitions are not hierarchical, so there is no parent inheritance involved either way.
1434
+ * @returns Successfully returned the rights for the template definition.
1435
+ */
1436
+ getTemplateRights(args: {
1437
+ repositoryId: string;
1438
+ templateId: number;
1439
+ trusteeId?: string | null | undefined;
1440
+ trusteeName?: string | null | undefined;
1441
+ aclOnly?: boolean | undefined;
1442
+ }): Promise<TemplateRights>;
1443
+ protected processGetTemplateRights(response: Response): Promise<TemplateRights>;
1444
+ /**
1445
+ * - Returns the repository's default template ACL — the access control entries a new template definition inherits at creation time.
1446
+ - Required OAuth scope: repository.Read
1447
+ * @param args.repositoryId The requested repository ID.
1448
+ * @returns Successfully returned the default template access control list.
1449
+ */
1450
+ getDefaultTemplateAccessControl(args: {
1451
+ repositoryId: string;
1452
+ }): Promise<TemplateAccessControlList>;
1453
+ protected processGetDefaultTemplateAccessControl(response: Response): Promise<TemplateAccessControlList>;
1454
+ /**
1455
+ * - Full replace: the supplied entries replace the entire default template ACL. Inherited entries are not accepted. Address a trustee by trustee.sid or trustee.accountName (the SID wins when both are given).
1456
+ - Required OAuth scope: repository.Write
1457
+ * @param args.repositoryId The requested repository ID.
1458
+ * @param args.request The access control entries to set as the default template ACL.
1459
+ * @returns Successfully replaced the default template access control list. Returned the updated default access control list.
1460
+ */
1461
+ setDefaultTemplateAccessControl(args: {
1462
+ repositoryId: string;
1463
+ request: SetTemplateAccessControlRequest;
1464
+ }): Promise<TemplateAccessControlList>;
1465
+ protected processSetDefaultTemplateAccessControl(response: Response): Promise<TemplateAccessControlList>;
1466
+ /**
1467
+ * - Resolves trustee names to the SIDs used when building access control entries or reading effective rights for a trustee.
1468
+ - Each result includes the trustee's SID, account name, display name, type, whether it is a user or group, and whether the account is disabled.
1469
+ - Required OAuth scope: repository.Read
1470
+ * @param args.repositoryId The requested repository ID.
1471
+ * @param args.search (optional) The name (or name prefix) to search for.
1472
+ * @param args.type (optional) Optional. Restrict the search to user or group trustees. When omitted, both users and groups are returned.
1473
+ * @param args.count (optional) Optional. The maximum number of trustees to return. Defaults to 100.
1474
+ * @returns Successfully returned the matching trustees.
1475
+ */
1476
+ lookupTrustees(args: {
1477
+ repositoryId: string;
1478
+ search?: string | null | undefined;
1479
+ type?: string | null | undefined;
1480
+ count?: number | undefined;
1481
+ }): Promise<TrusteeIdentity[]>;
1482
+ protected processLookupTrustees(response: Response): Promise<TrusteeIdentity[]>;
1483
+ /**
1484
+ * - Returns the trustee's privileges and feature rights (as named booleans), the security tags assigned to it, the audit classes configured for it (split into success and failure masks), and whether the trustee is read-only.
1485
+ - The effective view (includeInherited=true) is a best-effort computation that can, in rare cases, differ from the trustee's real rights. The authoritative way to determine a trustee's security is to sign in as that trustee and read the resulting session's rights.
1486
+ - Required OAuth scope: repository.Read
1487
+ * @param args.repositoryId The requested repository ID.
1488
+ * @param args.trusteeId The SID of the trustee whose security is read. Use the trustee lookup to resolve a name to a SID.
1489
+ * @param args.includeInherited (optional) When true (default), returns the trustee's effective security — what applies once group memberships are resolved. When false, returns the direct security assigned on the trustee record itself, without group-membership inheritance.
1490
+ * @returns Successfully returned the trustee's account security (effective by default, or direct when includeInherited=false).
1491
+ */
1492
+ getTrusteeSecurity(args: {
1493
+ repositoryId: string;
1494
+ trusteeId: string;
1495
+ includeInherited?: boolean | undefined;
1496
+ }): Promise<TrusteeSecurity>;
1497
+ protected processGetTrusteeSecurity(response: Response): Promise<TrusteeSecurity>;
1498
+ }
1499
+ export interface ILinkDefinitionsClient {
1500
+ /**
1501
+ * - Returns the link definitions in the repository.
1502
+ - Provide a repository ID and get a paged listing of link definitions available in the repository. Useful when trying to display all link definitions available, not only links assigned to a specific entry.
1503
+ - Default page size: 100. Allowed OData query options: Select | Count | OrderBy | Skip | Top | SkipToken | Prefer.
1504
+ - Required OAuth scope: repository.Read
1505
+ * @param args.repositoryId The requested repository ID.
1506
+ * @param args.prefer (optional) An optional OData header. Can be used to set the maximum page size using odata.maxpagesize.
1507
+ * @param args.select (optional) Limits the properties returned in the result.
1508
+ * @param args.orderby (optional) Specifies the order in which items are returned. The maximum number of expressions is 5.
1509
+ * @param args.top (optional) Limits the number of items returned from a collection. The maximum value is 150.
1510
+ * @param args.skip (optional) Excludes the specified number of items of the queried collection from the result.
1511
+ * @param args.count (optional) Indicates whether the total count of items within a collection are returned in the result.
1512
+ * @returns Successfully returned link definitions.
1513
+ */
1514
+ listLinkDefinitions(args: {
1515
+ repositoryId: string;
1516
+ prefer?: string | null | undefined;
1517
+ select?: string | null | undefined;
1518
+ orderby?: string | null | undefined;
1519
+ top?: number | undefined;
1520
+ skip?: number | undefined;
1521
+ count?: boolean | undefined;
1522
+ }): Promise<LinkDefinitionCollectionResponse>;
1523
+ /**
1524
+ * - Returns a single link definition associated with the specified ID.
1525
+ - Provide a link definition ID and get the associated link definition. Useful when a route provides a minimal amount of details and more information about the specific link definition is needed.
1526
+ - Allowed OData query options: Select
1527
+ - Required OAuth scope: repository.Read
1528
+ * @param args.repositoryId The requested repository ID.
1529
+ * @param args.linkDefinitionId The requested link definition ID.
1530
+ * @param args.select (optional) Limits the properties returned in the result.
1531
+ * @returns Successfully returned specified link definition.
1532
+ */
1533
+ getLinkDefinition(args: {
1534
+ repositoryId: string;
1535
+ linkDefinitionId: number;
1536
+ select?: string | null | undefined;
1537
+ }): Promise<LinkDefinition>;
1538
+ }
1539
+ export declare class LinkDefinitionsClient implements ILinkDefinitionsClient {
685
1540
  private http;
686
1541
  private baseUrl;
687
1542
  protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
@@ -797,6 +1652,7 @@ export interface IEntriesClient {
797
1652
  * @param args.repositoryId The requested repository ID.
798
1653
  * @param args.entryId The entry ID of the folder that the document will be created in.
799
1654
  * @param args.request (optional) The request body.
1655
+ * @param args.autoCreateFolderPath (optional) When true, any missing folders in the request's `folderPath` are created; when false (default), a missing folder returns 404.
800
1656
  * @param args.culture (optional) An optional query parameter used to indicate the locale that should be used. The value should be a standard language tag. This may be used when setting field values with tokens.
801
1657
  * @returns Operation was started successfully. Returned a long operation task ID.
802
1658
  */
@@ -804,6 +1660,7 @@ export interface IEntriesClient {
804
1660
  repositoryId: string;
805
1661
  entryId: number;
806
1662
  request?: StartImportUploadedPartsRequest | undefined;
1663
+ autoCreateFolderPath?: boolean | undefined;
807
1664
  culture?: string | null | undefined;
808
1665
  }): Promise<StartTaskResponse>;
809
1666
  /**
@@ -908,6 +1765,7 @@ export interface IEntriesClient {
908
1765
  - Required OAuth scope: repository.Write
909
1766
  * @param args.repositoryId The requested repository ID.
910
1767
  * @param args.entryId The entry ID of the folder that the document will be created in.
1768
+ * @param args.autoCreateFolderPath (optional) When true, any missing folders in the request's `folderPath` are created; when false (default), a missing folder returns 404.
911
1769
  * @param args.culture (optional) An optional query parameter used to indicate the locale that should be used. The value should be a standard language tag. This may be used when setting field values with tokens.
912
1770
  * @param args.file (optional) Optional. The file to import. If the file extension is not in {txt, tif, tiff, bmp, pcx, jpg, jpeg, gif, png}, or if importAsElectronicDocument=true, it is stored as the electronic document. Otherwise (image extension with importAsElectronicDocument=false), it is imported as image pages. A zero-byte file creates an empty document with no electronic document and no pages.
913
1771
  * @param args.request (optional)
@@ -917,6 +1775,7 @@ export interface IEntriesClient {
917
1775
  importEntry(args: {
918
1776
  repositoryId: string;
919
1777
  entryId: number;
1778
+ autoCreateFolderPath?: boolean | undefined;
920
1779
  culture?: string | null | undefined;
921
1780
  file?: FileParameter | undefined;
922
1781
  request?: ImportEntryRequest | undefined;
@@ -995,6 +1854,7 @@ export interface IEntriesClient {
995
1854
  * @param args.repositoryId The requested repository ID.
996
1855
  * @param args.entryId The folder ID that the entry will be created in.
997
1856
  * @param args.request The request body.
1857
+ * @param args.autoCreateFolderPath (optional) When true, any missing folders in the request's `folderPath` are created; when false (default), a missing folder returns 404.
998
1858
  * @param args.culture (optional) An optional query parameter used to indicate the locale that should be used. The value should be a standard language tag.
999
1859
  * @returns Document was created successfully. Returns created entry.
1000
1860
  */
@@ -1002,6 +1862,7 @@ export interface IEntriesClient {
1002
1862
  repositoryId: string;
1003
1863
  entryId: number;
1004
1864
  request: CreateEntryRequest;
1865
+ autoCreateFolderPath?: boolean | undefined;
1005
1866
  culture?: string | null | undefined;
1006
1867
  }): Promise<Entry>;
1007
1868
  /**
@@ -1757,6 +2618,7 @@ export declare class EntriesClient implements IEntriesClient {
1757
2618
  * @param args.repositoryId The requested repository ID.
1758
2619
  * @param args.entryId The entry ID of the folder that the document will be created in.
1759
2620
  * @param args.request (optional) The request body.
2621
+ * @param args.autoCreateFolderPath (optional) When true, any missing folders in the request's `folderPath` are created; when false (default), a missing folder returns 404.
1760
2622
  * @param args.culture (optional) An optional query parameter used to indicate the locale that should be used. The value should be a standard language tag. This may be used when setting field values with tokens.
1761
2623
  * @returns Operation was started successfully. Returned a long operation task ID.
1762
2624
  */
@@ -1764,6 +2626,7 @@ export declare class EntriesClient implements IEntriesClient {
1764
2626
  repositoryId: string;
1765
2627
  entryId: number;
1766
2628
  request?: StartImportUploadedPartsRequest | undefined;
2629
+ autoCreateFolderPath?: boolean | undefined;
1767
2630
  culture?: string | null | undefined;
1768
2631
  }): Promise<StartTaskResponse>;
1769
2632
  protected processStartImportUploadedParts(response: Response): Promise<StartTaskResponse>;
@@ -1874,6 +2737,7 @@ export declare class EntriesClient implements IEntriesClient {
1874
2737
  - Required OAuth scope: repository.Write
1875
2738
  * @param args.repositoryId The requested repository ID.
1876
2739
  * @param args.entryId The entry ID of the folder that the document will be created in.
2740
+ * @param args.autoCreateFolderPath (optional) When true, any missing folders in the request's `folderPath` are created; when false (default), a missing folder returns 404.
1877
2741
  * @param args.culture (optional) An optional query parameter used to indicate the locale that should be used. The value should be a standard language tag. This may be used when setting field values with tokens.
1878
2742
  * @param args.file (optional) Optional. The file to import. If the file extension is not in {txt, tif, tiff, bmp, pcx, jpg, jpeg, gif, png}, or if importAsElectronicDocument=true, it is stored as the electronic document. Otherwise (image extension with importAsElectronicDocument=false), it is imported as image pages. A zero-byte file creates an empty document with no electronic document and no pages.
1879
2743
  * @param args.request (optional)
@@ -1883,6 +2747,7 @@ export declare class EntriesClient implements IEntriesClient {
1883
2747
  importEntry(args: {
1884
2748
  repositoryId: string;
1885
2749
  entryId: number;
2750
+ autoCreateFolderPath?: boolean | undefined;
1886
2751
  culture?: string | null | undefined;
1887
2752
  file?: FileParameter | undefined;
1888
2753
  request?: ImportEntryRequest | undefined;
@@ -1965,6 +2830,7 @@ export declare class EntriesClient implements IEntriesClient {
1965
2830
  * @param args.repositoryId The requested repository ID.
1966
2831
  * @param args.entryId The folder ID that the entry will be created in.
1967
2832
  * @param args.request The request body.
2833
+ * @param args.autoCreateFolderPath (optional) When true, any missing folders in the request's `folderPath` are created; when false (default), a missing folder returns 404.
1968
2834
  * @param args.culture (optional) An optional query parameter used to indicate the locale that should be used. The value should be a standard language tag.
1969
2835
  * @returns Document was created successfully. Returns created entry.
1970
2836
  */
@@ -1972,6 +2838,7 @@ export declare class EntriesClient implements IEntriesClient {
1972
2838
  repositoryId: string;
1973
2839
  entryId: number;
1974
2840
  request: CreateEntryRequest;
2841
+ autoCreateFolderPath?: boolean | undefined;
1975
2842
  culture?: string | null | undefined;
1976
2843
  }): Promise<Entry>;
1977
2844
  protected processCreateEntry(response: Response): Promise<Entry>;
@@ -2556,38 +3423,246 @@ export declare class EntriesClient implements IEntriesClient {
2556
3423
  }): Promise<Entry>;
2557
3424
  protected processUndoCheckOut(response: Response): Promise<Entry>;
2558
3425
  }
2559
- export interface IRepositoriesClient {
3426
+ export interface IRecordsManagementClient {
2560
3427
  /**
2561
- * - Returns the repository resource list that current user has access to.
2562
- - Required OAuth scope: repository.Read
2563
- * @returns Successfully returned list of available repositories.
3428
+ * @param args.select (optional) Limits the properties returned in the result.
3429
+ * @returns Successfully returned the entry's records management properties.
2564
3430
  */
2565
- listRepositories(args: {}): Promise<RepositoryCollectionResponse>;
2566
- }
2567
- export declare class RepositoriesClient implements IRepositoriesClient {
2568
- private http;
2569
- private baseUrl;
2570
- protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
2571
- constructor(baseUrl?: string, http?: {
2572
- fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
2573
- });
3431
+ getEntryRecordsManagementProperties(args: {
3432
+ repositoryId: string;
3433
+ entryId: number;
3434
+ select?: string | null | undefined;
3435
+ }): Promise<RecordsManagementProperties>;
2574
3436
  /**
2575
- * Returns the repository resource list that current user has access to given the API server base URL. Only available in Laserfiche Self-Hosted.
2576
- * - Related: {@link IRepositoriesClient.listRepositories listRepositories}
2577
- * @param args.baseUrl API server base URL e.g., https://{APIServerName}/LFRepositoryAPI
2578
- * @returns A collection of respositories.
3437
+ * @returns Successfully updated the entry's records management properties. Returned the updated properties.
2579
3438
  */
2580
- static listSelfHostedRepositories(args: {
2581
- baseUrl: string;
2582
- }): Promise<RepositoryCollectionResponse>;
3439
+ updateEntryRecordsManagementProperties(args: {
3440
+ repositoryId: string;
3441
+ entryId: number;
3442
+ request: UpdateRecordsManagementPropertiesRequest;
3443
+ }): Promise<RecordsManagementProperties>;
2583
3444
  /**
2584
- * - Returns the repository resource list that current user has access to.
2585
- - Required OAuth scope: repository.Read
2586
- * @returns Successfully returned list of available repositories.
3445
+ * @param args.eligibleFor (optional)
3446
+ * @param args.select (optional) Limits the properties returned in the result.
3447
+ * @returns Successfully returned the ids of the records eligible for the requested action.
2587
3448
  */
2588
- listRepositories(args: {}): Promise<RepositoryCollectionResponse>;
2589
- protected processListRepositories(response: Response): Promise<RepositoryCollectionResponse>;
2590
- }
3449
+ getEligibleRecords(args: {
3450
+ repositoryId: string;
3451
+ entryId: number;
3452
+ eligibleFor?: EligibleRecordsAction | null | undefined;
3453
+ select?: string | null | undefined;
3454
+ }): Promise<RecordEntryIdCollection>;
3455
+ /**
3456
+ * @param args.select (optional) Limits the properties returned in the result.
3457
+ * @returns Successfully returned the ids of the independent records under the record folder.
3458
+ */
3459
+ getIndependentRecords(args: {
3460
+ repositoryId: string;
3461
+ entryId: number;
3462
+ select?: string | null | undefined;
3463
+ }): Promise<RecordEntryIdCollection>;
3464
+ /**
3465
+ * @param args.select (optional) Limits the properties returned in the result.
3466
+ * @returns Successfully returned the record folder's alternate-retention trigger events.
3467
+ */
3468
+ getAltRetentionEvents(args: {
3469
+ repositoryId: string;
3470
+ entryId: number;
3471
+ select?: string | null | undefined;
3472
+ }): Promise<AltRetentionEventCollection>;
3473
+ /**
3474
+ * @param args.select (optional) Limits the properties returned in the result.
3475
+ * @returns Successfully returned the record series properties.
3476
+ */
3477
+ getRecordSeriesProperties(args: {
3478
+ repositoryId: string;
3479
+ entryId: number;
3480
+ select?: string | null | undefined;
3481
+ }): Promise<RecordSeriesProperties>;
3482
+ /**
3483
+ * @returns Successfully updated the record series properties. Returned the updated properties.
3484
+ */
3485
+ updateRecordSeriesProperties(args: {
3486
+ repositoryId: string;
3487
+ entryId: number;
3488
+ request: UpdateRecordSeriesPropertiesRequest;
3489
+ }): Promise<RecordSeriesProperties>;
3490
+ /**
3491
+ * @returns Successfully set the record event date. Returned the updated records management properties.
3492
+ */
3493
+ setRecordEvent(args: {
3494
+ repositoryId: string;
3495
+ entryId: number;
3496
+ request: SetRecordEventRequest;
3497
+ }): Promise<RecordsManagementProperties>;
3498
+ /**
3499
+ * @returns Successfully removed the record event date. Returned the updated records management properties.
3500
+ */
3501
+ removeRecordEvent(args: {
3502
+ repositoryId: string;
3503
+ entryId: number;
3504
+ request: RemoveRecordEventRequest;
3505
+ }): Promise<RecordsManagementProperties>;
3506
+ /**
3507
+ * - A record series provides cascading retention defaults for the file plan beneath it.
3508
+ - The parent must be the file-plan root or another record series; creating one under a normal folder is rejected.
3509
+ - Deleting a record series uses the existing Delete Entry endpoint (a record series is an entry).
3510
+ - Required OAuth scope: repository.Write
3511
+ * @param args.repositoryId The requested repository ID.
3512
+ * @param args.parentEntryId The parent the record series is created under. A record series belongs to the record file plan, so the parent must be the repository's file-plan root or an existing record series — it cannot be a normal folder (the server returns an error if it is).
3513
+ * @param args.request The new record series' name and code.
3514
+ * @returns Successfully created the record series. Returned the created entry.
3515
+ */
3516
+ createRecordSeries(args: {
3517
+ repositoryId: string;
3518
+ parentEntryId: number;
3519
+ request: CreateRecordSeriesRequest;
3520
+ }): Promise<Entry>;
3521
+ }
3522
+ export declare class RecordsManagementClient implements IRecordsManagementClient {
3523
+ private http;
3524
+ private baseUrl;
3525
+ protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
3526
+ constructor(baseUrl?: string, http?: {
3527
+ fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
3528
+ });
3529
+ /**
3530
+ * @param args.select (optional) Limits the properties returned in the result.
3531
+ * @returns Successfully returned the entry's records management properties.
3532
+ */
3533
+ getEntryRecordsManagementProperties(args: {
3534
+ repositoryId: string;
3535
+ entryId: number;
3536
+ select?: string | null | undefined;
3537
+ }): Promise<RecordsManagementProperties>;
3538
+ protected processGetEntryRecordsManagementProperties(response: Response): Promise<RecordsManagementProperties>;
3539
+ /**
3540
+ * @returns Successfully updated the entry's records management properties. Returned the updated properties.
3541
+ */
3542
+ updateEntryRecordsManagementProperties(args: {
3543
+ repositoryId: string;
3544
+ entryId: number;
3545
+ request: UpdateRecordsManagementPropertiesRequest;
3546
+ }): Promise<RecordsManagementProperties>;
3547
+ protected processUpdateEntryRecordsManagementProperties(response: Response): Promise<RecordsManagementProperties>;
3548
+ /**
3549
+ * @param args.eligibleFor (optional)
3550
+ * @param args.select (optional) Limits the properties returned in the result.
3551
+ * @returns Successfully returned the ids of the records eligible for the requested action.
3552
+ */
3553
+ getEligibleRecords(args: {
3554
+ repositoryId: string;
3555
+ entryId: number;
3556
+ eligibleFor?: EligibleRecordsAction | null | undefined;
3557
+ select?: string | null | undefined;
3558
+ }): Promise<RecordEntryIdCollection>;
3559
+ protected processGetEligibleRecords(response: Response): Promise<RecordEntryIdCollection>;
3560
+ /**
3561
+ * @param args.select (optional) Limits the properties returned in the result.
3562
+ * @returns Successfully returned the ids of the independent records under the record folder.
3563
+ */
3564
+ getIndependentRecords(args: {
3565
+ repositoryId: string;
3566
+ entryId: number;
3567
+ select?: string | null | undefined;
3568
+ }): Promise<RecordEntryIdCollection>;
3569
+ protected processGetIndependentRecords(response: Response): Promise<RecordEntryIdCollection>;
3570
+ /**
3571
+ * @param args.select (optional) Limits the properties returned in the result.
3572
+ * @returns Successfully returned the record folder's alternate-retention trigger events.
3573
+ */
3574
+ getAltRetentionEvents(args: {
3575
+ repositoryId: string;
3576
+ entryId: number;
3577
+ select?: string | null | undefined;
3578
+ }): Promise<AltRetentionEventCollection>;
3579
+ protected processGetAltRetentionEvents(response: Response): Promise<AltRetentionEventCollection>;
3580
+ /**
3581
+ * @param args.select (optional) Limits the properties returned in the result.
3582
+ * @returns Successfully returned the record series properties.
3583
+ */
3584
+ getRecordSeriesProperties(args: {
3585
+ repositoryId: string;
3586
+ entryId: number;
3587
+ select?: string | null | undefined;
3588
+ }): Promise<RecordSeriesProperties>;
3589
+ protected processGetRecordSeriesProperties(response: Response): Promise<RecordSeriesProperties>;
3590
+ /**
3591
+ * @returns Successfully updated the record series properties. Returned the updated properties.
3592
+ */
3593
+ updateRecordSeriesProperties(args: {
3594
+ repositoryId: string;
3595
+ entryId: number;
3596
+ request: UpdateRecordSeriesPropertiesRequest;
3597
+ }): Promise<RecordSeriesProperties>;
3598
+ protected processUpdateRecordSeriesProperties(response: Response): Promise<RecordSeriesProperties>;
3599
+ /**
3600
+ * @returns Successfully set the record event date. Returned the updated records management properties.
3601
+ */
3602
+ setRecordEvent(args: {
3603
+ repositoryId: string;
3604
+ entryId: number;
3605
+ request: SetRecordEventRequest;
3606
+ }): Promise<RecordsManagementProperties>;
3607
+ protected processSetRecordEvent(response: Response): Promise<RecordsManagementProperties>;
3608
+ /**
3609
+ * @returns Successfully removed the record event date. Returned the updated records management properties.
3610
+ */
3611
+ removeRecordEvent(args: {
3612
+ repositoryId: string;
3613
+ entryId: number;
3614
+ request: RemoveRecordEventRequest;
3615
+ }): Promise<RecordsManagementProperties>;
3616
+ protected processRemoveRecordEvent(response: Response): Promise<RecordsManagementProperties>;
3617
+ /**
3618
+ * - A record series provides cascading retention defaults for the file plan beneath it.
3619
+ - The parent must be the file-plan root or another record series; creating one under a normal folder is rejected.
3620
+ - Deleting a record series uses the existing Delete Entry endpoint (a record series is an entry).
3621
+ - Required OAuth scope: repository.Write
3622
+ * @param args.repositoryId The requested repository ID.
3623
+ * @param args.parentEntryId The parent the record series is created under. A record series belongs to the record file plan, so the parent must be the repository's file-plan root or an existing record series — it cannot be a normal folder (the server returns an error if it is).
3624
+ * @param args.request The new record series' name and code.
3625
+ * @returns Successfully created the record series. Returned the created entry.
3626
+ */
3627
+ createRecordSeries(args: {
3628
+ repositoryId: string;
3629
+ parentEntryId: number;
3630
+ request: CreateRecordSeriesRequest;
3631
+ }): Promise<Entry>;
3632
+ protected processCreateRecordSeries(response: Response): Promise<Entry>;
3633
+ }
3634
+ export interface IRepositoriesClient {
3635
+ /**
3636
+ * - Returns the repository resource list that current user has access to.
3637
+ - Required OAuth scope: repository.Read
3638
+ * @returns Successfully returned list of available repositories.
3639
+ */
3640
+ listRepositories(args: {}): Promise<RepositoryCollectionResponse>;
3641
+ }
3642
+ export declare class RepositoriesClient implements IRepositoriesClient {
3643
+ private http;
3644
+ private baseUrl;
3645
+ protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
3646
+ constructor(baseUrl?: string, http?: {
3647
+ fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
3648
+ });
3649
+ /**
3650
+ * Returns the repository resource list that current user has access to given the API server base URL. Only available in Laserfiche Self-Hosted.
3651
+ * - Related: {@link IRepositoriesClient.listRepositories listRepositories}
3652
+ * @param args.baseUrl API server base URL e.g., https://{APIServerName}/LFRepositoryAPI
3653
+ * @returns A collection of respositories.
3654
+ */
3655
+ static listSelfHostedRepositories(args: {
3656
+ baseUrl: string;
3657
+ }): Promise<RepositoryCollectionResponse>;
3658
+ /**
3659
+ * - Returns the repository resource list that current user has access to.
3660
+ - Required OAuth scope: repository.Read
3661
+ * @returns Successfully returned list of available repositories.
3662
+ */
3663
+ listRepositories(args: {}): Promise<RepositoryCollectionResponse>;
3664
+ protected processListRepositories(response: Response): Promise<RepositoryCollectionResponse>;
3665
+ }
2591
3666
  export interface ISearchesClient {
2592
3667
  /**
2593
3668
  * - Runs a search operation on the repository.
@@ -2916,6 +3991,170 @@ export declare class SimpleSearchesClient implements ISimpleSearchesClient {
2916
3991
  }): Promise<EntryCollectionResponse>;
2917
3992
  protected processSearchEntry(response: Response): Promise<EntryCollectionResponse>;
2918
3993
  }
3994
+ export interface IStampsClient {
3995
+ /**
3996
+ * - Use `scope` to select public, personal, or all stamps. The image bytes are not included; fetch them from the stamp's Image sub-resource.
3997
+ - Required OAuth scope: repository.Read
3998
+ * @param args.scope (optional)
3999
+ * @param args.select (optional) Limits the properties returned in the result.
4000
+ * @param args.orderby (optional) Specifies the order in which items are returned. The maximum number of expressions is 5.
4001
+ * @param args.count (optional) Indicates whether the total count of items within a collection are returned in the result.
4002
+ * @returns Successfully returned the repository's stamps.
4003
+ */
4004
+ listStamps(args: {
4005
+ repositoryId: string;
4006
+ scope?: StampScope | undefined;
4007
+ select?: string | null | undefined;
4008
+ orderby?: string | null | undefined;
4009
+ count?: boolean | undefined;
4010
+ }): Promise<Stamp[]>;
4011
+ /**
4012
+ * - Send the image as multipart/form-data under the form field "file", with "name" and "isPublic" form fields. The service converts the image to the repository's internal format.
4013
+ - Creating a public stamp requires the stamp-management privilege; personal stamps require no special privilege.
4014
+ - Required OAuth scope: repository.Write
4015
+ * @param args.name (optional)
4016
+ * @param args.isPublic (optional)
4017
+ * @param args.file (optional) The image file to upload. See https://doc.laserfiche.com/ for supported image file formats.
4018
+ * @returns Successfully created the stamp. Returned the created stamp.
4019
+ */
4020
+ createStamp(args: {
4021
+ repositoryId: string;
4022
+ name?: string | null | undefined;
4023
+ isPublic?: boolean | undefined;
4024
+ file?: FileParameter | undefined;
4025
+ }): Promise<Stamp>;
4026
+ /**
4027
+ * - Required OAuth scope: repository.Read
4028
+ * @param args.select (optional) Limits the properties returned in the result.
4029
+ * @returns Successfully returned the stamp's metadata.
4030
+ */
4031
+ getStamp(args: {
4032
+ repositoryId: string;
4033
+ stampId: number;
4034
+ select?: string | null | undefined;
4035
+ }): Promise<Stamp>;
4036
+ /**
4037
+ * - Managing a public stamp requires the stamp-management privilege.
4038
+ - Required OAuth scope: repository.Write
4039
+ * @returns Successfully updated the stamp. Returned the updated stamp.
4040
+ */
4041
+ updateStamp(args: {
4042
+ repositoryId: string;
4043
+ stampId: number;
4044
+ request: UpdateStampRequest;
4045
+ }): Promise<Stamp>;
4046
+ /**
4047
+ * - Deleting a public stamp requires the stamp-management privilege.
4048
+ - Required OAuth scope: repository.Write
4049
+ * @returns Successfully deleted the stamp.
4050
+ */
4051
+ deleteStamp(args: {
4052
+ repositoryId: string;
4053
+ stampId: number;
4054
+ }): Promise<void>;
4055
+ /**
4056
+ * - Only public (common) stamps are returned. Personal stamps are not served by this endpoint and return 404.
4057
+ - An optional `color` (#RRGGBB) recolors the image: black pixels become the color, white becomes transparent.
4058
+ - Required OAuth scope: repository.Read
4059
+ * @param args.color (optional)
4060
+ * @param args.select (optional) Limits the properties returned in the result.
4061
+ * @returns Successfully returned the stamp image as a PNG.
4062
+ */
4063
+ getStampImage(args: {
4064
+ repositoryId: string;
4065
+ stampId: number;
4066
+ color?: string | null | undefined;
4067
+ select?: string | null | undefined;
4068
+ }): Promise<FileResponse>;
4069
+ }
4070
+ export declare class StampsClient implements IStampsClient {
4071
+ private http;
4072
+ private baseUrl;
4073
+ protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
4074
+ constructor(baseUrl?: string, http?: {
4075
+ fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
4076
+ });
4077
+ /**
4078
+ * - Use `scope` to select public, personal, or all stamps. The image bytes are not included; fetch them from the stamp's Image sub-resource.
4079
+ - Required OAuth scope: repository.Read
4080
+ * @param args.scope (optional)
4081
+ * @param args.select (optional) Limits the properties returned in the result.
4082
+ * @param args.orderby (optional) Specifies the order in which items are returned. The maximum number of expressions is 5.
4083
+ * @param args.count (optional) Indicates whether the total count of items within a collection are returned in the result.
4084
+ * @returns Successfully returned the repository's stamps.
4085
+ */
4086
+ listStamps(args: {
4087
+ repositoryId: string;
4088
+ scope?: StampScope | undefined;
4089
+ select?: string | null | undefined;
4090
+ orderby?: string | null | undefined;
4091
+ count?: boolean | undefined;
4092
+ }): Promise<Stamp[]>;
4093
+ protected processListStamps(response: Response): Promise<Stamp[]>;
4094
+ /**
4095
+ * - Send the image as multipart/form-data under the form field "file", with "name" and "isPublic" form fields. The service converts the image to the repository's internal format.
4096
+ - Creating a public stamp requires the stamp-management privilege; personal stamps require no special privilege.
4097
+ - Required OAuth scope: repository.Write
4098
+ * @param args.name (optional)
4099
+ * @param args.isPublic (optional)
4100
+ * @param args.file (optional) The image file to upload. See https://doc.laserfiche.com/ for supported image file formats.
4101
+ * @returns Successfully created the stamp. Returned the created stamp.
4102
+ */
4103
+ createStamp(args: {
4104
+ repositoryId: string;
4105
+ name?: string | null | undefined;
4106
+ isPublic?: boolean | undefined;
4107
+ file?: FileParameter | undefined;
4108
+ }): Promise<Stamp>;
4109
+ protected processCreateStamp(response: Response): Promise<Stamp>;
4110
+ /**
4111
+ * - Required OAuth scope: repository.Read
4112
+ * @param args.select (optional) Limits the properties returned in the result.
4113
+ * @returns Successfully returned the stamp's metadata.
4114
+ */
4115
+ getStamp(args: {
4116
+ repositoryId: string;
4117
+ stampId: number;
4118
+ select?: string | null | undefined;
4119
+ }): Promise<Stamp>;
4120
+ protected processGetStamp(response: Response): Promise<Stamp>;
4121
+ /**
4122
+ * - Managing a public stamp requires the stamp-management privilege.
4123
+ - Required OAuth scope: repository.Write
4124
+ * @returns Successfully updated the stamp. Returned the updated stamp.
4125
+ */
4126
+ updateStamp(args: {
4127
+ repositoryId: string;
4128
+ stampId: number;
4129
+ request: UpdateStampRequest;
4130
+ }): Promise<Stamp>;
4131
+ protected processUpdateStamp(response: Response): Promise<Stamp>;
4132
+ /**
4133
+ * - Deleting a public stamp requires the stamp-management privilege.
4134
+ - Required OAuth scope: repository.Write
4135
+ * @returns Successfully deleted the stamp.
4136
+ */
4137
+ deleteStamp(args: {
4138
+ repositoryId: string;
4139
+ stampId: number;
4140
+ }): Promise<void>;
4141
+ protected processDeleteStamp(response: Response): Promise<void>;
4142
+ /**
4143
+ * - Only public (common) stamps are returned. Personal stamps are not served by this endpoint and return 404.
4144
+ - An optional `color` (#RRGGBB) recolors the image: black pixels become the color, white becomes transparent.
4145
+ - Required OAuth scope: repository.Read
4146
+ * @param args.color (optional)
4147
+ * @param args.select (optional) Limits the properties returned in the result.
4148
+ * @returns Successfully returned the stamp image as a PNG.
4149
+ */
4150
+ getStampImage(args: {
4151
+ repositoryId: string;
4152
+ stampId: number;
4153
+ color?: string | null | undefined;
4154
+ select?: string | null | undefined;
4155
+ }): Promise<FileResponse>;
4156
+ protected processGetStampImage(response: Response): Promise<FileResponse>;
4157
+ }
2919
4158
  export interface ITagDefinitionsClient {
2920
4159
  /**
2921
4160
  * - Returns all tag definitions in the repository.
@@ -3781,51 +5020,1190 @@ export declare class TemplateDefinitionsClient implements ITemplateDefinitionsCl
3781
5020
  }): Promise<void>;
3782
5021
  protected processMoveTemplateField(response: Response): Promise<void>;
3783
5022
  }
3784
- /** Response containing a collection of Attribute. */
3785
- export declare class AttributeCollectionResponse implements IAttributeCollectionResponse {
3786
- /** A URL to retrieve the next page of the requested collection. */
3787
- odataNextLink?: string | undefined;
3788
- /** The total count of items within a collection. */
3789
- odataCount?: number | undefined;
3790
- value?: Attribute[] | undefined;
3791
- constructor(data?: IAttributeCollectionResponse);
3792
- init(_data?: any): void;
3793
- static fromJS(data: any): AttributeCollectionResponse;
3794
- toJSON(data?: any): any;
3795
- }
3796
- /** Response containing a collection of Attribute. */
3797
- export interface IAttributeCollectionResponse {
3798
- /** A URL to retrieve the next page of the requested collection. */
3799
- odataNextLink?: string | undefined;
3800
- /** The total count of items within a collection. */
3801
- odataCount?: number | undefined;
3802
- value?: Attribute[] | undefined;
3803
- }
3804
- /** Represents a trustee attribute. */
3805
- export declare class Attribute implements IAttribute {
3806
- /** The attribute key. */
3807
- key?: string | undefined;
3808
- /** The attribute value. */
3809
- value?: string | undefined;
3810
- constructor(data?: IAttribute);
3811
- init(_data?: any): void;
3812
- static fromJS(data: any): Attribute;
3813
- toJSON(data?: any): any;
3814
- }
3815
- /** Represents a trustee attribute. */
3816
- export interface IAttribute {
3817
- /** The attribute key. */
3818
- key?: string | undefined;
3819
- /** The attribute value. */
3820
- value?: string | undefined;
3821
- }
3822
- /** A machine-readable format for specifying errors in HTTP API responses, per RFC 9457 (https://www.rfc-editor.org/rfc/rfc9457). Supersedes RFC 7807. */
3823
- export declare class ProblemDetails implements IProblemDetails {
3824
- /** The problem type. */
3825
- type?: string | undefined;
3826
- /** A short, human-readable summary of the problem type. */
3827
- title?: string | undefined;
3828
- /** The HTTP status code. */
5023
+ export interface IUserAreasClient {
5024
+ /**
5025
+ * - Returns the documents in the authenticated user's Recent Documents list, most-recently-accessed first.
5026
+ - The list is per-user and maintained by the Laserfiche apps; this endpoint is read-only and reflects the persisted recent-documents area, so it may briefly lag an app's in-memory recent view.
5027
+ - If the user has no recent documents, an empty collection is returned.
5028
+ - Required OAuth scope: repository.Read
5029
+ * @param args.repositoryId The requested repository ID.
5030
+ * @param args.documentLimit (optional) An optional maximum number of recent documents to return. When omitted, all entries in the user's recent-documents list are returned. A value of 0 returns an empty list; negative values are rejected.
5031
+ * @returns Successfully returned the user's recently accessed documents.
5032
+ */
5033
+ getRecentDocuments(args: {
5034
+ repositoryId: string;
5035
+ documentLimit?: number | null | undefined;
5036
+ }): Promise<UserAreaEntry[]>;
5037
+ /**
5038
+ * - Returns the folders in the authenticated user's Recent Folders list, most-recently-accessed first.
5039
+ - The list is per-user and maintained by the Laserfiche apps; this endpoint is read-only.
5040
+ - If the user has no recent folders, an empty collection is returned.
5041
+ - Required OAuth scope: repository.Read
5042
+ * @param args.repositoryId The requested repository ID.
5043
+ * @returns Successfully returned the user's recently accessed folders.
5044
+ */
5045
+ getRecentFolders(args: {
5046
+ repositoryId: string;
5047
+ }): Promise<UserAreaEntry[]>;
5048
+ /**
5049
+ * - Returns the entries in the authenticated user's Starred list.
5050
+ - The list is per-user; if the user has starred nothing, an empty collection is returned.
5051
+ - Required OAuth scope: repository.Read
5052
+ * @param args.repositoryId The requested repository ID.
5053
+ * @returns Successfully returned the user's starred entries.
5054
+ */
5055
+ getStarredEntries(args: {
5056
+ repositoryId: string;
5057
+ }): Promise<UserAreaEntry[]>;
5058
+ /**
5059
+ * - Adds the supplied entries to the authenticated user's Starred list and returns the updated list.
5060
+ - Creates the user's Starred area on first use.
5061
+ - Required OAuth scope: repository.Write
5062
+ * @param args.repositoryId The requested repository ID.
5063
+ * @param args.request The entry IDs to star. Already-starred entries are left unchanged (idempotent).
5064
+ * @returns Successfully starred the requested entries. Returns the updated list of starred entries.
5065
+ */
5066
+ starEntries(args: {
5067
+ repositoryId: string;
5068
+ request: StarEntriesRequest;
5069
+ }): Promise<UserAreaEntry[]>;
5070
+ /**
5071
+ * - Removes the supplied entries from the authenticated user's Starred list and returns the updated list.
5072
+ - Required OAuth scope: repository.Write
5073
+ * @param args.repositoryId The requested repository ID.
5074
+ * @param args.request The entry IDs to unstar. Entries that are not starred are ignored (idempotent).
5075
+ * @returns Successfully unstarred the requested entries. Returns the updated list of starred entries.
5076
+ */
5077
+ unstarEntries(args: {
5078
+ repositoryId: string;
5079
+ request: StarEntriesRequest;
5080
+ }): Promise<UserAreaEntry[]>;
5081
+ /**
5082
+ * - Returns the authenticated user's personal collections, each with its display name and member entry IDs.
5083
+ - Required OAuth scope: repository.Read
5084
+ * @param args.repositoryId The requested repository ID.
5085
+ * @returns Successfully returned the user's personal collections.
5086
+ */
5087
+ getPersonalCollections(args: {
5088
+ repositoryId: string;
5089
+ }): Promise<PersonalCollection[]>;
5090
+ /**
5091
+ * - Creates a personal collection with the supplied display name. Names must be unique (case-insensitive),
5092
+ fewer than 256 characters, and must not use a reserved name. A user may have at most 50 collections.
5093
+ - Required OAuth scope: repository.Write
5094
+ * @param args.repositoryId The requested repository ID.
5095
+ * @param args.request The new collection's display name.
5096
+ * @returns Successfully created the personal collection.
5097
+ */
5098
+ createPersonalCollection(args: {
5099
+ repositoryId: string;
5100
+ request: CreatePersonalCollectionRequest;
5101
+ }): Promise<PersonalCollection>;
5102
+ /**
5103
+ * - Returns the requested personal collection with its display name and member entry IDs.
5104
+ - Required OAuth scope: repository.Read
5105
+ * @param args.repositoryId The requested repository ID.
5106
+ * @param args.collectionId The ID of the personal collection.
5107
+ * @param args.select (optional) Limits the properties returned in the result.
5108
+ * @returns Successfully returned the requested personal collection.
5109
+ */
5110
+ getPersonalCollection(args: {
5111
+ repositoryId: string;
5112
+ collectionId: string;
5113
+ select?: string | null | undefined;
5114
+ }): Promise<PersonalCollection>;
5115
+ /**
5116
+ * - Changes the collection's display name (the collection ID is unchanged). Same name constraints as creation.
5117
+ - Required OAuth scope: repository.Write
5118
+ * @param args.repositoryId The requested repository ID.
5119
+ * @param args.collectionId The ID of the personal collection to rename.
5120
+ * @param args.request The new display name.
5121
+ * @returns Successfully renamed the personal collection.
5122
+ */
5123
+ renamePersonalCollection(args: {
5124
+ repositoryId: string;
5125
+ collectionId: string;
5126
+ request: RenamePersonalCollectionRequest;
5127
+ }): Promise<PersonalCollection>;
5128
+ /**
5129
+ * - Deletes the collection. Idempotent — deleting a non-existent collection succeeds.
5130
+ - Required OAuth scope: repository.Write
5131
+ * @param args.repositoryId The requested repository ID.
5132
+ * @param args.collectionId The ID of the personal collection to delete.
5133
+ * @returns Successfully deleted the personal collection.
5134
+ */
5135
+ deletePersonalCollection(args: {
5136
+ repositoryId: string;
5137
+ collectionId: string;
5138
+ }): Promise<void>;
5139
+ /**
5140
+ * - Adds the supplied entries to the collection and returns the updated collection. Idempotent for entries already present.
5141
+ - Required OAuth scope: repository.Write
5142
+ * @param args.repositoryId The requested repository ID.
5143
+ * @param args.collectionId The ID of the personal collection.
5144
+ * @param args.request The entry IDs to add.
5145
+ * @returns Successfully added the entries to the personal collection. Returns the updated collection.
5146
+ */
5147
+ addCollectionEntries(args: {
5148
+ repositoryId: string;
5149
+ collectionId: string;
5150
+ request: EntryIdsRequest;
5151
+ }): Promise<PersonalCollection>;
5152
+ /**
5153
+ * - Removes the supplied entries from the collection and returns the updated collection. Idempotent for entries not present.
5154
+ - Required OAuth scope: repository.Write
5155
+ * @param args.repositoryId The requested repository ID.
5156
+ * @param args.collectionId The ID of the personal collection.
5157
+ * @param args.request The entry IDs to remove.
5158
+ * @returns Successfully removed the entries from the personal collection. Returns the updated collection.
5159
+ */
5160
+ removeCollectionEntries(args: {
5161
+ repositoryId: string;
5162
+ collectionId: string;
5163
+ request: EntryIdsRequest;
5164
+ }): Promise<PersonalCollection>;
5165
+ /**
5166
+ * - Returns the caller's generic user areas. Application-managed areas (Personal Collections, Starred,
5167
+ Recent) are excluded from this surface.
5168
+ - Required OAuth scope: repository.Read
5169
+ * @param args.repositoryId The requested repository ID.
5170
+ * @returns Successfully returned the user's user areas.
5171
+ */
5172
+ getUserAreas(args: {
5173
+ repositoryId: string;
5174
+ }): Promise<UserArea[]>;
5175
+ /**
5176
+ * - Creates a user area owned by the caller. Names reserved for application-managed areas are rejected.
5177
+ - Required OAuth scope: repository.Write
5178
+ * @param args.repositoryId The requested repository ID.
5179
+ * @param args.request The new user area's name and optional comment/data.
5180
+ * @returns Successfully created the user area.
5181
+ */
5182
+ createUserArea(args: {
5183
+ repositoryId: string;
5184
+ request: CreateUserAreaRequest;
5185
+ }): Promise<UserArea>;
5186
+ /**
5187
+ * - Returns the requested user area. Application-managed areas are not accessible through this surface (404).
5188
+ - Required OAuth scope: repository.Read
5189
+ * @param args.repositoryId The requested repository ID.
5190
+ * @param args.areaId The ID of the user area.
5191
+ * @param args.select (optional) Limits the properties returned in the result.
5192
+ * @returns Successfully returned the requested user area.
5193
+ */
5194
+ getUserArea(args: {
5195
+ repositoryId: string;
5196
+ areaId: number;
5197
+ select?: string | null | undefined;
5198
+ }): Promise<UserArea>;
5199
+ /**
5200
+ * - Updates the name, comment, and/or data of the user area. A renamed area cannot take a reserved name.
5201
+ - Required OAuth scope: repository.Write
5202
+ * @param args.repositoryId The requested repository ID.
5203
+ * @param args.areaId The ID of the user area to update.
5204
+ * @param args.request The properties to change. Null properties are left unchanged.
5205
+ * @returns Successfully updated the user area.
5206
+ */
5207
+ updateUserArea(args: {
5208
+ repositoryId: string;
5209
+ areaId: number;
5210
+ request: UpdateUserAreaRequest;
5211
+ }): Promise<UserArea>;
5212
+ /**
5213
+ * - Deletes the user area. Application-managed areas cannot be deleted through this surface (404).
5214
+ - Required OAuth scope: repository.Write
5215
+ * @param args.repositoryId The requested repository ID.
5216
+ * @param args.areaId The ID of the user area to delete.
5217
+ * @returns Successfully deleted the user area.
5218
+ */
5219
+ deleteUserArea(args: {
5220
+ repositoryId: string;
5221
+ areaId: number;
5222
+ }): Promise<void>;
5223
+ /**
5224
+ * - Returns the entries contained in the user area.
5225
+ - Required OAuth scope: repository.Read
5226
+ * @param args.repositoryId The requested repository ID.
5227
+ * @param args.areaId The ID of the user area.
5228
+ * @returns Successfully returned the user area's entries.
5229
+ */
5230
+ getUserAreaEntries(args: {
5231
+ repositoryId: string;
5232
+ areaId: number;
5233
+ }): Promise<UserAreaEntry[]>;
5234
+ /**
5235
+ * - Adds the supplied entries to the user area and returns the updated entries. Idempotent for entries already present.
5236
+ - Required OAuth scope: repository.Write
5237
+ * @param args.repositoryId The requested repository ID.
5238
+ * @param args.areaId The ID of the user area.
5239
+ * @param args.request The entry IDs to add.
5240
+ * @returns Successfully added the entries to the user area. Returns the updated entries.
5241
+ */
5242
+ addUserAreaEntries(args: {
5243
+ repositoryId: string;
5244
+ areaId: number;
5245
+ request: EntryIdsRequest;
5246
+ }): Promise<UserAreaEntry[]>;
5247
+ /**
5248
+ * - Removes the supplied entries from the user area and returns the updated entries. Idempotent for entries not present.
5249
+ - Required OAuth scope: repository.Write
5250
+ * @param args.repositoryId The requested repository ID.
5251
+ * @param args.areaId The ID of the user area.
5252
+ * @param args.request The entry IDs to remove.
5253
+ * @returns Successfully removed the entries from the user area. Returns the updated entries.
5254
+ */
5255
+ removeUserAreaEntries(args: {
5256
+ repositoryId: string;
5257
+ areaId: number;
5258
+ request: EntryIdsRequest;
5259
+ }): Promise<UserAreaEntry[]>;
5260
+ }
5261
+ export declare class UserAreasClient implements IUserAreasClient {
5262
+ private http;
5263
+ private baseUrl;
5264
+ protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
5265
+ constructor(baseUrl?: string, http?: {
5266
+ fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
5267
+ });
5268
+ /**
5269
+ * - Returns the documents in the authenticated user's Recent Documents list, most-recently-accessed first.
5270
+ - The list is per-user and maintained by the Laserfiche apps; this endpoint is read-only and reflects the persisted recent-documents area, so it may briefly lag an app's in-memory recent view.
5271
+ - If the user has no recent documents, an empty collection is returned.
5272
+ - Required OAuth scope: repository.Read
5273
+ * @param args.repositoryId The requested repository ID.
5274
+ * @param args.documentLimit (optional) An optional maximum number of recent documents to return. When omitted, all entries in the user's recent-documents list are returned. A value of 0 returns an empty list; negative values are rejected.
5275
+ * @returns Successfully returned the user's recently accessed documents.
5276
+ */
5277
+ getRecentDocuments(args: {
5278
+ repositoryId: string;
5279
+ documentLimit?: number | null | undefined;
5280
+ }): Promise<UserAreaEntry[]>;
5281
+ protected processGetRecentDocuments(response: Response): Promise<UserAreaEntry[]>;
5282
+ /**
5283
+ * - Returns the folders in the authenticated user's Recent Folders list, most-recently-accessed first.
5284
+ - The list is per-user and maintained by the Laserfiche apps; this endpoint is read-only.
5285
+ - If the user has no recent folders, an empty collection is returned.
5286
+ - Required OAuth scope: repository.Read
5287
+ * @param args.repositoryId The requested repository ID.
5288
+ * @returns Successfully returned the user's recently accessed folders.
5289
+ */
5290
+ getRecentFolders(args: {
5291
+ repositoryId: string;
5292
+ }): Promise<UserAreaEntry[]>;
5293
+ protected processGetRecentFolders(response: Response): Promise<UserAreaEntry[]>;
5294
+ /**
5295
+ * - Returns the entries in the authenticated user's Starred list.
5296
+ - The list is per-user; if the user has starred nothing, an empty collection is returned.
5297
+ - Required OAuth scope: repository.Read
5298
+ * @param args.repositoryId The requested repository ID.
5299
+ * @returns Successfully returned the user's starred entries.
5300
+ */
5301
+ getStarredEntries(args: {
5302
+ repositoryId: string;
5303
+ }): Promise<UserAreaEntry[]>;
5304
+ protected processGetStarredEntries(response: Response): Promise<UserAreaEntry[]>;
5305
+ /**
5306
+ * - Adds the supplied entries to the authenticated user's Starred list and returns the updated list.
5307
+ - Creates the user's Starred area on first use.
5308
+ - Required OAuth scope: repository.Write
5309
+ * @param args.repositoryId The requested repository ID.
5310
+ * @param args.request The entry IDs to star. Already-starred entries are left unchanged (idempotent).
5311
+ * @returns Successfully starred the requested entries. Returns the updated list of starred entries.
5312
+ */
5313
+ starEntries(args: {
5314
+ repositoryId: string;
5315
+ request: StarEntriesRequest;
5316
+ }): Promise<UserAreaEntry[]>;
5317
+ protected processStarEntries(response: Response): Promise<UserAreaEntry[]>;
5318
+ /**
5319
+ * - Removes the supplied entries from the authenticated user's Starred list and returns the updated list.
5320
+ - Required OAuth scope: repository.Write
5321
+ * @param args.repositoryId The requested repository ID.
5322
+ * @param args.request The entry IDs to unstar. Entries that are not starred are ignored (idempotent).
5323
+ * @returns Successfully unstarred the requested entries. Returns the updated list of starred entries.
5324
+ */
5325
+ unstarEntries(args: {
5326
+ repositoryId: string;
5327
+ request: StarEntriesRequest;
5328
+ }): Promise<UserAreaEntry[]>;
5329
+ protected processUnstarEntries(response: Response): Promise<UserAreaEntry[]>;
5330
+ /**
5331
+ * - Returns the authenticated user's personal collections, each with its display name and member entry IDs.
5332
+ - Required OAuth scope: repository.Read
5333
+ * @param args.repositoryId The requested repository ID.
5334
+ * @returns Successfully returned the user's personal collections.
5335
+ */
5336
+ getPersonalCollections(args: {
5337
+ repositoryId: string;
5338
+ }): Promise<PersonalCollection[]>;
5339
+ protected processGetPersonalCollections(response: Response): Promise<PersonalCollection[]>;
5340
+ /**
5341
+ * - Creates a personal collection with the supplied display name. Names must be unique (case-insensitive),
5342
+ fewer than 256 characters, and must not use a reserved name. A user may have at most 50 collections.
5343
+ - Required OAuth scope: repository.Write
5344
+ * @param args.repositoryId The requested repository ID.
5345
+ * @param args.request The new collection's display name.
5346
+ * @returns Successfully created the personal collection.
5347
+ */
5348
+ createPersonalCollection(args: {
5349
+ repositoryId: string;
5350
+ request: CreatePersonalCollectionRequest;
5351
+ }): Promise<PersonalCollection>;
5352
+ protected processCreatePersonalCollection(response: Response): Promise<PersonalCollection>;
5353
+ /**
5354
+ * - Returns the requested personal collection with its display name and member entry IDs.
5355
+ - Required OAuth scope: repository.Read
5356
+ * @param args.repositoryId The requested repository ID.
5357
+ * @param args.collectionId The ID of the personal collection.
5358
+ * @param args.select (optional) Limits the properties returned in the result.
5359
+ * @returns Successfully returned the requested personal collection.
5360
+ */
5361
+ getPersonalCollection(args: {
5362
+ repositoryId: string;
5363
+ collectionId: string;
5364
+ select?: string | null | undefined;
5365
+ }): Promise<PersonalCollection>;
5366
+ protected processGetPersonalCollection(response: Response): Promise<PersonalCollection>;
5367
+ /**
5368
+ * - Changes the collection's display name (the collection ID is unchanged). Same name constraints as creation.
5369
+ - Required OAuth scope: repository.Write
5370
+ * @param args.repositoryId The requested repository ID.
5371
+ * @param args.collectionId The ID of the personal collection to rename.
5372
+ * @param args.request The new display name.
5373
+ * @returns Successfully renamed the personal collection.
5374
+ */
5375
+ renamePersonalCollection(args: {
5376
+ repositoryId: string;
5377
+ collectionId: string;
5378
+ request: RenamePersonalCollectionRequest;
5379
+ }): Promise<PersonalCollection>;
5380
+ protected processRenamePersonalCollection(response: Response): Promise<PersonalCollection>;
5381
+ /**
5382
+ * - Deletes the collection. Idempotent — deleting a non-existent collection succeeds.
5383
+ - Required OAuth scope: repository.Write
5384
+ * @param args.repositoryId The requested repository ID.
5385
+ * @param args.collectionId The ID of the personal collection to delete.
5386
+ * @returns Successfully deleted the personal collection.
5387
+ */
5388
+ deletePersonalCollection(args: {
5389
+ repositoryId: string;
5390
+ collectionId: string;
5391
+ }): Promise<void>;
5392
+ protected processDeletePersonalCollection(response: Response): Promise<void>;
5393
+ /**
5394
+ * - Adds the supplied entries to the collection and returns the updated collection. Idempotent for entries already present.
5395
+ - Required OAuth scope: repository.Write
5396
+ * @param args.repositoryId The requested repository ID.
5397
+ * @param args.collectionId The ID of the personal collection.
5398
+ * @param args.request The entry IDs to add.
5399
+ * @returns Successfully added the entries to the personal collection. Returns the updated collection.
5400
+ */
5401
+ addCollectionEntries(args: {
5402
+ repositoryId: string;
5403
+ collectionId: string;
5404
+ request: EntryIdsRequest;
5405
+ }): Promise<PersonalCollection>;
5406
+ protected processAddCollectionEntries(response: Response): Promise<PersonalCollection>;
5407
+ /**
5408
+ * - Removes the supplied entries from the collection and returns the updated collection. Idempotent for entries not present.
5409
+ - Required OAuth scope: repository.Write
5410
+ * @param args.repositoryId The requested repository ID.
5411
+ * @param args.collectionId The ID of the personal collection.
5412
+ * @param args.request The entry IDs to remove.
5413
+ * @returns Successfully removed the entries from the personal collection. Returns the updated collection.
5414
+ */
5415
+ removeCollectionEntries(args: {
5416
+ repositoryId: string;
5417
+ collectionId: string;
5418
+ request: EntryIdsRequest;
5419
+ }): Promise<PersonalCollection>;
5420
+ protected processRemoveCollectionEntries(response: Response): Promise<PersonalCollection>;
5421
+ /**
5422
+ * - Returns the caller's generic user areas. Application-managed areas (Personal Collections, Starred,
5423
+ Recent) are excluded from this surface.
5424
+ - Required OAuth scope: repository.Read
5425
+ * @param args.repositoryId The requested repository ID.
5426
+ * @returns Successfully returned the user's user areas.
5427
+ */
5428
+ getUserAreas(args: {
5429
+ repositoryId: string;
5430
+ }): Promise<UserArea[]>;
5431
+ protected processGetUserAreas(response: Response): Promise<UserArea[]>;
5432
+ /**
5433
+ * - Creates a user area owned by the caller. Names reserved for application-managed areas are rejected.
5434
+ - Required OAuth scope: repository.Write
5435
+ * @param args.repositoryId The requested repository ID.
5436
+ * @param args.request The new user area's name and optional comment/data.
5437
+ * @returns Successfully created the user area.
5438
+ */
5439
+ createUserArea(args: {
5440
+ repositoryId: string;
5441
+ request: CreateUserAreaRequest;
5442
+ }): Promise<UserArea>;
5443
+ protected processCreateUserArea(response: Response): Promise<UserArea>;
5444
+ /**
5445
+ * - Returns the requested user area. Application-managed areas are not accessible through this surface (404).
5446
+ - Required OAuth scope: repository.Read
5447
+ * @param args.repositoryId The requested repository ID.
5448
+ * @param args.areaId The ID of the user area.
5449
+ * @param args.select (optional) Limits the properties returned in the result.
5450
+ * @returns Successfully returned the requested user area.
5451
+ */
5452
+ getUserArea(args: {
5453
+ repositoryId: string;
5454
+ areaId: number;
5455
+ select?: string | null | undefined;
5456
+ }): Promise<UserArea>;
5457
+ protected processGetUserArea(response: Response): Promise<UserArea>;
5458
+ /**
5459
+ * - Updates the name, comment, and/or data of the user area. A renamed area cannot take a reserved name.
5460
+ - Required OAuth scope: repository.Write
5461
+ * @param args.repositoryId The requested repository ID.
5462
+ * @param args.areaId The ID of the user area to update.
5463
+ * @param args.request The properties to change. Null properties are left unchanged.
5464
+ * @returns Successfully updated the user area.
5465
+ */
5466
+ updateUserArea(args: {
5467
+ repositoryId: string;
5468
+ areaId: number;
5469
+ request: UpdateUserAreaRequest;
5470
+ }): Promise<UserArea>;
5471
+ protected processUpdateUserArea(response: Response): Promise<UserArea>;
5472
+ /**
5473
+ * - Deletes the user area. Application-managed areas cannot be deleted through this surface (404).
5474
+ - Required OAuth scope: repository.Write
5475
+ * @param args.repositoryId The requested repository ID.
5476
+ * @param args.areaId The ID of the user area to delete.
5477
+ * @returns Successfully deleted the user area.
5478
+ */
5479
+ deleteUserArea(args: {
5480
+ repositoryId: string;
5481
+ areaId: number;
5482
+ }): Promise<void>;
5483
+ protected processDeleteUserArea(response: Response): Promise<void>;
5484
+ /**
5485
+ * - Returns the entries contained in the user area.
5486
+ - Required OAuth scope: repository.Read
5487
+ * @param args.repositoryId The requested repository ID.
5488
+ * @param args.areaId The ID of the user area.
5489
+ * @returns Successfully returned the user area's entries.
5490
+ */
5491
+ getUserAreaEntries(args: {
5492
+ repositoryId: string;
5493
+ areaId: number;
5494
+ }): Promise<UserAreaEntry[]>;
5495
+ protected processGetUserAreaEntries(response: Response): Promise<UserAreaEntry[]>;
5496
+ /**
5497
+ * - Adds the supplied entries to the user area and returns the updated entries. Idempotent for entries already present.
5498
+ - Required OAuth scope: repository.Write
5499
+ * @param args.repositoryId The requested repository ID.
5500
+ * @param args.areaId The ID of the user area.
5501
+ * @param args.request The entry IDs to add.
5502
+ * @returns Successfully added the entries to the user area. Returns the updated entries.
5503
+ */
5504
+ addUserAreaEntries(args: {
5505
+ repositoryId: string;
5506
+ areaId: number;
5507
+ request: EntryIdsRequest;
5508
+ }): Promise<UserAreaEntry[]>;
5509
+ protected processAddUserAreaEntries(response: Response): Promise<UserAreaEntry[]>;
5510
+ /**
5511
+ * - Removes the supplied entries from the user area and returns the updated entries. Idempotent for entries not present.
5512
+ - Required OAuth scope: repository.Write
5513
+ * @param args.repositoryId The requested repository ID.
5514
+ * @param args.areaId The ID of the user area.
5515
+ * @param args.request The entry IDs to remove.
5516
+ * @returns Successfully removed the entries from the user area. Returns the updated entries.
5517
+ */
5518
+ removeUserAreaEntries(args: {
5519
+ repositoryId: string;
5520
+ areaId: number;
5521
+ request: EntryIdsRequest;
5522
+ }): Promise<UserAreaEntry[]>;
5523
+ protected processRemoveUserAreaEntries(response: Response): Promise<UserAreaEntry[]>;
5524
+ }
5525
+ export declare abstract class Annotation implements IAnnotation {
5526
+ /** The identifier of the annotation, unique within its page. */
5527
+ itemId?: number;
5528
+ /** The ID of the document entry the annotation belongs to. */
5529
+ entryId?: number;
5530
+ /** The 1-based page number the annotation is on. */
5531
+ pageNumber?: number;
5532
+ /** The security identifier (SID) of the user that created the annotation. */
5533
+ creator?: string | undefined;
5534
+ /** The UTC time the annotation was created. */
5535
+ createdTime?: Date;
5536
+ /** The UTC time the annotation was last modified. */
5537
+ lastModifiedTime?: Date;
5538
+ /** A boolean indicating whether the annotation is read-only (for example, on an archived version). */
5539
+ isReadOnly?: boolean;
5540
+ /** A boolean indicating whether the annotation is protected so that only its creator can modify it. */
5541
+ isProtected?: boolean;
5542
+ /** Controls who can see the annotation. */
5543
+ visibility?: AnnotationVisibility;
5544
+ /** An optional comment on the annotation. */
5545
+ comment?: string | undefined;
5546
+ /** Optional application-defined custom data stored with the annotation. */
5547
+ customData?: string | undefined;
5548
+ /** The z-order of the annotation; higher values draw on top. */
5549
+ zOrder?: number;
5550
+ /** The ID of the redaction reason associated with the annotation, if any. */
5551
+ reasonId?: number | undefined;
5552
+ /** How the annotation participates in access control. */
5553
+ accessType?: AnnotationAccessControlType;
5554
+ protected _discriminator: string;
5555
+ constructor(data?: IAnnotation);
5556
+ init(_data?: any): void;
5557
+ static fromJS(data: any): Annotation;
5558
+ toJSON(data?: any): any;
5559
+ }
5560
+ export interface IAnnotation {
5561
+ /** The identifier of the annotation, unique within its page. */
5562
+ itemId?: number;
5563
+ /** The ID of the document entry the annotation belongs to. */
5564
+ entryId?: number;
5565
+ /** The 1-based page number the annotation is on. */
5566
+ pageNumber?: number;
5567
+ /** The security identifier (SID) of the user that created the annotation. */
5568
+ creator?: string | undefined;
5569
+ /** The UTC time the annotation was created. */
5570
+ createdTime?: Date;
5571
+ /** The UTC time the annotation was last modified. */
5572
+ lastModifiedTime?: Date;
5573
+ /** A boolean indicating whether the annotation is read-only (for example, on an archived version). */
5574
+ isReadOnly?: boolean;
5575
+ /** A boolean indicating whether the annotation is protected so that only its creator can modify it. */
5576
+ isProtected?: boolean;
5577
+ /** Controls who can see the annotation. */
5578
+ visibility?: AnnotationVisibility;
5579
+ /** An optional comment on the annotation. */
5580
+ comment?: string | undefined;
5581
+ /** Optional application-defined custom data stored with the annotation. */
5582
+ customData?: string | undefined;
5583
+ /** The z-order of the annotation; higher values draw on top. */
5584
+ zOrder?: number;
5585
+ /** The ID of the redaction reason associated with the annotation, if any. */
5586
+ reasonId?: number | undefined;
5587
+ /** How the annotation participates in access control. */
5588
+ accessType?: AnnotationAccessControlType;
5589
+ }
5590
+ /** The kind of a document annotation. Used as the discriminator for the polymorphic Annotation response. */
5591
+ export declare enum AnnotationType {
5592
+ Highlight = "Highlight",
5593
+ Redaction = "Redaction",
5594
+ Strikeout = "Strikeout",
5595
+ Underline = "Underline",
5596
+ Note = "Note",
5597
+ Attachment = "Attachment",
5598
+ TextBox = "TextBox",
5599
+ Bitmap = "Bitmap",
5600
+ Line = "Line",
5601
+ Rectangle = "Rectangle",
5602
+ Polyline = "Polyline",
5603
+ Callout = "Callout",
5604
+ Stamp = "Stamp",
5605
+ FreeHand = "FreeHand"
5606
+ }
5607
+ /** Controls who can see an annotation. */
5608
+ export declare enum AnnotationVisibility {
5609
+ CreatorAndOwner = "CreatorAndOwner",
5610
+ Standard = "Standard",
5611
+ AllUsers = "AllUsers"
5612
+ }
5613
+ /** How an annotation participates in access control. */
5614
+ export declare enum AnnotationAccessControlType {
5615
+ None = "None",
5616
+ Allow = "Allow",
5617
+ Deny = "Deny"
5618
+ }
5619
+ /** Highlights one or more regions of a page. */
5620
+ export declare class HighlightAnnotation extends Annotation implements IHighlightAnnotation {
5621
+ /** The highlight color as an RGB hex string (for example, "#FFFF00"); null if transparent. */
5622
+ color?: string | undefined;
5623
+ /** The start offset of the linked text span, or -1 when not linked to text. */
5624
+ textStart?: number;
5625
+ /** The end offset of the linked text span, or -1 when not linked to text. */
5626
+ textEnd?: number;
5627
+ /** The rectangular regions covered by the highlight. */
5628
+ rectangles?: AnnotationRectangle[] | undefined;
5629
+ constructor(data?: IHighlightAnnotation);
5630
+ init(_data?: any): void;
5631
+ static fromJS(data: any): HighlightAnnotation;
5632
+ toJSON(data?: any): any;
5633
+ }
5634
+ /** Highlights one or more regions of a page. */
5635
+ export interface IHighlightAnnotation extends IAnnotation {
5636
+ /** The highlight color as an RGB hex string (for example, "#FFFF00"); null if transparent. */
5637
+ color?: string | undefined;
5638
+ /** The start offset of the linked text span, or -1 when not linked to text. */
5639
+ textStart?: number;
5640
+ /** The end offset of the linked text span, or -1 when not linked to text. */
5641
+ textEnd?: number;
5642
+ /** The rectangular regions covered by the highlight. */
5643
+ rectangles?: AnnotationRectangle[] | undefined;
5644
+ }
5645
+ /** A rectangular region on a page, in image pixels from the top-left corner. */
5646
+ export declare class AnnotationRectangle implements IAnnotationRectangle {
5647
+ /** The horizontal offset in pixels of the left edge of the rectangle. */
5648
+ x?: number;
5649
+ /** The vertical offset in pixels of the top edge of the rectangle. */
5650
+ y?: number;
5651
+ /** The width of the rectangle in pixels. */
5652
+ width?: number;
5653
+ /** The height of the rectangle in pixels. */
5654
+ height?: number;
5655
+ constructor(data?: IAnnotationRectangle);
5656
+ init(_data?: any): void;
5657
+ static fromJS(data: any): AnnotationRectangle;
5658
+ toJSON(data?: any): any;
5659
+ }
5660
+ /** A rectangular region on a page, in image pixels from the top-left corner. */
5661
+ export interface IAnnotationRectangle {
5662
+ /** The horizontal offset in pixels of the left edge of the rectangle. */
5663
+ x?: number;
5664
+ /** The vertical offset in pixels of the top edge of the rectangle. */
5665
+ y?: number;
5666
+ /** The width of the rectangle in pixels. */
5667
+ width?: number;
5668
+ /** The height of the rectangle in pixels. */
5669
+ height?: number;
5670
+ }
5671
+ /** Obscures one or more regions of a page. Redactions are overlays; the underlying content is preserved and is only hidden from users without the right to see through redactions. */
5672
+ export declare class RedactionAnnotation extends Annotation implements IRedactionAnnotation {
5673
+ /** A boolean indicating whether the region is whited out (true) rather than blacked out (false). */
5674
+ isWhiteout?: boolean;
5675
+ /** The start offset of the linked text span, or -1 when not linked to text. */
5676
+ textStart?: number;
5677
+ /** The end offset of the linked text span, or -1 when not linked to text. */
5678
+ textEnd?: number;
5679
+ /** The rectangular regions covered by the redaction. */
5680
+ rectangles?: AnnotationRectangle[] | undefined;
5681
+ constructor(data?: IRedactionAnnotation);
5682
+ init(_data?: any): void;
5683
+ static fromJS(data: any): RedactionAnnotation;
5684
+ toJSON(data?: any): any;
5685
+ }
5686
+ /** Obscures one or more regions of a page. Redactions are overlays; the underlying content is preserved and is only hidden from users without the right to see through redactions. */
5687
+ export interface IRedactionAnnotation extends IAnnotation {
5688
+ /** A boolean indicating whether the region is whited out (true) rather than blacked out (false). */
5689
+ isWhiteout?: boolean;
5690
+ /** The start offset of the linked text span, or -1 when not linked to text. */
5691
+ textStart?: number;
5692
+ /** The end offset of the linked text span, or -1 when not linked to text. */
5693
+ textEnd?: number;
5694
+ /** The rectangular regions covered by the redaction. */
5695
+ rectangles?: AnnotationRectangle[] | undefined;
5696
+ }
5697
+ /** Strikes through one or more regions of a page. */
5698
+ export declare class StrikeoutAnnotation extends Annotation implements IStrikeoutAnnotation {
5699
+ /** The strikeout color as an RGB hex string (for example, "#FF0000"); null if transparent. */
5700
+ color?: string | undefined;
5701
+ /** The reading direction of the struck-through text. */
5702
+ direction?: TextDirection;
5703
+ /** The start offset of the linked text span, or -1 when not linked to text. */
5704
+ textStart?: number;
5705
+ /** The end offset of the linked text span, or -1 when not linked to text. */
5706
+ textEnd?: number;
5707
+ /** The rectangular regions covered by the strikeout. */
5708
+ rectangles?: AnnotationRectangle[] | undefined;
5709
+ constructor(data?: IStrikeoutAnnotation);
5710
+ init(_data?: any): void;
5711
+ static fromJS(data: any): StrikeoutAnnotation;
5712
+ toJSON(data?: any): any;
5713
+ }
5714
+ /** Strikes through one or more regions of a page. */
5715
+ export interface IStrikeoutAnnotation extends IAnnotation {
5716
+ /** The strikeout color as an RGB hex string (for example, "#FF0000"); null if transparent. */
5717
+ color?: string | undefined;
5718
+ /** The reading direction of the struck-through text. */
5719
+ direction?: TextDirection;
5720
+ /** The start offset of the linked text span, or -1 when not linked to text. */
5721
+ textStart?: number;
5722
+ /** The end offset of the linked text span, or -1 when not linked to text. */
5723
+ textEnd?: number;
5724
+ /** The rectangular regions covered by the strikeout. */
5725
+ rectangles?: AnnotationRectangle[] | undefined;
5726
+ }
5727
+ /** The reading direction of annotation text. */
5728
+ export declare enum TextDirection {
5729
+ LeftToRight = "LeftToRight",
5730
+ TopToBottom = "TopToBottom",
5731
+ RightToLeft = "RightToLeft",
5732
+ BottomToTop = "BottomToTop"
5733
+ }
5734
+ /** Underlines one or more regions of a page. */
5735
+ export declare class UnderlineAnnotation extends Annotation implements IUnderlineAnnotation {
5736
+ /** The underline color as an RGB hex string (for example, "#FF0000"); null if transparent. */
5737
+ color?: string | undefined;
5738
+ /** The reading direction of the underlined text. */
5739
+ direction?: TextDirection;
5740
+ /** The start offset of the linked text span, or -1 when not linked to text. */
5741
+ textStart?: number;
5742
+ /** The end offset of the linked text span, or -1 when not linked to text. */
5743
+ textEnd?: number;
5744
+ /** The rectangular regions covered by the underline. */
5745
+ rectangles?: AnnotationRectangle[] | undefined;
5746
+ constructor(data?: IUnderlineAnnotation);
5747
+ init(_data?: any): void;
5748
+ static fromJS(data: any): UnderlineAnnotation;
5749
+ toJSON(data?: any): any;
5750
+ }
5751
+ /** Underlines one or more regions of a page. */
5752
+ export interface IUnderlineAnnotation extends IAnnotation {
5753
+ /** The underline color as an RGB hex string (for example, "#FF0000"); null if transparent. */
5754
+ color?: string | undefined;
5755
+ /** The reading direction of the underlined text. */
5756
+ direction?: TextDirection;
5757
+ /** The start offset of the linked text span, or -1 when not linked to text. */
5758
+ textStart?: number;
5759
+ /** The end offset of the linked text span, or -1 when not linked to text. */
5760
+ textEnd?: number;
5761
+ /** The rectangular regions covered by the underline. */
5762
+ rectangles?: AnnotationRectangle[] | undefined;
5763
+ }
5764
+ /** A sticky note placed on a page. */
5765
+ export declare class NoteAnnotation extends Annotation implements INoteAnnotation {
5766
+ /** The top-left position of the note on the page. */
5767
+ position?: AnnotationPoint | undefined;
5768
+ /** The background color of the note as an RGB hex string (for example, "#FFFF00"); null if transparent. */
5769
+ color?: string | undefined;
5770
+ /** The text content of the note. */
5771
+ text?: string | undefined;
5772
+ /** A boolean indicating whether the note keeps a revision history. */
5773
+ keepHistory?: boolean;
5774
+ constructor(data?: INoteAnnotation);
5775
+ init(_data?: any): void;
5776
+ static fromJS(data: any): NoteAnnotation;
5777
+ toJSON(data?: any): any;
5778
+ }
5779
+ /** A sticky note placed on a page. */
5780
+ export interface INoteAnnotation extends IAnnotation {
5781
+ /** The top-left position of the note on the page. */
5782
+ position?: AnnotationPoint | undefined;
5783
+ /** The background color of the note as an RGB hex string (for example, "#FFFF00"); null if transparent. */
5784
+ color?: string | undefined;
5785
+ /** The text content of the note. */
5786
+ text?: string | undefined;
5787
+ /** A boolean indicating whether the note keeps a revision history. */
5788
+ keepHistory?: boolean;
5789
+ }
5790
+ /** A point on a page, in image pixels from the top-left corner. */
5791
+ export declare class AnnotationPoint implements IAnnotationPoint {
5792
+ /** The horizontal offset in pixels from the left edge of the page. */
5793
+ x?: number;
5794
+ /** The vertical offset in pixels from the top edge of the page. */
5795
+ y?: number;
5796
+ constructor(data?: IAnnotationPoint);
5797
+ init(_data?: any): void;
5798
+ static fromJS(data: any): AnnotationPoint;
5799
+ toJSON(data?: any): any;
5800
+ }
5801
+ /** A point on a page, in image pixels from the top-left corner. */
5802
+ export interface IAnnotationPoint {
5803
+ /** The horizontal offset in pixels from the left edge of the page. */
5804
+ x?: number;
5805
+ /** The vertical offset in pixels from the top edge of the page. */
5806
+ y?: number;
5807
+ }
5808
+ /** A file attached to a page. The attached file's bytes are retrieved through the attachment-content endpoint, not in the annotation response. */
5809
+ export declare class AttachmentAnnotation extends Annotation implements IAttachmentAnnotation {
5810
+ /** The top-left position of the attachment icon on the page. */
5811
+ position?: AnnotationPoint | undefined;
5812
+ /** The original file name of the attachment. */
5813
+ fileName?: string | undefined;
5814
+ /** The MIME type of the attached file. */
5815
+ mimeType?: string | undefined;
5816
+ /** The size of the attached file in bytes. */
5817
+ attachmentLength?: number;
5818
+ constructor(data?: IAttachmentAnnotation);
5819
+ init(_data?: any): void;
5820
+ static fromJS(data: any): AttachmentAnnotation;
5821
+ toJSON(data?: any): any;
5822
+ }
5823
+ /** A file attached to a page. The attached file's bytes are retrieved through the attachment-content endpoint, not in the annotation response. */
5824
+ export interface IAttachmentAnnotation extends IAnnotation {
5825
+ /** The top-left position of the attachment icon on the page. */
5826
+ position?: AnnotationPoint | undefined;
5827
+ /** The original file name of the attachment. */
5828
+ fileName?: string | undefined;
5829
+ /** The MIME type of the attached file. */
5830
+ mimeType?: string | undefined;
5831
+ /** The size of the attached file in bytes. */
5832
+ attachmentLength?: number;
5833
+ }
5834
+ /** A bordered text box drawn on a page. */
5835
+ export declare class TextBoxAnnotation extends Annotation implements ITextBoxAnnotation {
5836
+ /** The bounding rectangle of the text box. */
5837
+ coordinates?: AnnotationRectangle | undefined;
5838
+ /** The fill color as an RGB hex string; null if not filled. */
5839
+ fillColor?: string | undefined;
5840
+ /** The border color as an RGB hex string; null if transparent. */
5841
+ borderColor?: string | undefined;
5842
+ /** The border stroke style. */
5843
+ borderStyle?: LineStyle;
5844
+ /** The border thickness in pixels. */
5845
+ borderThickness?: number;
5846
+ /** The opacity of the text box as a percentage (0-100). */
5847
+ opacity?: number;
5848
+ /** The text displayed in the box. */
5849
+ text?: string | undefined;
5850
+ /** The font size of the text in points. */
5851
+ textSize?: number;
5852
+ /** The reading direction of the text. */
5853
+ direction?: TextDirection;
5854
+ constructor(data?: ITextBoxAnnotation);
5855
+ init(_data?: any): void;
5856
+ static fromJS(data: any): TextBoxAnnotation;
5857
+ toJSON(data?: any): any;
5858
+ }
5859
+ /** A bordered text box drawn on a page. */
5860
+ export interface ITextBoxAnnotation extends IAnnotation {
5861
+ /** The bounding rectangle of the text box. */
5862
+ coordinates?: AnnotationRectangle | undefined;
5863
+ /** The fill color as an RGB hex string; null if not filled. */
5864
+ fillColor?: string | undefined;
5865
+ /** The border color as an RGB hex string; null if transparent. */
5866
+ borderColor?: string | undefined;
5867
+ /** The border stroke style. */
5868
+ borderStyle?: LineStyle;
5869
+ /** The border thickness in pixels. */
5870
+ borderThickness?: number;
5871
+ /** The opacity of the text box as a percentage (0-100). */
5872
+ opacity?: number;
5873
+ /** The text displayed in the box. */
5874
+ text?: string | undefined;
5875
+ /** The font size of the text in points. */
5876
+ textSize?: number;
5877
+ /** The reading direction of the text. */
5878
+ direction?: TextDirection;
5879
+ }
5880
+ /** The stroke style of a line or border. */
5881
+ export declare enum LineStyle {
5882
+ Solid = "Solid",
5883
+ Dashed1 = "Dashed1",
5884
+ Dashed2 = "Dashed2",
5885
+ Dashed3 = "Dashed3",
5886
+ Dashed4 = "Dashed4",
5887
+ Dashed5 = "Dashed5",
5888
+ Dashed6 = "Dashed6",
5889
+ Cloud1 = "Cloud1",
5890
+ Cloud2 = "Cloud2"
5891
+ }
5892
+ /** An image placed on a page. The image bytes are not included in the annotation response; they are uploaded and managed separately. */
5893
+ export declare class BitmapAnnotation extends Annotation implements IBitmapAnnotation {
5894
+ /** The top-left position of the image on the page. */
5895
+ position?: AnnotationPoint | undefined;
5896
+ /** The rendered size of the image in pixels. */
5897
+ size?: AnnotationSize | undefined;
5898
+ /** The clockwise rotation of the image in degrees (0-359). */
5899
+ rotation?: number;
5900
+ /** The opacity of the image as a percentage (0-100). */
5901
+ opacity?: number;
5902
+ constructor(data?: IBitmapAnnotation);
5903
+ init(_data?: any): void;
5904
+ static fromJS(data: any): BitmapAnnotation;
5905
+ toJSON(data?: any): any;
5906
+ }
5907
+ /** An image placed on a page. The image bytes are not included in the annotation response; they are uploaded and managed separately. */
5908
+ export interface IBitmapAnnotation extends IAnnotation {
5909
+ /** The top-left position of the image on the page. */
5910
+ position?: AnnotationPoint | undefined;
5911
+ /** The rendered size of the image in pixels. */
5912
+ size?: AnnotationSize | undefined;
5913
+ /** The clockwise rotation of the image in degrees (0-359). */
5914
+ rotation?: number;
5915
+ /** The opacity of the image as a percentage (0-100). */
5916
+ opacity?: number;
5917
+ }
5918
+ /** A size in image pixels. */
5919
+ export declare class AnnotationSize implements IAnnotationSize {
5920
+ /** The width in pixels. */
5921
+ width?: number;
5922
+ /** The height in pixels. */
5923
+ height?: number;
5924
+ constructor(data?: IAnnotationSize);
5925
+ init(_data?: any): void;
5926
+ static fromJS(data: any): AnnotationSize;
5927
+ toJSON(data?: any): any;
5928
+ }
5929
+ /** A size in image pixels. */
5930
+ export interface IAnnotationSize {
5931
+ /** The width in pixels. */
5932
+ width?: number;
5933
+ /** The height in pixels. */
5934
+ height?: number;
5935
+ }
5936
+ /** A straight line or arrow drawn on a page. */
5937
+ export declare class LineAnnotation extends Annotation implements ILineAnnotation {
5938
+ /** The start point of the line. */
5939
+ beginPosition?: AnnotationPoint | undefined;
5940
+ /** The end point of the line. */
5941
+ endPosition?: AnnotationPoint | undefined;
5942
+ /** The cap style at the start of the line. */
5943
+ beginStyle?: LineEndingStyle;
5944
+ /** The cap style at the end of the line. */
5945
+ endStyle?: LineEndingStyle;
5946
+ /** The line stroke style. */
5947
+ lineStyle?: LineStyle;
5948
+ /** The line color as an RGB hex string; null if transparent. */
5949
+ color?: string | undefined;
5950
+ /** The end-cap color as an RGB hex string; null if transparent. */
5951
+ endColor?: string | undefined;
5952
+ /** The line thickness in pixels. */
5953
+ thickness?: number;
5954
+ /** The opacity of the line as a percentage (0-100). */
5955
+ opacity?: number;
5956
+ constructor(data?: ILineAnnotation);
5957
+ init(_data?: any): void;
5958
+ static fromJS(data: any): LineAnnotation;
5959
+ toJSON(data?: any): any;
5960
+ }
5961
+ /** A straight line or arrow drawn on a page. */
5962
+ export interface ILineAnnotation extends IAnnotation {
5963
+ /** The start point of the line. */
5964
+ beginPosition?: AnnotationPoint | undefined;
5965
+ /** The end point of the line. */
5966
+ endPosition?: AnnotationPoint | undefined;
5967
+ /** The cap style at the start of the line. */
5968
+ beginStyle?: LineEndingStyle;
5969
+ /** The cap style at the end of the line. */
5970
+ endStyle?: LineEndingStyle;
5971
+ /** The line stroke style. */
5972
+ lineStyle?: LineStyle;
5973
+ /** The line color as an RGB hex string; null if transparent. */
5974
+ color?: string | undefined;
5975
+ /** The end-cap color as an RGB hex string; null if transparent. */
5976
+ endColor?: string | undefined;
5977
+ /** The line thickness in pixels. */
5978
+ thickness?: number;
5979
+ /** The opacity of the line as a percentage (0-100). */
5980
+ opacity?: number;
5981
+ }
5982
+ /** The cap style at the end of a line. */
5983
+ export declare enum LineEndingStyle {
5984
+ None = "None",
5985
+ Open = "Open",
5986
+ Closed = "Closed",
5987
+ OpenReversed = "OpenReversed",
5988
+ ClosedReversed = "ClosedReversed",
5989
+ Butt = "Butt",
5990
+ Diamond = "Diamond",
5991
+ Round = "Round",
5992
+ Square = "Square",
5993
+ Slash = "Slash"
5994
+ }
5995
+ /** A rectangle, rounded rectangle, or ellipse drawn on a page. */
5996
+ export declare class RectangleAnnotation extends Annotation implements IRectangleAnnotation {
5997
+ /** The bounding rectangle of the shape. */
5998
+ coordinates?: AnnotationRectangle | undefined;
5999
+ /** The fill color as an RGB hex string (for example, "#FF0000"); null if not filled. */
6000
+ fillColor?: string | undefined;
6001
+ /** The shape drawn within the bounding rectangle. */
6002
+ boxStyle?: BoxStyle;
6003
+ /** The border stroke style. */
6004
+ borderStyle?: LineStyle;
6005
+ /** The border color as an RGB hex string; null if transparent. */
6006
+ borderColor?: string | undefined;
6007
+ /** The border thickness in pixels. */
6008
+ borderThickness?: number;
6009
+ /** The opacity of the shape as a percentage (0-100). */
6010
+ opacity?: number;
6011
+ constructor(data?: IRectangleAnnotation);
6012
+ init(_data?: any): void;
6013
+ static fromJS(data: any): RectangleAnnotation;
6014
+ toJSON(data?: any): any;
6015
+ }
6016
+ /** A rectangle, rounded rectangle, or ellipse drawn on a page. */
6017
+ export interface IRectangleAnnotation extends IAnnotation {
6018
+ /** The bounding rectangle of the shape. */
6019
+ coordinates?: AnnotationRectangle | undefined;
6020
+ /** The fill color as an RGB hex string (for example, "#FF0000"); null if not filled. */
6021
+ fillColor?: string | undefined;
6022
+ /** The shape drawn within the bounding rectangle. */
6023
+ boxStyle?: BoxStyle;
6024
+ /** The border stroke style. */
6025
+ borderStyle?: LineStyle;
6026
+ /** The border color as an RGB hex string; null if transparent. */
6027
+ borderColor?: string | undefined;
6028
+ /** The border thickness in pixels. */
6029
+ borderThickness?: number;
6030
+ /** The opacity of the shape as a percentage (0-100). */
6031
+ opacity?: number;
6032
+ }
6033
+ /** The shape of a rectangle annotation. */
6034
+ export declare enum BoxStyle {
6035
+ Rectangle = "Rectangle",
6036
+ Ellipse = "Ellipse",
6037
+ RoundedRectangle = "RoundedRectangle"
6038
+ }
6039
+ /** A closed multi-point polygon drawn on a page. */
6040
+ export declare class PolylineAnnotation extends Annotation implements IPolylineAnnotation {
6041
+ /** The ordered vertices of the polygon. */
6042
+ points?: AnnotationPoint[] | undefined;
6043
+ /** The border stroke style. */
6044
+ lineStyle?: LineStyle;
6045
+ /** The fill color as an RGB hex string; null if not filled. */
6046
+ fillColor?: string | undefined;
6047
+ /** Whether the polygon is filled. */
6048
+ fillStyle?: FillStyle;
6049
+ /** The border color as an RGB hex string; null if transparent. */
6050
+ color?: string | undefined;
6051
+ /** The border thickness in pixels. */
6052
+ thickness?: number;
6053
+ /** The opacity of the polygon as a percentage (0-100). */
6054
+ opacity?: number;
6055
+ constructor(data?: IPolylineAnnotation);
6056
+ init(_data?: any): void;
6057
+ static fromJS(data: any): PolylineAnnotation;
6058
+ toJSON(data?: any): any;
6059
+ }
6060
+ /** A closed multi-point polygon drawn on a page. */
6061
+ export interface IPolylineAnnotation extends IAnnotation {
6062
+ /** The ordered vertices of the polygon. */
6063
+ points?: AnnotationPoint[] | undefined;
6064
+ /** The border stroke style. */
6065
+ lineStyle?: LineStyle;
6066
+ /** The fill color as an RGB hex string; null if not filled. */
6067
+ fillColor?: string | undefined;
6068
+ /** Whether the polygon is filled. */
6069
+ fillStyle?: FillStyle;
6070
+ /** The border color as an RGB hex string; null if transparent. */
6071
+ color?: string | undefined;
6072
+ /** The border thickness in pixels. */
6073
+ thickness?: number;
6074
+ /** The opacity of the polygon as a percentage (0-100). */
6075
+ opacity?: number;
6076
+ }
6077
+ /** Whether a closed shape is filled. */
6078
+ export declare enum FillStyle {
6079
+ None = "None",
6080
+ Solid = "Solid"
6081
+ }
6082
+ /** A text box with a pointer leading to a focus point on the page. */
6083
+ export declare class CalloutAnnotation extends Annotation implements ICalloutAnnotation {
6084
+ /** The bounding rectangle of the callout's text box. */
6085
+ boxCoordinates?: AnnotationRectangle | undefined;
6086
+ /** The point the callout pointer leads to. */
6087
+ focusPosition?: AnnotationPoint | undefined;
6088
+ /** The fill color as an RGB hex string; null if not filled. */
6089
+ fillColor?: string | undefined;
6090
+ /** The border and pointer color as an RGB hex string; null if transparent. */
6091
+ borderColor?: string | undefined;
6092
+ /** The border stroke style. */
6093
+ borderStyle?: LineStyle;
6094
+ /** The border thickness in pixels. */
6095
+ borderThickness?: number;
6096
+ /** The cap style at the focus end of the pointer. */
6097
+ focusStyle?: LineEndingStyle;
6098
+ /** The opacity of the callout as a percentage (0-100). */
6099
+ opacity?: number;
6100
+ /** The font size of the text in points. */
6101
+ textSize?: number;
6102
+ /** The text displayed in the callout. */
6103
+ text?: string | undefined;
6104
+ /** The reading direction of the text. */
6105
+ direction?: TextDirection;
6106
+ constructor(data?: ICalloutAnnotation);
6107
+ init(_data?: any): void;
6108
+ static fromJS(data: any): CalloutAnnotation;
6109
+ toJSON(data?: any): any;
6110
+ }
6111
+ /** A text box with a pointer leading to a focus point on the page. */
6112
+ export interface ICalloutAnnotation extends IAnnotation {
6113
+ /** The bounding rectangle of the callout's text box. */
6114
+ boxCoordinates?: AnnotationRectangle | undefined;
6115
+ /** The point the callout pointer leads to. */
6116
+ focusPosition?: AnnotationPoint | undefined;
6117
+ /** The fill color as an RGB hex string; null if not filled. */
6118
+ fillColor?: string | undefined;
6119
+ /** The border and pointer color as an RGB hex string; null if transparent. */
6120
+ borderColor?: string | undefined;
6121
+ /** The border stroke style. */
6122
+ borderStyle?: LineStyle;
6123
+ /** The border thickness in pixels. */
6124
+ borderThickness?: number;
6125
+ /** The cap style at the focus end of the pointer. */
6126
+ focusStyle?: LineEndingStyle;
6127
+ /** The opacity of the callout as a percentage (0-100). */
6128
+ opacity?: number;
6129
+ /** The font size of the text in points. */
6130
+ textSize?: number;
6131
+ /** The text displayed in the callout. */
6132
+ text?: string | undefined;
6133
+ /** The reading direction of the text. */
6134
+ direction?: TextDirection;
6135
+ }
6136
+ /** A placement of a catalog stamp on a page. The stamp image itself is defined by the catalog entry referenced by StampId. */
6137
+ export declare class StampAnnotation extends Annotation implements IStampAnnotation {
6138
+ /** The ID of the catalog stamp placed; 0 when the stamp carries its own inline bitmap. */
6139
+ stampId?: number;
6140
+ /** The rectangle the stamp is drawn into. */
6141
+ coordinates?: AnnotationRectangle | undefined;
6142
+ /** The top-left position of the stamp on the page. */
6143
+ position?: AnnotationPoint | undefined;
6144
+ /** The render color of the stamp as an RGB hex string (for example, "#000000"); null if transparent. */
6145
+ color?: string | undefined;
6146
+ /** The clockwise rotation of the stamp in degrees (0-359). */
6147
+ rotation?: number;
6148
+ /** The opacity of the stamp as a percentage (0-100). */
6149
+ opacity?: number;
6150
+ constructor(data?: IStampAnnotation);
6151
+ init(_data?: any): void;
6152
+ static fromJS(data: any): StampAnnotation;
6153
+ toJSON(data?: any): any;
6154
+ }
6155
+ /** A placement of a catalog stamp on a page. The stamp image itself is defined by the catalog entry referenced by StampId. */
6156
+ export interface IStampAnnotation extends IAnnotation {
6157
+ /** The ID of the catalog stamp placed; 0 when the stamp carries its own inline bitmap. */
6158
+ stampId?: number;
6159
+ /** The rectangle the stamp is drawn into. */
6160
+ coordinates?: AnnotationRectangle | undefined;
6161
+ /** The top-left position of the stamp on the page. */
6162
+ position?: AnnotationPoint | undefined;
6163
+ /** The render color of the stamp as an RGB hex string (for example, "#000000"); null if transparent. */
6164
+ color?: string | undefined;
6165
+ /** The clockwise rotation of the stamp in degrees (0-359). */
6166
+ rotation?: number;
6167
+ /** The opacity of the stamp as a percentage (0-100). */
6168
+ opacity?: number;
6169
+ }
6170
+ /** A freehand-drawn multi-point line on a page. */
6171
+ export declare class FreeHandAnnotation extends Annotation implements IFreeHandAnnotation {
6172
+ /** The ordered points of the freehand stroke. */
6173
+ points?: AnnotationPoint[] | undefined;
6174
+ /** The stroke style. */
6175
+ lineStyle?: LineStyle;
6176
+ /** The stroke color as an RGB hex string; null if transparent. */
6177
+ color?: string | undefined;
6178
+ /** The stroke thickness in pixels. */
6179
+ thickness?: number;
6180
+ /** The opacity of the stroke as a percentage (0-100). */
6181
+ opacity?: number;
6182
+ constructor(data?: IFreeHandAnnotation);
6183
+ init(_data?: any): void;
6184
+ static fromJS(data: any): FreeHandAnnotation;
6185
+ toJSON(data?: any): any;
6186
+ }
6187
+ /** A freehand-drawn multi-point line on a page. */
6188
+ export interface IFreeHandAnnotation extends IAnnotation {
6189
+ /** The ordered points of the freehand stroke. */
6190
+ points?: AnnotationPoint[] | undefined;
6191
+ /** The stroke style. */
6192
+ lineStyle?: LineStyle;
6193
+ /** The stroke color as an RGB hex string; null if transparent. */
6194
+ color?: string | undefined;
6195
+ /** The stroke thickness in pixels. */
6196
+ thickness?: number;
6197
+ /** The opacity of the stroke as a percentage (0-100). */
6198
+ opacity?: number;
6199
+ }
6200
+ /** A machine-readable format for specifying errors in HTTP API responses, per RFC 9457 (https://www.rfc-editor.org/rfc/rfc9457). Supersedes RFC 7807. */
6201
+ export declare class ProblemDetails implements IProblemDetails {
6202
+ /** The problem type. */
6203
+ type?: string | undefined;
6204
+ /** A short, human-readable summary of the problem type. */
6205
+ title?: string | undefined;
6206
+ /** The HTTP status code. */
3829
6207
  status: number;
3830
6208
  /** A human-readable explanation specific to this occurrence of the problem. */
3831
6209
  detail?: string | undefined;
@@ -3845,32 +6223,104 @@ export declare class ProblemDetails implements IProblemDetails {
3845
6223
  extensions: any;
3846
6224
  constructor(data?: IProblemDetails);
3847
6225
  init(_data?: any): void;
3848
- static fromJS(data: any): ProblemDetails;
6226
+ static fromJS(data: any): ProblemDetails;
6227
+ toJSON(data?: any): any;
6228
+ }
6229
+ /** A machine-readable format for specifying errors in HTTP API responses, per RFC 9457 (https://www.rfc-editor.org/rfc/rfc9457). Supersedes RFC 7807. */
6230
+ export interface IProblemDetails {
6231
+ /** The problem type. */
6232
+ type?: string | undefined;
6233
+ /** A short, human-readable summary of the problem type. */
6234
+ title?: string | undefined;
6235
+ /** The HTTP status code. */
6236
+ status: number;
6237
+ /** A human-readable explanation specific to this occurrence of the problem. */
6238
+ detail?: string | undefined;
6239
+ /** A URI reference that identifies the specific occurrence of the problem. */
6240
+ instance?: string | undefined;
6241
+ /** The operation id. */
6242
+ operationId?: string | undefined;
6243
+ /** The error source. */
6244
+ errorSource?: string | undefined;
6245
+ /** The error code. */
6246
+ errorCode?: number | undefined;
6247
+ /** The trace id. */
6248
+ traceId?: string | undefined;
6249
+ /** The instance detail. */
6250
+ instanceDetail?: string | undefined;
6251
+ [key: string]: any;
6252
+ }
6253
+ /** A repository-defined reason that can be associated with a redaction annotation. */
6254
+ export declare class AnnotationReason implements IAnnotationReason {
6255
+ /** The ID of the annotation reason. */
6256
+ id?: number;
6257
+ /** The display text of the annotation reason. */
6258
+ text?: string | undefined;
6259
+ constructor(data?: IAnnotationReason);
6260
+ init(_data?: any): void;
6261
+ static fromJS(data: any): AnnotationReason;
6262
+ toJSON(data?: any): any;
6263
+ }
6264
+ /** A repository-defined reason that can be associated with a redaction annotation. */
6265
+ export interface IAnnotationReason {
6266
+ /** The ID of the annotation reason. */
6267
+ id?: number;
6268
+ /** The display text of the annotation reason. */
6269
+ text?: string | undefined;
6270
+ }
6271
+ /** Request body for creating or updating an annotation (redaction) reason. */
6272
+ export declare class AnnotationReasonRequest implements IAnnotationReasonRequest {
6273
+ /** The display text of the annotation reason. */
6274
+ text?: string | undefined;
6275
+ constructor(data?: IAnnotationReasonRequest);
6276
+ init(_data?: any): void;
6277
+ static fromJS(data: any): AnnotationReasonRequest;
6278
+ toJSON(data?: any): any;
6279
+ }
6280
+ /** Request body for creating or updating an annotation (redaction) reason. */
6281
+ export interface IAnnotationReasonRequest {
6282
+ /** The display text of the annotation reason. */
6283
+ text?: string | undefined;
6284
+ }
6285
+ /** Response containing a collection of Attribute. */
6286
+ export declare class AttributeCollectionResponse implements IAttributeCollectionResponse {
6287
+ /** A URL to retrieve the next page of the requested collection. */
6288
+ odataNextLink?: string | undefined;
6289
+ /** The total count of items within a collection. */
6290
+ odataCount?: number | undefined;
6291
+ /** Gets or sets the OData response content in the "value". */
6292
+ value?: Attribute[] | undefined;
6293
+ constructor(data?: IAttributeCollectionResponse);
6294
+ init(_data?: any): void;
6295
+ static fromJS(data: any): AttributeCollectionResponse;
6296
+ toJSON(data?: any): any;
6297
+ }
6298
+ /** Response containing a collection of Attribute. */
6299
+ export interface IAttributeCollectionResponse {
6300
+ /** A URL to retrieve the next page of the requested collection. */
6301
+ odataNextLink?: string | undefined;
6302
+ /** The total count of items within a collection. */
6303
+ odataCount?: number | undefined;
6304
+ /** Gets or sets the OData response content in the "value". */
6305
+ value?: Attribute[] | undefined;
6306
+ }
6307
+ /** Represents a trustee attribute. */
6308
+ export declare class Attribute implements IAttribute {
6309
+ /** The attribute key. */
6310
+ key?: string | undefined;
6311
+ /** The attribute value. */
6312
+ value?: string | undefined;
6313
+ constructor(data?: IAttribute);
6314
+ init(_data?: any): void;
6315
+ static fromJS(data: any): Attribute;
3849
6316
  toJSON(data?: any): any;
3850
6317
  }
3851
- /** A machine-readable format for specifying errors in HTTP API responses, per RFC 9457 (https://www.rfc-editor.org/rfc/rfc9457). Supersedes RFC 7807. */
3852
- export interface IProblemDetails {
3853
- /** The problem type. */
3854
- type?: string | undefined;
3855
- /** A short, human-readable summary of the problem type. */
3856
- title?: string | undefined;
3857
- /** The HTTP status code. */
3858
- status: number;
3859
- /** A human-readable explanation specific to this occurrence of the problem. */
3860
- detail?: string | undefined;
3861
- /** A URI reference that identifies the specific occurrence of the problem. */
3862
- instance?: string | undefined;
3863
- /** The operation id. */
3864
- operationId?: string | undefined;
3865
- /** The error source. */
3866
- errorSource?: string | undefined;
3867
- /** The error code. */
3868
- errorCode?: number | undefined;
3869
- /** The trace id. */
3870
- traceId?: string | undefined;
3871
- /** The instance detail. */
3872
- instanceDetail?: string | undefined;
3873
- [key: string]: any;
6318
+ /** Represents a trustee attribute. */
6319
+ export interface IAttribute {
6320
+ /** The attribute key. */
6321
+ key?: string | undefined;
6322
+ /** The attribute value. */
6323
+ value?: string | undefined;
3874
6324
  }
3875
6325
  /** Response containing a collection of AuditReason. */
3876
6326
  export declare class AuditReasonCollectionResponse implements IAuditReasonCollectionResponse {
@@ -3878,6 +6328,7 @@ export declare class AuditReasonCollectionResponse implements IAuditReasonCollec
3878
6328
  odataNextLink?: string | undefined;
3879
6329
  /** The total count of items within a collection. */
3880
6330
  odataCount?: number | undefined;
6331
+ /** Gets or sets the OData response content in the "value". */
3881
6332
  value?: AuditReason[] | undefined;
3882
6333
  constructor(data?: IAuditReasonCollectionResponse);
3883
6334
  init(_data?: any): void;
@@ -3890,6 +6341,7 @@ export interface IAuditReasonCollectionResponse {
3890
6341
  odataNextLink?: string | undefined;
3891
6342
  /** The total count of items within a collection. */
3892
6343
  odataCount?: number | undefined;
6344
+ /** Gets or sets the OData response content in the "value". */
3893
6345
  value?: AuditReason[] | undefined;
3894
6346
  }
3895
6347
  /** Represents a user-defined audit reason for an audit event. */
@@ -4044,6 +6496,7 @@ export declare class FieldDefinitionCollectionResponse implements IFieldDefiniti
4044
6496
  odataNextLink?: string | undefined;
4045
6497
  /** The total count of items within a collection. */
4046
6498
  odataCount?: number | undefined;
6499
+ /** Gets or sets the OData response content in the "value". */
4047
6500
  value?: FieldDefinition[] | undefined;
4048
6501
  constructor(data?: IFieldDefinitionCollectionResponse);
4049
6502
  init(_data?: any): void;
@@ -4056,6 +6509,7 @@ export interface IFieldDefinitionCollectionResponse {
4056
6509
  odataNextLink?: string | undefined;
4057
6510
  /** The total count of items within a collection. */
4058
6511
  odataCount?: number | undefined;
6512
+ /** Gets or sets the OData response content in the "value". */
4059
6513
  value?: FieldDefinition[] | undefined;
4060
6514
  }
4061
6515
  /** Request body for creating a new field definition. Name and FieldType are required; all other properties are optional and fall back to repository defaults when omitted. */
@@ -4494,12 +6948,161 @@ LongInteger → Number). A lossy conversion without this flag returns 400
4494
6948
  (data_loss_expected). Lossless conversions ignore this flag. */
4495
6949
  allowDataLoss?: boolean;
4496
6950
  }
6951
+ /** The access control list (ACL) of a template field definition: its access control entries. Field ACLs have no parent inheritance, so there is no inherit-parents flag. */
6952
+ export declare class FieldAccessControlList implements IFieldAccessControlList {
6953
+ /** The access control entries that make up the ACL. */
6954
+ entries?: FieldAccessControlEntry[] | undefined;
6955
+ constructor(data?: IFieldAccessControlList);
6956
+ init(_data?: any): void;
6957
+ static fromJS(data: any): FieldAccessControlList;
6958
+ toJSON(data?: any): any;
6959
+ }
6960
+ /** The access control list (ACL) of a template field definition: its access control entries. Field ACLs have no parent inheritance, so there is no inherit-parents flag. */
6961
+ export interface IFieldAccessControlList {
6962
+ /** The access control entries that make up the ACL. */
6963
+ entries?: FieldAccessControlEntry[] | undefined;
6964
+ }
6965
+ /** A single access control entry (ACE) on a template field definition: one trustee, whether its rights are allowed or denied, and the rights themselves. A trustee that has both allowed and denied rights is represented as two ACEs. Unlike entry ACEs, field ACEs have no scope and are never inherited. */
6966
+ export declare class FieldAccessControlEntry implements IFieldAccessControlEntry {
6967
+ /** The trustee this ACE applies to. On input, identify the trustee by either
6968
+ trustee.sid or trustee.accountName (the SID takes precedence when both are given). */
6969
+ trustee?: TrusteeIdentity | undefined;
6970
+ /** Whether the ACE grants (Allow) or denies (Deny) the listed rights. Required on
6971
+ input — a missing value is rejected (it must not silently default to Allow). */
6972
+ accessControlType?: AccessControlType | undefined;
6973
+ /** The rights granted or denied by this ACE. */
6974
+ rights?: FieldRight[] | undefined;
6975
+ /** True when this ACE is inherited. Always false for field ACEs (field definitions have no
6976
+ ACL inheritance); returned for contract symmetry and ignored on input. */
6977
+ isInherited?: boolean;
6978
+ /** When inherited, a description of where the ACE was inherited from. Output only; null for
6979
+ field ACEs. */
6980
+ inheritedFrom?: string | undefined;
6981
+ constructor(data?: IFieldAccessControlEntry);
6982
+ init(_data?: any): void;
6983
+ static fromJS(data: any): FieldAccessControlEntry;
6984
+ toJSON(data?: any): any;
6985
+ }
6986
+ /** A single access control entry (ACE) on a template field definition: one trustee, whether its rights are allowed or denied, and the rights themselves. A trustee that has both allowed and denied rights is represented as two ACEs. Unlike entry ACEs, field ACEs have no scope and are never inherited. */
6987
+ export interface IFieldAccessControlEntry {
6988
+ /** The trustee this ACE applies to. On input, identify the trustee by either
6989
+ trustee.sid or trustee.accountName (the SID takes precedence when both are given). */
6990
+ trustee?: TrusteeIdentity | undefined;
6991
+ /** Whether the ACE grants (Allow) or denies (Deny) the listed rights. Required on
6992
+ input — a missing value is rejected (it must not silently default to Allow). */
6993
+ accessControlType?: AccessControlType | undefined;
6994
+ /** The rights granted or denied by this ACE. */
6995
+ rights?: FieldRight[] | undefined;
6996
+ /** True when this ACE is inherited. Always false for field ACEs (field definitions have no
6997
+ ACL inheritance); returned for contract symmetry and ignored on input. */
6998
+ isInherited?: boolean;
6999
+ /** When inherited, a description of where the ACE was inherited from. Output only; null for
7000
+ field ACEs. */
7001
+ inheritedFrom?: string | undefined;
7002
+ }
7003
+ /** Identifies a security trustee (a user or a group) referenced by an access control entry, an effective-rights query, or a trustee-lookup result. */
7004
+ export declare class TrusteeIdentity implements ITrusteeIdentity {
7005
+ /** The trustee's security identifier (an SDDL string such as S-1-5-21-...). This is
7006
+ the canonical, stable id for a trustee. On input it is preferred and takes precedence over
7007
+ AccountName; always populated on output. */
7008
+ sid?: string | undefined;
7009
+ /** The trustee's account name. On input it may be supplied instead of Sid to
7010
+ address the trustee by name (resolved to a SID server-side); the SID wins when both are
7011
+ given. Always populated on output. */
7012
+ accountName?: string | undefined;
7013
+ /** The trustee type: one of LaserficheUser, LaserficheGroup,
7014
+ WindowsAccount, LdapAccount, LfdsAccount. */
7015
+ trusteeType?: string | undefined;
7016
+ /** True when the trustee is an individual user; false when it is a group. */
7017
+ isUser?: boolean;
7018
+ /** A human-readable display name. Populated by trustee-lookup results; omitted in
7019
+ access-control-entry contexts. */
7020
+ displayName?: string | undefined;
7021
+ /** True when the trustee account is disabled. Populated by trustee-lookup results. */
7022
+ isDisabled?: boolean;
7023
+ constructor(data?: ITrusteeIdentity);
7024
+ init(_data?: any): void;
7025
+ static fromJS(data: any): TrusteeIdentity;
7026
+ toJSON(data?: any): any;
7027
+ }
7028
+ /** Identifies a security trustee (a user or a group) referenced by an access control entry, an effective-rights query, or a trustee-lookup result. */
7029
+ export interface ITrusteeIdentity {
7030
+ /** The trustee's security identifier (an SDDL string such as S-1-5-21-...). This is
7031
+ the canonical, stable id for a trustee. On input it is preferred and takes precedence over
7032
+ AccountName; always populated on output. */
7033
+ sid?: string | undefined;
7034
+ /** The trustee's account name. On input it may be supplied instead of Sid to
7035
+ address the trustee by name (resolved to a SID server-side); the SID wins when both are
7036
+ given. Always populated on output. */
7037
+ accountName?: string | undefined;
7038
+ /** The trustee type: one of LaserficheUser, LaserficheGroup,
7039
+ WindowsAccount, LdapAccount, LfdsAccount. */
7040
+ trusteeType?: string | undefined;
7041
+ /** True when the trustee is an individual user; false when it is a group. */
7042
+ isUser?: boolean;
7043
+ /** A human-readable display name. Populated by trustee-lookup results; omitted in
7044
+ access-control-entry contexts. */
7045
+ displayName?: string | undefined;
7046
+ /** True when the trustee account is disabled. Populated by trustee-lookup results. */
7047
+ isDisabled?: boolean;
7048
+ }
7049
+ /** Whether an access control entry (ACE) grants or denies its rights. Serialized by name. */
7050
+ export declare enum AccessControlType {
7051
+ Allow = "Allow",
7052
+ Deny = "Deny"
7053
+ }
7054
+ /** An individual access right that can be granted to or denied a trustee on a template field definition. Serialized by name; emitted as a string enum in the OpenAPI schema so clients can reference it directly. */
7055
+ export declare enum FieldRight {
7056
+ ReadValue = "ReadValue",
7057
+ SetValue = "SetValue",
7058
+ SetValueOnce = "SetValueOnce",
7059
+ ModifyDefinition = "ModifyDefinition",
7060
+ Delete = "Delete",
7061
+ ReadPermissions = "ReadPermissions",
7062
+ ChangePermissions = "ChangePermissions",
7063
+ TakeOwnership = "TakeOwnership"
7064
+ }
7065
+ /** Request body for replacing a template field definition's access control list. The supplied entries fully replace the field's existing explicit ACL. Inherited entries are not accepted. */
7066
+ export declare class SetFieldAccessControlRequest implements ISetFieldAccessControlRequest {
7067
+ /** The access control entries to set. Replaces the field's entire explicit ACL. */
7068
+ entries?: FieldAccessControlEntry[] | undefined;
7069
+ constructor(data?: ISetFieldAccessControlRequest);
7070
+ init(_data?: any): void;
7071
+ static fromJS(data: any): SetFieldAccessControlRequest;
7072
+ toJSON(data?: any): any;
7073
+ }
7074
+ /** Request body for replacing a template field definition's access control list. The supplied entries fully replace the field's existing explicit ACL. Inherited entries are not accepted. */
7075
+ export interface ISetFieldAccessControlRequest {
7076
+ /** The access control entries to set. Replaces the field's entire explicit ACL. */
7077
+ entries?: FieldAccessControlEntry[] | undefined;
7078
+ }
7079
+ /** A trustee's rights to a template field definition. Depending on the aclOnly option on the request, these are either the effective rights (the net result after group membership, allow/deny resolution, and the repository's privilege overlay) or the rights granted by the field's access control list alone. */
7080
+ export declare class FieldRights implements IFieldRights {
7081
+ /** The rights granted to the trustee on the field. */
7082
+ rights?: FieldRight[] | undefined;
7083
+ /** True when the session is read-only, so no write operations are possible regardless of
7084
+ the granted rights. */
7085
+ isReadOnly?: boolean;
7086
+ constructor(data?: IFieldRights);
7087
+ init(_data?: any): void;
7088
+ static fromJS(data: any): FieldRights;
7089
+ toJSON(data?: any): any;
7090
+ }
7091
+ /** A trustee's rights to a template field definition. Depending on the aclOnly option on the request, these are either the effective rights (the net result after group membership, allow/deny resolution, and the repository's privilege overlay) or the rights granted by the field's access control list alone. */
7092
+ export interface IFieldRights {
7093
+ /** The rights granted to the trustee on the field. */
7094
+ rights?: FieldRight[] | undefined;
7095
+ /** True when the session is read-only, so no write operations are possible regardless of
7096
+ the granted rights. */
7097
+ isReadOnly?: boolean;
7098
+ }
4497
7099
  /** Response containing a collection of LinkDefinition. */
4498
7100
  export declare class LinkDefinitionCollectionResponse implements ILinkDefinitionCollectionResponse {
4499
7101
  /** A URL to retrieve the next page of the requested collection. */
4500
7102
  odataNextLink?: string | undefined;
4501
7103
  /** The total count of items within a collection. */
4502
7104
  odataCount?: number | undefined;
7105
+ /** Gets or sets the OData response content in the "value". */
4503
7106
  value?: LinkDefinition[] | undefined;
4504
7107
  constructor(data?: ILinkDefinitionCollectionResponse);
4505
7108
  init(_data?: any): void;
@@ -4512,6 +7115,7 @@ export interface ILinkDefinitionCollectionResponse {
4512
7115
  odataNextLink?: string | undefined;
4513
7116
  /** The total count of items within a collection. */
4514
7117
  odataCount?: number | undefined;
7118
+ /** Gets or sets the OData response content in the "value". */
4515
7119
  value?: LinkDefinition[] | undefined;
4516
7120
  }
4517
7121
  /** Represents an entry link definition. */
@@ -4628,6 +7232,11 @@ For any other file type (PDF, Word, Excel, etc.), the file is always imported as
4628
7232
  metadata?: ImportEntryRequestMetadata | undefined;
4629
7233
  /** The name of the volume to use. Will use the default parent entry volume if not specified. This is ignored in Laserfiche Cloud. */
4630
7234
  volumeName?: string | undefined;
7235
+ /** An optional folder path, relative to the entry given in the route, that the document is imported into.
7236
+ Both `/` and `\` are accepted as separators. When any folder in this path does not exist, set the
7237
+ `autoCreateFolderPath` query parameter to true to create the missing folders; otherwise the request
7238
+ fails with 404. When omitted, the document is imported directly into the route entry (unchanged behavior). */
7239
+ folderPath?: string | undefined;
4631
7240
  constructor(data?: IStartImportUploadedPartsRequest);
4632
7241
  init(_data?: any): void;
4633
7242
  static fromJS(data: any): StartImportUploadedPartsRequest;
@@ -4653,6 +7262,11 @@ For any other file type (PDF, Word, Excel, etc.), the file is always imported as
4653
7262
  metadata?: ImportEntryRequestMetadata | undefined;
4654
7263
  /** The name of the volume to use. Will use the default parent entry volume if not specified. This is ignored in Laserfiche Cloud. */
4655
7264
  volumeName?: string | undefined;
7265
+ /** An optional folder path, relative to the entry given in the route, that the document is imported into.
7266
+ Both `/` and `\` are accepted as separators. When any folder in this path does not exist, set the
7267
+ `autoCreateFolderPath` query parameter to true to create the missing folders; otherwise the request
7268
+ fails with 404. When omitted, the document is imported directly into the route entry (unchanged behavior). */
7269
+ folderPath?: string | undefined;
4656
7270
  }
4657
7271
  /** Server-side processing options for the imported file. Despite the type name, these fields apply to any supported electronic document as well as to files imported as image pages. */
4658
7272
  export declare class ImportEntryRequestPdfOptions implements IImportEntryRequestPdfOptions {
@@ -5281,6 +7895,11 @@ For any other file type (PDF, Word, Excel, etc.), the file is always imported as
5281
7895
  /** Whether to generate searchable text (OCR) for image pages added via `imageFiles`. Default: true.
5282
7896
  Does not affect pages generated from `file` — use `pdfOptions.generateText` for those. */
5283
7897
  generateImagePagesText?: boolean;
7898
+ /** An optional folder path, relative to the entry given in the route, that the document is imported into.
7899
+ Both `/` and `\` are accepted as separators. When any folder in this path does not exist, set the
7900
+ `autoCreateFolderPath` query parameter to true to create the missing folders; otherwise the request
7901
+ fails with 404. When omitted, the document is imported directly into the route entry (unchanged behavior). */
7902
+ folderPath?: string | undefined;
5284
7903
  constructor(data?: IImportEntryRequest);
5285
7904
  init(_data?: any): void;
5286
7905
  static fromJS(data: any): ImportEntryRequest;
@@ -5305,9 +7924,15 @@ For any other file type (PDF, Word, Excel, etc.), the file is always imported as
5305
7924
  /** Whether to generate searchable text (OCR) for image pages added via `imageFiles`. Default: true.
5306
7925
  Does not affect pages generated from `file` — use `pdfOptions.generateText` for those. */
5307
7926
  generateImagePagesText?: boolean;
7927
+ /** An optional folder path, relative to the entry given in the route, that the document is imported into.
7928
+ Both `/` and `\` are accepted as separators. When any folder in this path does not exist, set the
7929
+ `autoCreateFolderPath` query parameter to true to create the missing folders; otherwise the request
7930
+ fails with 404. When omitted, the document is imported directly into the route entry (unchanged behavior). */
7931
+ folderPath?: string | undefined;
5308
7932
  }
5309
7933
  /** Response containing a link to download the exported entry. */
5310
7934
  export declare class ExportEntryResponse implements IExportEntryResponse {
7935
+ /** Gets or sets the OData response content in the "value". */
5311
7936
  value?: string | undefined;
5312
7937
  constructor(data?: IExportEntryResponse);
5313
7938
  init(_data?: any): void;
@@ -5316,6 +7941,7 @@ export declare class ExportEntryResponse implements IExportEntryResponse {
5316
7941
  }
5317
7942
  /** Response containing a link to download the exported entry. */
5318
7943
  export interface IExportEntryResponse {
7944
+ /** Gets or sets the OData response content in the "value". */
5319
7945
  value?: string | undefined;
5320
7946
  }
5321
7947
  /** Request body for exporting an entry. */
@@ -5394,6 +8020,7 @@ export declare class EntryCollectionResponse implements IEntryCollectionResponse
5394
8020
  odataNextLink?: string | undefined;
5395
8021
  /** The total count of items within a collection. */
5396
8022
  odataCount?: number | undefined;
8023
+ /** Gets or sets the OData response content in the "value". */
5397
8024
  value?: Entry[] | undefined;
5398
8025
  constructor(data?: IEntryCollectionResponse);
5399
8026
  init(_data?: any): void;
@@ -5406,6 +8033,7 @@ export interface IEntryCollectionResponse {
5406
8033
  odataNextLink?: string | undefined;
5407
8034
  /** The total count of items within a collection. */
5408
8035
  odataCount?: number | undefined;
8036
+ /** Gets or sets the OData response content in the "value". */
5409
8037
  value?: Entry[] | undefined;
5410
8038
  }
5411
8039
  /** Response containing a collection of Field. */
@@ -5414,6 +8042,7 @@ export declare class FieldCollectionResponse implements IFieldCollectionResponse
5414
8042
  odataNextLink?: string | undefined;
5415
8043
  /** The total count of items within a collection. */
5416
8044
  odataCount?: number | undefined;
8045
+ /** Gets or sets the OData response content in the "value". */
5417
8046
  value?: Field[] | undefined;
5418
8047
  constructor(data?: IFieldCollectionResponse);
5419
8048
  init(_data?: any): void;
@@ -5426,6 +8055,7 @@ export interface IFieldCollectionResponse {
5426
8055
  odataNextLink?: string | undefined;
5427
8056
  /** The total count of items within a collection. */
5428
8057
  odataCount?: number | undefined;
8058
+ /** Gets or sets the OData response content in the "value". */
5429
8059
  value?: Field[] | undefined;
5430
8060
  }
5431
8061
  /** Request body for assigning fields to an entry. */
@@ -5448,6 +8078,7 @@ export declare class TagCollectionResponse implements ITagCollectionResponse {
5448
8078
  odataNextLink?: string | undefined;
5449
8079
  /** The total count of items within a collection. */
5450
8080
  odataCount?: number | undefined;
8081
+ /** Gets or sets the OData response content in the "value". */
5451
8082
  value?: Tag[] | undefined;
5452
8083
  constructor(data?: ITagCollectionResponse);
5453
8084
  init(_data?: any): void;
@@ -5460,6 +8091,7 @@ export interface ITagCollectionResponse {
5460
8091
  odataNextLink?: string | undefined;
5461
8092
  /** The total count of items within a collection. */
5462
8093
  odataCount?: number | undefined;
8094
+ /** Gets or sets the OData response content in the "value". */
5463
8095
  value?: Tag[] | undefined;
5464
8096
  }
5465
8097
  /** Represents a tag set on an entry. */
@@ -5550,6 +8182,7 @@ export declare class LinkCollectionResponse implements ILinkCollectionResponse {
5550
8182
  odataNextLink?: string | undefined;
5551
8183
  /** The total count of items within a collection. */
5552
8184
  odataCount?: number | undefined;
8185
+ /** Gets or sets the OData response content in the "value". */
5553
8186
  value?: Link[] | undefined;
5554
8187
  constructor(data?: ILinkCollectionResponse);
5555
8188
  init(_data?: any): void;
@@ -5562,6 +8195,7 @@ export interface ILinkCollectionResponse {
5562
8195
  odataNextLink?: string | undefined;
5563
8196
  /** The total count of items within a collection. */
5564
8197
  odataCount?: number | undefined;
8198
+ /** Gets or sets the OData response content in the "value". */
5565
8199
  value?: Link[] | undefined;
5566
8200
  }
5567
8201
  /** Represents a link between a source entry and a target entry. */
@@ -5682,6 +8316,11 @@ export declare class CreateEntryRequest implements ICreateEntryRequest {
5682
8316
  targetId?: number;
5683
8317
  /** The name of the volume to use. Will use the default parent entry volume if not specified. This is ignored in Laserfiche Cloud. */
5684
8318
  volumeName?: string | undefined;
8319
+ /** An optional folder path, relative to the entry given in the route, that the new entry is created under.
8320
+ Both `/` and `\` are accepted as separators. When any folder in this path does not exist, set the
8321
+ `autoCreateFolderPath` query parameter to true to create the missing folders; otherwise the request
8322
+ fails with 404. When omitted, the entry is created directly under the route entry (unchanged behavior). */
8323
+ folderPath?: string | undefined;
5685
8324
  constructor(data?: ICreateEntryRequest);
5686
8325
  init(_data?: any): void;
5687
8326
  static fromJS(data: any): CreateEntryRequest;
@@ -5699,6 +8338,11 @@ export interface ICreateEntryRequest {
5699
8338
  targetId?: number;
5700
8339
  /** The name of the volume to use. Will use the default parent entry volume if not specified. This is ignored in Laserfiche Cloud. */
5701
8340
  volumeName?: string | undefined;
8341
+ /** An optional folder path, relative to the entry given in the route, that the new entry is created under.
8342
+ Both `/` and `\` are accepted as separators. When any folder in this path does not exist, set the
8343
+ `autoCreateFolderPath` query parameter to true to create the missing folders; otherwise the request
8344
+ fails with 404. When omitted, the entry is created directly under the route entry (unchanged behavior). */
8345
+ folderPath?: string | undefined;
5702
8346
  }
5703
8347
  /** Enumeration of entry types for CreateEntry. */
5704
8348
  export declare enum CreateEntryRequestEntryType {
@@ -5857,6 +8501,7 @@ export declare class PageInfoCollectionResponse implements IPageInfoCollectionRe
5857
8501
  odataNextLink?: string | undefined;
5858
8502
  /** The total count of items within a collection. */
5859
8503
  odataCount?: number | undefined;
8504
+ /** Gets or sets the OData response content in the "value". */
5860
8505
  value?: PageInfoResponse[] | undefined;
5861
8506
  constructor(data?: IPageInfoCollectionResponse);
5862
8507
  init(_data?: any): void;
@@ -5869,6 +8514,7 @@ export interface IPageInfoCollectionResponse {
5869
8514
  odataNextLink?: string | undefined;
5870
8515
  /** The total count of items within a collection. */
5871
8516
  odataCount?: number | undefined;
8517
+ /** Gets or sets the OData response content in the "value". */
5872
8518
  value?: PageInfoResponse[] | undefined;
5873
8519
  }
5874
8520
  export declare class PageInfoResponse implements IPageInfoResponse {
@@ -6007,8 +8653,8 @@ Account renames change this value over time — do not use for stable identity c
6007
8653
  export declare class LockDocumentRequest implements ILockDocumentRequest {
6008
8654
  /** An optional comment for the persistent lock. */
6009
8655
  comment?: string | undefined;
6010
- /** The lock extent. Defaults to All when omitted. */
6011
- extent?: LockExtent | undefined;
8656
+ /** The lock extent. One of: Page, Edoc, Metadata, All. Defaults to All when omitted. */
8657
+ extent?: string | undefined;
6012
8658
  constructor(data?: ILockDocumentRequest);
6013
8659
  init(_data?: any): void;
6014
8660
  static fromJS(data: any): LockDocumentRequest;
@@ -6018,15 +8664,8 @@ export declare class LockDocumentRequest implements ILockDocumentRequest {
6018
8664
  export interface ILockDocumentRequest {
6019
8665
  /** An optional comment for the persistent lock. */
6020
8666
  comment?: string | undefined;
6021
- /** The lock extent. Defaults to All when omitted. */
6022
- extent?: LockExtent | undefined;
6023
- }
6024
- /** The portion of a document that a persistent lock covers. */
6025
- export declare enum LockExtent {
6026
- Page = "Page",
6027
- Edoc = "Edoc",
6028
- Metadata = "Metadata",
6029
- All = "All"
8667
+ /** The lock extent. One of: Page, Edoc, Metadata, All. Defaults to All when omitted. */
8668
+ extent?: string | undefined;
6030
8669
  }
6031
8670
  /** Request body for checking out a document. */
6032
8671
  export declare class CheckOutDocumentRequest implements ICheckOutDocumentRequest {
@@ -6060,8 +8699,619 @@ export interface ICheckInDocumentRequest {
6060
8699
  /** Whether to automatically release the persistent lock as part of the check-in. Defaults to true. */
6061
8700
  unlock?: boolean;
6062
8701
  }
8702
+ /** An entry's access control list: the explicit and inherited access control entries plus whether the entry inherits rights from its parent(s). */
8703
+ export declare class AccessControlList implements IAccessControlList {
8704
+ /** The access control entries. Includes both explicitly-set and inherited ACEs;
8705
+ inherited ACEs carry isInherited = true. */
8706
+ entries?: AccessControlEntry[] | undefined;
8707
+ /** Whether the entry inherits access rights from its parent(s). When false, the entry's
8708
+ ACL is protected from parent inheritance. */
8709
+ inheritParents?: boolean;
8710
+ constructor(data?: IAccessControlList);
8711
+ init(_data?: any): void;
8712
+ static fromJS(data: any): AccessControlList;
8713
+ toJSON(data?: any): any;
8714
+ }
8715
+ /** An entry's access control list: the explicit and inherited access control entries plus whether the entry inherits rights from its parent(s). */
8716
+ export interface IAccessControlList {
8717
+ /** The access control entries. Includes both explicitly-set and inherited ACEs;
8718
+ inherited ACEs carry isInherited = true. */
8719
+ entries?: AccessControlEntry[] | undefined;
8720
+ /** Whether the entry inherits access rights from its parent(s). When false, the entry's
8721
+ ACL is protected from parent inheritance. */
8722
+ inheritParents?: boolean;
8723
+ }
8724
+ /** A single access control entry (ACE): one trustee, whether its rights are allowed or denied, and the rights themselves. A trustee that has both allowed and denied rights is represented as two ACEs. */
8725
+ export declare class AccessControlEntry implements IAccessControlEntry {
8726
+ /** The trustee this ACE applies to. On input, identify the trustee by either
8727
+ trustee.sid or trustee.accountName (the SID takes precedence when both are given). */
8728
+ trustee?: TrusteeIdentity | undefined;
8729
+ /** Whether the ACE grants (Allow) or denies (Deny) the listed rights. */
8730
+ accessControlType?: AccessControlType;
8731
+ /** The rights granted or denied by this ACE. */
8732
+ rights?: EntryRight[] | undefined;
8733
+ /** How the ACE propagates to descendant entries. Defaults to All when omitted on input. */
8734
+ scope?: EntryAccessScope;
8735
+ /** True when this ACE is inherited from an ancestor. Read-only — inherited ACEs are
8736
+ returned by GET but are ignored on input (the set operation manages explicit ACEs only). */
8737
+ isInherited?: boolean;
8738
+ /** When inherited, a description of where the ACE was inherited from. Output only. */
8739
+ inheritedFrom?: string | undefined;
8740
+ constructor(data?: IAccessControlEntry);
8741
+ init(_data?: any): void;
8742
+ static fromJS(data: any): AccessControlEntry;
8743
+ toJSON(data?: any): any;
8744
+ }
8745
+ /** A single access control entry (ACE): one trustee, whether its rights are allowed or denied, and the rights themselves. A trustee that has both allowed and denied rights is represented as two ACEs. */
8746
+ export interface IAccessControlEntry {
8747
+ /** The trustee this ACE applies to. On input, identify the trustee by either
8748
+ trustee.sid or trustee.accountName (the SID takes precedence when both are given). */
8749
+ trustee?: TrusteeIdentity | undefined;
8750
+ /** Whether the ACE grants (Allow) or denies (Deny) the listed rights. */
8751
+ accessControlType?: AccessControlType;
8752
+ /** The rights granted or denied by this ACE. */
8753
+ rights?: EntryRight[] | undefined;
8754
+ /** How the ACE propagates to descendant entries. Defaults to All when omitted on input. */
8755
+ scope?: EntryAccessScope;
8756
+ /** True when this ACE is inherited from an ancestor. Read-only — inherited ACEs are
8757
+ returned by GET but are ignored on input (the set operation manages explicit ACEs only). */
8758
+ isInherited?: boolean;
8759
+ /** When inherited, a description of where the ACE was inherited from. Output only. */
8760
+ inheritedFrom?: string | undefined;
8761
+ }
8762
+ /** An individual access right that can be granted to or denied a trustee on an entry. Serialized by name; emitted as a string enum in the OpenAPI schema so clients can reference it directly. */
8763
+ export declare enum EntryRight {
8764
+ Browse = "Browse",
8765
+ Read = "Read",
8766
+ WriteContent = "WriteContent",
8767
+ AddPage = "AddPage",
8768
+ Rename = "Rename",
8769
+ RemovePage = "RemovePage",
8770
+ Freeze = "Freeze",
8771
+ Annotate = "Annotate",
8772
+ SeeThroughRedactions = "SeeThroughRedactions",
8773
+ SeeAnnotations = "SeeAnnotations",
8774
+ SetReviewDate = "SetReviewDate",
8775
+ WriteMetadata = "WriteMetadata",
8776
+ CreateFolder = "CreateFolder",
8777
+ CreateDocument = "CreateDocument",
8778
+ SetEventDate = "SetEventDate",
8779
+ Close = "Close",
8780
+ Delete = "Delete",
8781
+ ReadPermissions = "ReadPermissions",
8782
+ ChangePermissions = "ChangePermissions",
8783
+ TakeOwnership = "TakeOwnership"
8784
+ }
8785
+ /** Controls how an entry access control entry (ACE) propagates to descendant entries. Applies to entry ACEs only (field/template ACEs have no scope). Serialized by name. */
8786
+ export declare enum EntryAccessScope {
8787
+ ThisEntry = "ThisEntry",
8788
+ Folders = "Folders",
8789
+ All = "All",
8790
+ NotThisEntry = "NotThisEntry",
8791
+ FoldersOnly = "FoldersOnly",
8792
+ DocumentsOnly = "DocumentsOnly",
8793
+ Immediate = "Immediate",
8794
+ ImmediateChildren = "ImmediateChildren",
8795
+ ImmediateDocuments = "ImmediateDocuments"
8796
+ }
8797
+ /** Request body to replace an entry's explicit access control list. This is a full replace: the supplied entries become the entry's complete set of explicit ACEs (any explicit ACE not included is removed). Inherited ACEs cannot be supplied and are managed via inheritParents. */
8798
+ export declare class SetAccessControlRequest implements ISetAccessControlRequest {
8799
+ /** The explicit access control entries to apply. An empty array clears all explicit ACEs.
8800
+ Entries flagged isInherited = true are rejected. */
8801
+ entries?: AccessControlEntry[] | undefined;
8802
+ /** Whether the entry should inherit access rights from its parent(s). When omitted, the
8803
+ entry's current inheritance setting is preserved. When false, the ACL is protected
8804
+ from parent inheritance; when true, parent rights are inherited. */
8805
+ inheritParents?: boolean | undefined;
8806
+ constructor(data?: ISetAccessControlRequest);
8807
+ init(_data?: any): void;
8808
+ static fromJS(data: any): SetAccessControlRequest;
8809
+ toJSON(data?: any): any;
8810
+ }
8811
+ /** Request body to replace an entry's explicit access control list. This is a full replace: the supplied entries become the entry's complete set of explicit ACEs (any explicit ACE not included is removed). Inherited ACEs cannot be supplied and are managed via inheritParents. */
8812
+ export interface ISetAccessControlRequest {
8813
+ /** The explicit access control entries to apply. An empty array clears all explicit ACEs.
8814
+ Entries flagged isInherited = true are rejected. */
8815
+ entries?: AccessControlEntry[] | undefined;
8816
+ /** Whether the entry should inherit access rights from its parent(s). When omitted, the
8817
+ entry's current inheritance setting is preserved. When false, the ACL is protected
8818
+ from parent inheritance; when true, parent rights are inherited. */
8819
+ inheritParents?: boolean | undefined;
8820
+ }
8821
+ /** A trustee's rights to an entry. Depending on the aclOnly option on the request, these are either the effective rights (the net result after allow/deny resolution, group membership, and the repository's privilege and records-management overlays) or the rights granted by the entry's access control list alone. */
8822
+ export declare class EntryRights implements IEntryRights {
8823
+ /** The rights granted to the trustee on the entry. */
8824
+ rights?: EntryRight[] | undefined;
8825
+ /** True when the session is read-only, so no write operations are possible regardless of
8826
+ the granted rights. */
8827
+ isReadOnly?: boolean;
8828
+ constructor(data?: IEntryRights);
8829
+ init(_data?: any): void;
8830
+ static fromJS(data: any): EntryRights;
8831
+ toJSON(data?: any): any;
8832
+ }
8833
+ /** A trustee's rights to an entry. Depending on the aclOnly option on the request, these are either the effective rights (the net result after allow/deny resolution, group membership, and the repository's privilege and records-management overlays) or the rights granted by the entry's access control list alone. */
8834
+ export interface IEntryRights {
8835
+ /** The rights granted to the trustee on the entry. */
8836
+ rights?: EntryRight[] | undefined;
8837
+ /** True when the session is read-only, so no write operations are possible regardless of
8838
+ the granted rights. */
8839
+ isReadOnly?: boolean;
8840
+ }
8841
+ /** The records management properties of an entry. This is the abstract base; the concrete shape is RecordProperties for a document record (RecordType = Record) or RecordFolderProperties for a record folder (RecordFolder). Members common to both record and record folder live here; type-specific members live on the subtypes. Many members are computed by the repository and are read-only — they are noted as such and are ignored on update. */
8842
+ export declare abstract class RecordsManagementProperties implements IRecordsManagementProperties {
8843
+ /** Whether these properties describe a document record or a record folder. Determines the
8844
+ concrete subtype (RecordProperties or RecordFolderProperties)
8845
+ and which type-specific members are present. */
8846
+ recordType?: RecordEntryType;
8847
+ /** The current lifecycle state. Computed (read-only). */
8848
+ dispositionState?: DispositionState | undefined;
8849
+ /** True when the entry has been cut off. Computed (read-only). */
8850
+ isCutoff?: boolean;
8851
+ /** True when the entry is currently eligible for cutoff. Computed (read-only). */
8852
+ isEligibleForCutoff?: boolean;
8853
+ /** True when the entry is currently eligible for final disposition. Computed (read-only). */
8854
+ isEligibleForFinalDisposition?: boolean;
8855
+ /** The date the entry was cut off, or null if not cut off. Computed (read-only). */
8856
+ cutoffDate?: Date | undefined;
8857
+ /** The date the entry becomes eligible for cutoff, or null. Computed (read-only). */
8858
+ cutoffEligibility?: Date | undefined;
8859
+ /** The date the entry becomes eligible for final disposition, or null. Computed (read-only). */
8860
+ finalDispositionEligibility?: Date | undefined;
8861
+ /** The date final disposition was confirmed, or null. Computed (read-only). */
8862
+ dispositionConfirmationDate?: Date | undefined;
8863
+ /** Projected and completed interim transfers. Computed (read-only). */
8864
+ transferDates?: RecordsManagementTransferDate[] | undefined;
8865
+ /** The records management location the entry currently resides at, or null. Computed (read-only). */
8866
+ locationId?: number | undefined;
8867
+ /** The disposition schedule currently governing the entry (own or inherited), or null. Computed (read-only). */
8868
+ activeDispositionScheduleId?: number | undefined;
8869
+ /** The cutoff criterion assigned to the entry, or null when none. */
8870
+ cutoffCriterionId?: number | undefined;
8871
+ /** The disposition schedule assigned to the entry, or null when none. */
8872
+ dispositionScheduleId?: number | undefined;
8873
+ /** The filing date, or null when unset. */
8874
+ filingDate?: Date | undefined;
8875
+ /** The alternate-retention trigger date, or null when unset. */
8876
+ triggerDate?: Date | undefined;
8877
+ protected _discriminator: string;
8878
+ constructor(data?: IRecordsManagementProperties);
8879
+ init(_data?: any): void;
8880
+ static fromJS(data: any): RecordsManagementProperties;
8881
+ toJSON(data?: any): any;
8882
+ }
8883
+ /** The records management properties of an entry. This is the abstract base; the concrete shape is RecordProperties for a document record (RecordType = Record) or RecordFolderProperties for a record folder (RecordFolder). Members common to both record and record folder live here; type-specific members live on the subtypes. Many members are computed by the repository and are read-only — they are noted as such and are ignored on update. */
8884
+ export interface IRecordsManagementProperties {
8885
+ /** Whether these properties describe a document record or a record folder. Determines the
8886
+ concrete subtype (RecordProperties or RecordFolderProperties)
8887
+ and which type-specific members are present. */
8888
+ recordType?: RecordEntryType;
8889
+ /** The current lifecycle state. Computed (read-only). */
8890
+ dispositionState?: DispositionState | undefined;
8891
+ /** True when the entry has been cut off. Computed (read-only). */
8892
+ isCutoff?: boolean;
8893
+ /** True when the entry is currently eligible for cutoff. Computed (read-only). */
8894
+ isEligibleForCutoff?: boolean;
8895
+ /** True when the entry is currently eligible for final disposition. Computed (read-only). */
8896
+ isEligibleForFinalDisposition?: boolean;
8897
+ /** The date the entry was cut off, or null if not cut off. Computed (read-only). */
8898
+ cutoffDate?: Date | undefined;
8899
+ /** The date the entry becomes eligible for cutoff, or null. Computed (read-only). */
8900
+ cutoffEligibility?: Date | undefined;
8901
+ /** The date the entry becomes eligible for final disposition, or null. Computed (read-only). */
8902
+ finalDispositionEligibility?: Date | undefined;
8903
+ /** The date final disposition was confirmed, or null. Computed (read-only). */
8904
+ dispositionConfirmationDate?: Date | undefined;
8905
+ /** Projected and completed interim transfers. Computed (read-only). */
8906
+ transferDates?: RecordsManagementTransferDate[] | undefined;
8907
+ /** The records management location the entry currently resides at, or null. Computed (read-only). */
8908
+ locationId?: number | undefined;
8909
+ /** The disposition schedule currently governing the entry (own or inherited), or null. Computed (read-only). */
8910
+ activeDispositionScheduleId?: number | undefined;
8911
+ /** The cutoff criterion assigned to the entry, or null when none. */
8912
+ cutoffCriterionId?: number | undefined;
8913
+ /** The disposition schedule assigned to the entry, or null when none. */
8914
+ dispositionScheduleId?: number | undefined;
8915
+ /** The filing date, or null when unset. */
8916
+ filingDate?: Date | undefined;
8917
+ /** The alternate-retention trigger date, or null when unset. */
8918
+ triggerDate?: Date | undefined;
8919
+ }
8920
+ /** Discriminates which kind of records management entry a set of records management properties describes. Serialized by name. */
8921
+ export declare enum RecordEntryType {
8922
+ Record = "Record",
8923
+ RecordFolder = "RecordFolder"
8924
+ }
8925
+ /** The current lifecycle state of a record or record folder. Serialized by name. */
8926
+ export declare enum DispositionState {
8927
+ Open = "Open",
8928
+ Closed = "Closed",
8929
+ InRetention = "InRetention",
8930
+ Transferred = "Transferred",
8931
+ Eligible = "Eligible",
8932
+ Partial = "Partial",
8933
+ Final = "Final"
8934
+ }
8935
+ /** A single interim-transfer step's dates for a record or record folder. A step is either a completed transfer or a projected one (see Transferred). Output only. */
8936
+ export declare class RecordsManagementTransferDate implements IRecordsManagementTransferDate {
8937
+ /** The id of the disposition schedule transfer step this date corresponds to. */
8938
+ transferId?: number;
8939
+ /** The ordinal transfer number within the disposition schedule. */
8940
+ transferNumber?: number;
8941
+ /** The date the transfer occurred, or null when it has not yet taken place. */
8942
+ date?: Date | undefined;
8943
+ /** The date the entry becomes (or became) eligible for this transfer. */
8944
+ eligibleDate?: Date | undefined;
8945
+ /** True when the transfer has taken place; false when this is a projected date. */
8946
+ transferred?: boolean;
8947
+ constructor(data?: IRecordsManagementTransferDate);
8948
+ init(_data?: any): void;
8949
+ static fromJS(data: any): RecordsManagementTransferDate;
8950
+ toJSON(data?: any): any;
8951
+ }
8952
+ /** A single interim-transfer step's dates for a record or record folder. A step is either a completed transfer or a projected one (see Transferred). Output only. */
8953
+ export interface IRecordsManagementTransferDate {
8954
+ /** The id of the disposition schedule transfer step this date corresponds to. */
8955
+ transferId?: number;
8956
+ /** The ordinal transfer number within the disposition schedule. */
8957
+ transferNumber?: number;
8958
+ /** The date the transfer occurred, or null when it has not yet taken place. */
8959
+ date?: Date | undefined;
8960
+ /** The date the entry becomes (or became) eligible for this transfer. */
8961
+ eligibleDate?: Date | undefined;
8962
+ /** True when the transfer has taken place; false when this is a projected date. */
8963
+ transferred?: boolean;
8964
+ }
8965
+ /** The records management properties of a document record (RecordType = Record). Adds the document-record-only members to the common RecordsManagementProperties shape. */
8966
+ export declare class RecordProperties extends RecordsManagementProperties implements IRecordProperties {
8967
+ /** The record folder this record is filed under, or null when independent. Computed (read-only). */
8968
+ recordFolderId?: number | undefined;
8969
+ /** True when the record is filed under a record folder. Computed (read-only). */
8970
+ underRecordFolder?: boolean | undefined;
8971
+ /** True when the record was cut off individually rather than with its folder. Computed (read-only). */
8972
+ isIndividuallyCutoff?: boolean | undefined;
8973
+ /** True when the cutoff criterion is inherited from the record folder. */
8974
+ isCutoffCriterionInherited?: boolean | undefined;
8975
+ /** True when the disposition schedule is inherited from the record folder. */
8976
+ isDispositionScheduleInherited?: boolean | undefined;
8977
+ /** The reviewer recorded for the last vital-record review, or null. Computed (read-only). */
8978
+ reviewer?: string | undefined;
8979
+ /** The last vital-record review date, or null when unset. */
8980
+ lastReviewDate?: Date | undefined;
8981
+ /** The next scheduled vital-record review date, or null. Computed (read-only). */
8982
+ nextReviewDate?: Date | undefined;
8983
+ constructor(data?: IRecordProperties);
8984
+ init(_data?: any): void;
8985
+ static fromJS(data: any): RecordProperties;
8986
+ toJSON(data?: any): any;
8987
+ }
8988
+ /** The records management properties of a document record (RecordType = Record). Adds the document-record-only members to the common RecordsManagementProperties shape. */
8989
+ export interface IRecordProperties extends IRecordsManagementProperties {
8990
+ /** The record folder this record is filed under, or null when independent. Computed (read-only). */
8991
+ recordFolderId?: number | undefined;
8992
+ /** True when the record is filed under a record folder. Computed (read-only). */
8993
+ underRecordFolder?: boolean | undefined;
8994
+ /** True when the record was cut off individually rather than with its folder. Computed (read-only). */
8995
+ isIndividuallyCutoff?: boolean | undefined;
8996
+ /** True when the cutoff criterion is inherited from the record folder. */
8997
+ isCutoffCriterionInherited?: boolean | undefined;
8998
+ /** True when the disposition schedule is inherited from the record folder. */
8999
+ isDispositionScheduleInherited?: boolean | undefined;
9000
+ /** The reviewer recorded for the last vital-record review, or null. Computed (read-only). */
9001
+ reviewer?: string | undefined;
9002
+ /** The last vital-record review date, or null when unset. */
9003
+ lastReviewDate?: Date | undefined;
9004
+ /** The next scheduled vital-record review date, or null. Computed (read-only). */
9005
+ nextReviewDate?: Date | undefined;
9006
+ }
9007
+ /** The records management properties of a record folder (RecordType = RecordFolder). Adds the record-folder-only members to the common RecordsManagementProperties shape. */
9008
+ export declare class RecordFolderProperties extends RecordsManagementProperties implements IRecordFolderProperties {
9009
+ /** True when the record folder is closed to new filings. */
9010
+ isClosed?: boolean | undefined;
9011
+ /** True when the record folder is permanent (never destroyed). */
9012
+ isPermanent?: boolean | undefined;
9013
+ /** The disposition authority name, or null. */
9014
+ dispositionAuthority?: string | undefined;
9015
+ /** The vital-record review cycle (calendar cycle) id, or null. */
9016
+ reviewCycleId?: number | undefined;
9017
+ /** The vital-record review interval, or null. */
9018
+ reviewInterval?: number | undefined;
9019
+ /** The review interval unit. */
9020
+ reviewIntervalUnit?: ReviewIntervalUnit | undefined;
9021
+ constructor(data?: IRecordFolderProperties);
9022
+ init(_data?: any): void;
9023
+ static fromJS(data: any): RecordFolderProperties;
9024
+ toJSON(data?: any): any;
9025
+ }
9026
+ /** The records management properties of a record folder (RecordType = RecordFolder). Adds the record-folder-only members to the common RecordsManagementProperties shape. */
9027
+ export interface IRecordFolderProperties extends IRecordsManagementProperties {
9028
+ /** True when the record folder is closed to new filings. */
9029
+ isClosed?: boolean | undefined;
9030
+ /** True when the record folder is permanent (never destroyed). */
9031
+ isPermanent?: boolean | undefined;
9032
+ /** The disposition authority name, or null. */
9033
+ dispositionAuthority?: string | undefined;
9034
+ /** The vital-record review cycle (calendar cycle) id, or null. */
9035
+ reviewCycleId?: number | undefined;
9036
+ /** The vital-record review interval, or null. */
9037
+ reviewInterval?: number | undefined;
9038
+ /** The review interval unit. */
9039
+ reviewIntervalUnit?: ReviewIntervalUnit | undefined;
9040
+ }
9041
+ /** The unit of a vital-record review interval. Serialized by name. */
9042
+ export declare enum ReviewIntervalUnit {
9043
+ NotApplicable = "NotApplicable",
9044
+ Day = "Day",
9045
+ Month = "Month"
9046
+ }
9047
+ /** A list of entry ids returned by a records management folder query (for example, the records eligible for disposition or transfer, or the independent records under a record folder). Callers join these ids against the entry endpoints to retrieve the entries themselves. */
9048
+ export declare class RecordEntryIdCollection implements IRecordEntryIdCollection {
9049
+ /** The matching entry ids. */
9050
+ entryIds?: number[] | undefined;
9051
+ constructor(data?: IRecordEntryIdCollection);
9052
+ init(_data?: any): void;
9053
+ static fromJS(data: any): RecordEntryIdCollection;
9054
+ toJSON(data?: any): any;
9055
+ }
9056
+ /** A list of entry ids returned by a records management folder query (for example, the records eligible for disposition or transfer, or the independent records under a record folder). Callers join these ids against the entry endpoints to retrieve the entries themselves. */
9057
+ export interface IRecordEntryIdCollection {
9058
+ /** The matching entry ids. */
9059
+ entryIds?: number[] | undefined;
9060
+ }
9061
+ /** The records management action to query a record folder's eligible records for. Used as the for selector on GetEligibleRecords. Serialized by name. */
9062
+ export declare enum EligibleRecordsAction {
9063
+ Disposition = "Disposition",
9064
+ Transfer = "Transfer"
9065
+ }
9066
+ /** The alternate-retention trigger events resolved for a record folder. */
9067
+ export declare class AltRetentionEventCollection implements IAltRetentionEventCollection {
9068
+ /** The alternate-retention trigger events. */
9069
+ events?: AltRetentionEvent[] | undefined;
9070
+ constructor(data?: IAltRetentionEventCollection);
9071
+ init(_data?: any): void;
9072
+ static fromJS(data: any): AltRetentionEventCollection;
9073
+ toJSON(data?: any): any;
9074
+ }
9075
+ /** The alternate-retention trigger events resolved for a record folder. */
9076
+ export interface IAltRetentionEventCollection {
9077
+ /** The alternate-retention trigger events. */
9078
+ events?: AltRetentionEvent[] | undefined;
9079
+ }
9080
+ /** An alternate-retention trigger event resolved for a record folder — the event whose occurrence drives the folder's alternate disposition schedule. Output only. */
9081
+ export declare class AltRetentionEvent implements IAltRetentionEvent {
9082
+ /** The entry the alternate-retention trigger applies to. */
9083
+ entryId?: number;
9084
+ /** The records management event definition id that triggers the alternate retention. */
9085
+ eventId?: number;
9086
+ /** The date the trigger event is set to occur, or null when unset. */
9087
+ triggerDate?: Date | undefined;
9088
+ constructor(data?: IAltRetentionEvent);
9089
+ init(_data?: any): void;
9090
+ static fromJS(data: any): AltRetentionEvent;
9091
+ toJSON(data?: any): any;
9092
+ }
9093
+ /** An alternate-retention trigger event resolved for a record folder — the event whose occurrence drives the folder's alternate disposition schedule. Output only. */
9094
+ export interface IAltRetentionEvent {
9095
+ /** The entry the alternate-retention trigger applies to. */
9096
+ entryId?: number;
9097
+ /** The records management event definition id that triggers the alternate retention. */
9098
+ eventId?: number;
9099
+ /** The date the trigger event is set to occur, or null when unset. */
9100
+ triggerDate?: Date | undefined;
9101
+ }
9102
+ /** A record series' retention defaults. A record series provides cascading defaults (cutoff criterion, disposition schedule, review cycle, permanence, disposition authority) that the record folders and records beneath it resolve against. */
9103
+ export declare class RecordSeriesProperties implements IRecordSeriesProperties {
9104
+ /** The record series code. */
9105
+ code?: string | undefined;
9106
+ /** The default cutoff criterion id, or null when none. */
9107
+ cutoffCriterionId?: number | undefined;
9108
+ /** The default disposition schedule id, or null when none. */
9109
+ dispositionScheduleId?: number | undefined;
9110
+ /** The disposition authority name, or null. */
9111
+ dispositionAuthority?: string | undefined;
9112
+ /** True when records under the series are permanent (never destroyed). */
9113
+ isPermanent?: boolean;
9114
+ /** The default vital-record review cycle (calendar cycle) id, or null when none. */
9115
+ reviewCycleId?: number | undefined;
9116
+ /** The default vital-record review interval, or null when none. */
9117
+ reviewInterval?: number | undefined;
9118
+ /** The default review interval unit. */
9119
+ reviewIntervalUnit?: ReviewIntervalUnit | undefined;
9120
+ constructor(data?: IRecordSeriesProperties);
9121
+ init(_data?: any): void;
9122
+ static fromJS(data: any): RecordSeriesProperties;
9123
+ toJSON(data?: any): any;
9124
+ }
9125
+ /** A record series' retention defaults. A record series provides cascading defaults (cutoff criterion, disposition schedule, review cycle, permanence, disposition authority) that the record folders and records beneath it resolve against. */
9126
+ export interface IRecordSeriesProperties {
9127
+ /** The record series code. */
9128
+ code?: string | undefined;
9129
+ /** The default cutoff criterion id, or null when none. */
9130
+ cutoffCriterionId?: number | undefined;
9131
+ /** The default disposition schedule id, or null when none. */
9132
+ dispositionScheduleId?: number | undefined;
9133
+ /** The disposition authority name, or null. */
9134
+ dispositionAuthority?: string | undefined;
9135
+ /** True when records under the series are permanent (never destroyed). */
9136
+ isPermanent?: boolean;
9137
+ /** The default vital-record review cycle (calendar cycle) id, or null when none. */
9138
+ reviewCycleId?: number | undefined;
9139
+ /** The default vital-record review interval, or null when none. */
9140
+ reviewInterval?: number | undefined;
9141
+ /** The default review interval unit. */
9142
+ reviewIntervalUnit?: ReviewIntervalUnit | undefined;
9143
+ }
9144
+ /** Request body for partial-update of an entry's records management properties. Every member is optional: null = leave unchanged. Id members accept 0 to clear the assignment. Dates are set by supplying a value; the two clearable dates (record folder triggerDate and record lastReviewDate) are cleared via their explicit clear* flags. Applying this update to a plain document promotes it to a record, and to a plain folder promotes it to a record folder, before the properties are applied. Members that do not apply to the entry's resulting type (for example record-folder members on a document record) are rejected with 400. */
9145
+ export declare class UpdateRecordsManagementPropertiesRequest implements IUpdateRecordsManagementPropertiesRequest {
9146
+ /** The cutoff criterion id to assign, or 0 to clear. */
9147
+ cutoffCriterionId?: number | undefined;
9148
+ /** The disposition schedule id to assign, or 0 to clear. */
9149
+ dispositionScheduleId?: number | undefined;
9150
+ /** The filing date to set. */
9151
+ filingDate?: Date | undefined;
9152
+ /** The alternate-retention trigger date to set. */
9153
+ triggerDate?: Date | undefined;
9154
+ /** Whether the cutoff criterion is inherited from the record folder. (record) */
9155
+ isCutoffCriterionInherited?: boolean | undefined;
9156
+ /** Whether the disposition schedule is inherited from the record folder. (record) */
9157
+ isDispositionScheduleInherited?: boolean | undefined;
9158
+ /** The last vital-record review date to set. (record) */
9159
+ lastReviewDate?: Date | undefined;
9160
+ /** When true, clear the last vital-record review date. (record) */
9161
+ clearLastReviewDate?: boolean;
9162
+ /** When true, clear the alternate-retention trigger date. (recordFolder) */
9163
+ clearTriggerDate?: boolean;
9164
+ /** Whether the record folder is closed to new filings. (recordFolder) */
9165
+ isClosed?: boolean | undefined;
9166
+ /** Whether the record folder is permanent (never destroyed). (recordFolder) */
9167
+ isPermanent?: boolean | undefined;
9168
+ /** The disposition authority name; empty string to clear. (recordFolder) */
9169
+ dispositionAuthority?: string | undefined;
9170
+ /** The vital-record review cycle (calendar cycle) id to assign, or 0 to clear. (recordFolder) */
9171
+ reviewCycleId?: number | undefined;
9172
+ /** The vital-record review interval to set. (recordFolder) */
9173
+ reviewInterval?: number | undefined;
9174
+ /** The review interval unit. (recordFolder) */
9175
+ reviewIntervalUnit?: ReviewIntervalUnit | undefined;
9176
+ constructor(data?: IUpdateRecordsManagementPropertiesRequest);
9177
+ init(_data?: any): void;
9178
+ static fromJS(data: any): UpdateRecordsManagementPropertiesRequest;
9179
+ toJSON(data?: any): any;
9180
+ }
9181
+ /** Request body for partial-update of an entry's records management properties. Every member is optional: null = leave unchanged. Id members accept 0 to clear the assignment. Dates are set by supplying a value; the two clearable dates (record folder triggerDate and record lastReviewDate) are cleared via their explicit clear* flags. Applying this update to a plain document promotes it to a record, and to a plain folder promotes it to a record folder, before the properties are applied. Members that do not apply to the entry's resulting type (for example record-folder members on a document record) are rejected with 400. */
9182
+ export interface IUpdateRecordsManagementPropertiesRequest {
9183
+ /** The cutoff criterion id to assign, or 0 to clear. */
9184
+ cutoffCriterionId?: number | undefined;
9185
+ /** The disposition schedule id to assign, or 0 to clear. */
9186
+ dispositionScheduleId?: number | undefined;
9187
+ /** The filing date to set. */
9188
+ filingDate?: Date | undefined;
9189
+ /** The alternate-retention trigger date to set. */
9190
+ triggerDate?: Date | undefined;
9191
+ /** Whether the cutoff criterion is inherited from the record folder. (record) */
9192
+ isCutoffCriterionInherited?: boolean | undefined;
9193
+ /** Whether the disposition schedule is inherited from the record folder. (record) */
9194
+ isDispositionScheduleInherited?: boolean | undefined;
9195
+ /** The last vital-record review date to set. (record) */
9196
+ lastReviewDate?: Date | undefined;
9197
+ /** When true, clear the last vital-record review date. (record) */
9198
+ clearLastReviewDate?: boolean;
9199
+ /** When true, clear the alternate-retention trigger date. (recordFolder) */
9200
+ clearTriggerDate?: boolean;
9201
+ /** Whether the record folder is closed to new filings. (recordFolder) */
9202
+ isClosed?: boolean | undefined;
9203
+ /** Whether the record folder is permanent (never destroyed). (recordFolder) */
9204
+ isPermanent?: boolean | undefined;
9205
+ /** The disposition authority name; empty string to clear. (recordFolder) */
9206
+ dispositionAuthority?: string | undefined;
9207
+ /** The vital-record review cycle (calendar cycle) id to assign, or 0 to clear. (recordFolder) */
9208
+ reviewCycleId?: number | undefined;
9209
+ /** The vital-record review interval to set. (recordFolder) */
9210
+ reviewInterval?: number | undefined;
9211
+ /** The review interval unit. (recordFolder) */
9212
+ reviewIntervalUnit?: ReviewIntervalUnit | undefined;
9213
+ }
9214
+ /** Request body for setting a records management event date on a record or record folder. */
9215
+ export declare class SetRecordEventRequest implements ISetRecordEventRequest {
9216
+ /** The records management event definition id whose date is being set. */
9217
+ eventId?: number;
9218
+ /** The date to record for the event. */
9219
+ date?: Date;
9220
+ constructor(data?: ISetRecordEventRequest);
9221
+ init(_data?: any): void;
9222
+ static fromJS(data: any): SetRecordEventRequest;
9223
+ toJSON(data?: any): any;
9224
+ }
9225
+ /** Request body for setting a records management event date on a record or record folder. */
9226
+ export interface ISetRecordEventRequest {
9227
+ /** The records management event definition id whose date is being set. */
9228
+ eventId?: number;
9229
+ /** The date to record for the event. */
9230
+ date?: Date;
9231
+ }
9232
+ /** Request body for removing a records management event date from a record or record folder. */
9233
+ export declare class RemoveRecordEventRequest implements IRemoveRecordEventRequest {
9234
+ /** The records management event definition id whose date is being removed. */
9235
+ eventId?: number;
9236
+ constructor(data?: IRemoveRecordEventRequest);
9237
+ init(_data?: any): void;
9238
+ static fromJS(data: any): RemoveRecordEventRequest;
9239
+ toJSON(data?: any): any;
9240
+ }
9241
+ /** Request body for removing a records management event date from a record or record folder. */
9242
+ export interface IRemoveRecordEventRequest {
9243
+ /** The records management event definition id whose date is being removed. */
9244
+ eventId?: number;
9245
+ }
9246
+ /** Request body for partial-update of a record series' retention defaults. Every member is optional: null = leave unchanged. Id members accept 0 to clear the assignment. */
9247
+ export declare class UpdateRecordSeriesPropertiesRequest implements IUpdateRecordSeriesPropertiesRequest {
9248
+ /** The default cutoff criterion id to assign, or 0 to clear. */
9249
+ cutoffCriterionId?: number | undefined;
9250
+ /** The default disposition schedule id to assign, or 0 to clear. */
9251
+ dispositionScheduleId?: number | undefined;
9252
+ /** The disposition authority name; empty string to clear. */
9253
+ dispositionAuthority?: string | undefined;
9254
+ /** Whether records under the series are permanent (never destroyed). */
9255
+ isPermanent?: boolean | undefined;
9256
+ /** The default vital-record review cycle (calendar cycle) id to assign, or 0 to clear. */
9257
+ reviewCycleId?: number | undefined;
9258
+ /** The default vital-record review interval to set. */
9259
+ reviewInterval?: number | undefined;
9260
+ /** The default review interval unit. */
9261
+ reviewIntervalUnit?: ReviewIntervalUnit | undefined;
9262
+ /** When true, cascade the changed defaults to the record folders and records beneath the
9263
+ series. When false (default), only the series' own defaults change. */
9264
+ cascade?: boolean;
9265
+ constructor(data?: IUpdateRecordSeriesPropertiesRequest);
9266
+ init(_data?: any): void;
9267
+ static fromJS(data: any): UpdateRecordSeriesPropertiesRequest;
9268
+ toJSON(data?: any): any;
9269
+ }
9270
+ /** Request body for partial-update of a record series' retention defaults. Every member is optional: null = leave unchanged. Id members accept 0 to clear the assignment. */
9271
+ export interface IUpdateRecordSeriesPropertiesRequest {
9272
+ /** The default cutoff criterion id to assign, or 0 to clear. */
9273
+ cutoffCriterionId?: number | undefined;
9274
+ /** The default disposition schedule id to assign, or 0 to clear. */
9275
+ dispositionScheduleId?: number | undefined;
9276
+ /** The disposition authority name; empty string to clear. */
9277
+ dispositionAuthority?: string | undefined;
9278
+ /** Whether records under the series are permanent (never destroyed). */
9279
+ isPermanent?: boolean | undefined;
9280
+ /** The default vital-record review cycle (calendar cycle) id to assign, or 0 to clear. */
9281
+ reviewCycleId?: number | undefined;
9282
+ /** The default vital-record review interval to set. */
9283
+ reviewInterval?: number | undefined;
9284
+ /** The default review interval unit. */
9285
+ reviewIntervalUnit?: ReviewIntervalUnit | undefined;
9286
+ /** When true, cascade the changed defaults to the record folders and records beneath the
9287
+ series. When false (default), only the series' own defaults change. */
9288
+ cascade?: boolean;
9289
+ }
9290
+ /** Request body for creating a record series under a parent folder. */
9291
+ export declare class CreateRecordSeriesRequest implements ICreateRecordSeriesRequest {
9292
+ /** The name of the new record series. */
9293
+ name?: string | undefined;
9294
+ /** The record series code. */
9295
+ code?: string | undefined;
9296
+ /** When true, the server appends a suffix to the name on a naming conflict instead of failing. */
9297
+ autoRename?: boolean;
9298
+ constructor(data?: ICreateRecordSeriesRequest);
9299
+ init(_data?: any): void;
9300
+ static fromJS(data: any): CreateRecordSeriesRequest;
9301
+ toJSON(data?: any): any;
9302
+ }
9303
+ /** Request body for creating a record series under a parent folder. */
9304
+ export interface ICreateRecordSeriesRequest {
9305
+ /** The name of the new record series. */
9306
+ name?: string | undefined;
9307
+ /** The record series code. */
9308
+ code?: string | undefined;
9309
+ /** When true, the server appends a suffix to the name on a naming conflict instead of failing. */
9310
+ autoRename?: boolean;
9311
+ }
6063
9312
  /** Response containing a collection of Repository. */
6064
9313
  export declare class RepositoryCollectionResponse implements IRepositoryCollectionResponse {
9314
+ /** Gets or sets the OData response content in the "value". */
6065
9315
  value?: Repository[] | undefined;
6066
9316
  constructor(data?: IRepositoryCollectionResponse);
6067
9317
  init(_data?: any): void;
@@ -6070,6 +9320,7 @@ export declare class RepositoryCollectionResponse implements IRepositoryCollecti
6070
9320
  }
6071
9321
  /** Response containing a collection of Repository. */
6072
9322
  export interface IRepositoryCollectionResponse {
9323
+ /** Gets or sets the OData response content in the "value". */
6073
9324
  value?: Repository[] | undefined;
6074
9325
  }
6075
9326
  /** Represents a Laserfiche repository. */
@@ -6094,6 +9345,42 @@ export interface IRepository {
6094
9345
  /** The corresponding repository Web Client url. */
6095
9346
  webClientUrl?: string | undefined;
6096
9347
  }
9348
+ /** The current session's rights in a repository: the privileges and feature rights held by the session, plus whether the session is read-only. Reported as named booleans (each map is keyed by the right's name with a granted true/false) rather than a raw bitmask, for UI enablement and pre-flight checks. Reflects the current session only — per-trustee privilege administration is not part of this surface. */
9349
+ export declare class SessionRights implements ISessionRights {
9350
+ /** The session's privileges, keyed by privilege name (e.g. EntryAccess,
9351
+ RecordManager), with the value indicating whether the session holds that privilege. */
9352
+ privileges?: {
9353
+ [key: string]: boolean;
9354
+ } | undefined;
9355
+ /** The session's feature rights, keyed by feature-right name (e.g. Search,
9356
+ Import), with the value indicating whether the session holds that feature right. */
9357
+ featureRights?: {
9358
+ [key: string]: boolean;
9359
+ } | undefined;
9360
+ /** True when the current session is read-only, so no write operations are possible regardless
9361
+ of the granted privileges or feature rights. */
9362
+ isReadOnly?: boolean;
9363
+ constructor(data?: ISessionRights);
9364
+ init(_data?: any): void;
9365
+ static fromJS(data: any): SessionRights;
9366
+ toJSON(data?: any): any;
9367
+ }
9368
+ /** The current session's rights in a repository: the privileges and feature rights held by the session, plus whether the session is read-only. Reported as named booleans (each map is keyed by the right's name with a granted true/false) rather than a raw bitmask, for UI enablement and pre-flight checks. Reflects the current session only — per-trustee privilege administration is not part of this surface. */
9369
+ export interface ISessionRights {
9370
+ /** The session's privileges, keyed by privilege name (e.g. EntryAccess,
9371
+ RecordManager), with the value indicating whether the session holds that privilege. */
9372
+ privileges?: {
9373
+ [key: string]: boolean;
9374
+ } | undefined;
9375
+ /** The session's feature rights, keyed by feature-right name (e.g. Search,
9376
+ Import), with the value indicating whether the session holds that feature right. */
9377
+ featureRights?: {
9378
+ [key: string]: boolean;
9379
+ } | undefined;
9380
+ /** True when the current session is read-only, so no write operations are possible regardless
9381
+ of the granted privileges or feature rights. */
9382
+ isReadOnly?: boolean;
9383
+ }
6097
9384
  /** Request body for starting an asynchronous search entry task. */
6098
9385
  export declare class StartSearchEntryRequest implements IStartSearchEntryRequest {
6099
9386
  /** The search command to run. The search command should follow the Laserfiche search syntax. https://doc.laserfiche.com/laserfiche.documentation/en-us/Default.htm#Search_Syntax.htm */
@@ -6127,6 +9414,7 @@ export declare class SearchContextHitCollectionResponse implements ISearchContex
6127
9414
  odataNextLink?: string | undefined;
6128
9415
  /** The total count of items within a collection. */
6129
9416
  odataCount?: number | undefined;
9417
+ /** Gets or sets the OData response content in the "value". */
6130
9418
  value?: SearchContextHit[] | undefined;
6131
9419
  constructor(data?: ISearchContextHitCollectionResponse);
6132
9420
  init(_data?: any): void;
@@ -6139,6 +9427,7 @@ export interface ISearchContextHitCollectionResponse {
6139
9427
  odataNextLink?: string | undefined;
6140
9428
  /** The total count of items within a collection. */
6141
9429
  odataCount?: number | undefined;
9430
+ /** Gets or sets the OData response content in the "value". */
6142
9431
  value?: SearchContextHit[] | undefined;
6143
9432
  }
6144
9433
  /** Represents a context hit for a search result. */
@@ -6244,12 +9533,75 @@ export interface ISearchEntryRequest {
6244
9533
  /** The search command to run. The search command should follow the Laserfiche search syntax. https://doc.laserfiche.com/laserfiche.documentation/en-us/Default.htm#Search_Syntax.htm */
6245
9534
  searchCommand: string;
6246
9535
  }
9536
+ /** A stamp in the repository stamp catalog. The stamp image is retrieved separately as a PNG. */
9537
+ export declare class Stamp implements IStamp {
9538
+ /** The ID of the stamp. */
9539
+ id?: number;
9540
+ /** The display name of the stamp. */
9541
+ name?: string | undefined;
9542
+ /** A boolean indicating whether the stamp is public (shared) rather than personal. */
9543
+ isPublic?: boolean;
9544
+ /** The security identifier (SID) of the stamp's owner. */
9545
+ owner?: string | undefined;
9546
+ /** Optional application-defined custom data stored with the stamp. */
9547
+ customData?: string | undefined;
9548
+ /** The width of the stamp image in pixels. */
9549
+ imageWidth?: number;
9550
+ /** The height of the stamp image in pixels. */
9551
+ imageHeight?: number;
9552
+ constructor(data?: IStamp);
9553
+ init(_data?: any): void;
9554
+ static fromJS(data: any): Stamp;
9555
+ toJSON(data?: any): any;
9556
+ }
9557
+ /** A stamp in the repository stamp catalog. The stamp image is retrieved separately as a PNG. */
9558
+ export interface IStamp {
9559
+ /** The ID of the stamp. */
9560
+ id?: number;
9561
+ /** The display name of the stamp. */
9562
+ name?: string | undefined;
9563
+ /** A boolean indicating whether the stamp is public (shared) rather than personal. */
9564
+ isPublic?: boolean;
9565
+ /** The security identifier (SID) of the stamp's owner. */
9566
+ owner?: string | undefined;
9567
+ /** Optional application-defined custom data stored with the stamp. */
9568
+ customData?: string | undefined;
9569
+ /** The width of the stamp image in pixels. */
9570
+ imageWidth?: number;
9571
+ /** The height of the stamp image in pixels. */
9572
+ imageHeight?: number;
9573
+ }
9574
+ /** Which stamps to list. */
9575
+ export declare enum StampScope {
9576
+ Public = 0,
9577
+ Personal = 1,
9578
+ All = 2
9579
+ }
9580
+ /** Request body for updating a stamp's metadata. The stamp image cannot be changed after creation. */
9581
+ export declare class UpdateStampRequest implements IUpdateStampRequest {
9582
+ /** The new display name of the stamp. Omit to leave unchanged. */
9583
+ name?: string | undefined;
9584
+ /** New custom data for the stamp. Omit to leave unchanged. */
9585
+ customData?: string | undefined;
9586
+ constructor(data?: IUpdateStampRequest);
9587
+ init(_data?: any): void;
9588
+ static fromJS(data: any): UpdateStampRequest;
9589
+ toJSON(data?: any): any;
9590
+ }
9591
+ /** Request body for updating a stamp's metadata. The stamp image cannot be changed after creation. */
9592
+ export interface IUpdateStampRequest {
9593
+ /** The new display name of the stamp. Omit to leave unchanged. */
9594
+ name?: string | undefined;
9595
+ /** New custom data for the stamp. Omit to leave unchanged. */
9596
+ customData?: string | undefined;
9597
+ }
6247
9598
  /** Response containing a collection of TagDefinition. */
6248
9599
  export declare class TagDefinitionCollectionResponse implements ITagDefinitionCollectionResponse {
6249
9600
  /** A URL to retrieve the next page of the requested collection. */
6250
9601
  odataNextLink?: string | undefined;
6251
9602
  /** The total count of items within a collection. */
6252
9603
  odataCount?: number | undefined;
9604
+ /** Gets or sets the OData response content in the "value". */
6253
9605
  value?: TagDefinition[] | undefined;
6254
9606
  constructor(data?: ITagDefinitionCollectionResponse);
6255
9607
  init(_data?: any): void;
@@ -6262,6 +9614,7 @@ export interface ITagDefinitionCollectionResponse {
6262
9614
  odataNextLink?: string | undefined;
6263
9615
  /** The total count of items within a collection. */
6264
9616
  odataCount?: number | undefined;
9617
+ /** Gets or sets the OData response content in the "value". */
6265
9618
  value?: TagDefinition[] | undefined;
6266
9619
  }
6267
9620
  /** Represents an entry tag definition. */
@@ -6300,6 +9653,7 @@ export interface ITagDefinition {
6300
9653
  }
6301
9654
  /** Response containing a collection of TaskProgress. */
6302
9655
  export declare class TaskCollectionResponse implements ITaskCollectionResponse {
9656
+ /** Gets or sets the OData response content in the "value". */
6303
9657
  value?: TaskProgress[] | undefined;
6304
9658
  constructor(data?: ITaskCollectionResponse);
6305
9659
  init(_data?: any): void;
@@ -6308,6 +9662,7 @@ export declare class TaskCollectionResponse implements ITaskCollectionResponse {
6308
9662
  }
6309
9663
  /** Response containing a collection of TaskProgress. */
6310
9664
  export interface ITaskCollectionResponse {
9665
+ /** Gets or sets the OData response content in the "value". */
6311
9666
  value?: TaskProgress[] | undefined;
6312
9667
  }
6313
9668
  /** Represents the progress of a long operation task. */
@@ -6388,6 +9743,7 @@ export interface ITaskResult {
6388
9743
  }
6389
9744
  /** Response containing a collection of CancelTaskResult. */
6390
9745
  export declare class CancelTasksResponse implements ICancelTasksResponse {
9746
+ /** Gets or sets the OData response content in the "value". */
6391
9747
  value?: CancelTaskResult[] | undefined;
6392
9748
  constructor(data?: ICancelTasksResponse);
6393
9749
  init(_data?: any): void;
@@ -6396,6 +9752,7 @@ export declare class CancelTasksResponse implements ICancelTasksResponse {
6396
9752
  }
6397
9753
  /** Response containing a collection of CancelTaskResult. */
6398
9754
  export interface ICancelTasksResponse {
9755
+ /** Gets or sets the OData response content in the "value". */
6399
9756
  value?: CancelTaskResult[] | undefined;
6400
9757
  }
6401
9758
  /** Represents the result of cancelling a long operation task. */
@@ -6426,6 +9783,7 @@ export declare class TemplateDefinitionCollectionResponse implements ITemplateDe
6426
9783
  odataNextLink?: string | undefined;
6427
9784
  /** The total count of items within a collection. */
6428
9785
  odataCount?: number | undefined;
9786
+ /** Gets or sets the OData response content in the "value". */
6429
9787
  value?: TemplateDefinition[] | undefined;
6430
9788
  constructor(data?: ITemplateDefinitionCollectionResponse);
6431
9789
  init(_data?: any): void;
@@ -6438,6 +9796,7 @@ export interface ITemplateDefinitionCollectionResponse {
6438
9796
  odataNextLink?: string | undefined;
6439
9797
  /** The total count of items within a collection. */
6440
9798
  odataCount?: number | undefined;
9799
+ /** Gets or sets the OData response content in the "value". */
6441
9800
  value?: TemplateDefinition[] | undefined;
6442
9801
  }
6443
9802
  /** Response containing a collection of TemplateFieldDefinition. */
@@ -6446,6 +9805,7 @@ export declare class TemplateFieldDefinitionCollectionResponse implements ITempl
6446
9805
  odataNextLink?: string | undefined;
6447
9806
  /** The total count of items within a collection. */
6448
9807
  odataCount?: number | undefined;
9808
+ /** Gets or sets the OData response content in the "value". */
6449
9809
  value?: TemplateFieldDefinition[] | undefined;
6450
9810
  constructor(data?: ITemplateFieldDefinitionCollectionResponse);
6451
9811
  init(_data?: any): void;
@@ -6458,6 +9818,7 @@ export interface ITemplateFieldDefinitionCollectionResponse {
6458
9818
  odataNextLink?: string | undefined;
6459
9819
  /** The total count of items within a collection. */
6460
9820
  odataCount?: number | undefined;
9821
+ /** Gets or sets the OData response content in the "value". */
6461
9822
  value?: TemplateFieldDefinition[] | undefined;
6462
9823
  }
6463
9824
  /** Represents a template field definition. */
@@ -6714,6 +10075,367 @@ export interface IMoveTemplateFieldRequest {
6714
10075
  current field count are rejected with 400. */
6715
10076
  newPosition: number;
6716
10077
  }
10078
+ /** The access control list (ACL) of a template definition: its access control entries. Template ACLs have no parent inheritance, so there is no inherit-parents flag. */
10079
+ export declare class TemplateAccessControlList implements ITemplateAccessControlList {
10080
+ /** The access control entries that make up the ACL. */
10081
+ entries?: TemplateAccessControlEntry[] | undefined;
10082
+ constructor(data?: ITemplateAccessControlList);
10083
+ init(_data?: any): void;
10084
+ static fromJS(data: any): TemplateAccessControlList;
10085
+ toJSON(data?: any): any;
10086
+ }
10087
+ /** The access control list (ACL) of a template definition: its access control entries. Template ACLs have no parent inheritance, so there is no inherit-parents flag. */
10088
+ export interface ITemplateAccessControlList {
10089
+ /** The access control entries that make up the ACL. */
10090
+ entries?: TemplateAccessControlEntry[] | undefined;
10091
+ }
10092
+ /** A single access control entry (ACE) on a template definition: one trustee, whether its rights are allowed or denied, and the rights themselves. A trustee that has both allowed and denied rights is represented as two ACEs. Unlike entry ACEs, template ACEs have no scope and are never inherited. */
10093
+ export declare class TemplateAccessControlEntry implements ITemplateAccessControlEntry {
10094
+ /** The trustee this ACE applies to. On input, identify the trustee by either
10095
+ trustee.sid or trustee.accountName (the SID takes precedence when both are given). */
10096
+ trustee?: TrusteeIdentity | undefined;
10097
+ /** Whether the ACE grants (Allow) or denies (Deny) the listed rights. Required on
10098
+ input — a missing value is rejected (it must not silently default to Allow). */
10099
+ accessControlType?: AccessControlType | undefined;
10100
+ /** The rights granted or denied by this ACE. */
10101
+ rights?: TemplateRight[] | undefined;
10102
+ /** True when this ACE is inherited. Always false for template ACEs (template definitions have
10103
+ no ACL inheritance); returned for contract symmetry and ignored on input. */
10104
+ isInherited?: boolean;
10105
+ /** When inherited, a description of where the ACE was inherited from. Output only; null for
10106
+ template ACEs. */
10107
+ inheritedFrom?: string | undefined;
10108
+ constructor(data?: ITemplateAccessControlEntry);
10109
+ init(_data?: any): void;
10110
+ static fromJS(data: any): TemplateAccessControlEntry;
10111
+ toJSON(data?: any): any;
10112
+ }
10113
+ /** A single access control entry (ACE) on a template definition: one trustee, whether its rights are allowed or denied, and the rights themselves. A trustee that has both allowed and denied rights is represented as two ACEs. Unlike entry ACEs, template ACEs have no scope and are never inherited. */
10114
+ export interface ITemplateAccessControlEntry {
10115
+ /** The trustee this ACE applies to. On input, identify the trustee by either
10116
+ trustee.sid or trustee.accountName (the SID takes precedence when both are given). */
10117
+ trustee?: TrusteeIdentity | undefined;
10118
+ /** Whether the ACE grants (Allow) or denies (Deny) the listed rights. Required on
10119
+ input — a missing value is rejected (it must not silently default to Allow). */
10120
+ accessControlType?: AccessControlType | undefined;
10121
+ /** The rights granted or denied by this ACE. */
10122
+ rights?: TemplateRight[] | undefined;
10123
+ /** True when this ACE is inherited. Always false for template ACEs (template definitions have
10124
+ no ACL inheritance); returned for contract symmetry and ignored on input. */
10125
+ isInherited?: boolean;
10126
+ /** When inherited, a description of where the ACE was inherited from. Output only; null for
10127
+ template ACEs. */
10128
+ inheritedFrom?: string | undefined;
10129
+ }
10130
+ /** An individual access right that can be granted to or denied a trustee on a template definition. Serialized by name; emitted as a string enum in the OpenAPI schema so clients can reference it directly. */
10131
+ export declare enum TemplateRight {
10132
+ ReadDefinition = "ReadDefinition",
10133
+ Modify = "Modify",
10134
+ Delete = "Delete",
10135
+ ReadPermissions = "ReadPermissions",
10136
+ ChangePermissions = "ChangePermissions",
10137
+ TakeOwnership = "TakeOwnership"
10138
+ }
10139
+ /** Request body for replacing a template definition's access control list. The supplied entries fully replace the template's existing explicit ACL. Inherited entries are not accepted. */
10140
+ export declare class SetTemplateAccessControlRequest implements ISetTemplateAccessControlRequest {
10141
+ /** The access control entries to set. Replaces the template's entire explicit ACL. */
10142
+ entries?: TemplateAccessControlEntry[] | undefined;
10143
+ constructor(data?: ISetTemplateAccessControlRequest);
10144
+ init(_data?: any): void;
10145
+ static fromJS(data: any): SetTemplateAccessControlRequest;
10146
+ toJSON(data?: any): any;
10147
+ }
10148
+ /** Request body for replacing a template definition's access control list. The supplied entries fully replace the template's existing explicit ACL. Inherited entries are not accepted. */
10149
+ export interface ISetTemplateAccessControlRequest {
10150
+ /** The access control entries to set. Replaces the template's entire explicit ACL. */
10151
+ entries?: TemplateAccessControlEntry[] | undefined;
10152
+ }
10153
+ /** A trustee's rights to a template definition. Depending on the aclOnly option on the request, these are either the effective rights (the net result after group membership, allow/deny resolution, and the repository's privilege overlay) or the rights granted by the template's access control list alone. */
10154
+ export declare class TemplateRights implements ITemplateRights {
10155
+ /** The rights granted to the trustee on the template. */
10156
+ rights?: TemplateRight[] | undefined;
10157
+ /** True when the session is read-only, so no write operations are possible regardless of
10158
+ the granted rights. */
10159
+ isReadOnly?: boolean;
10160
+ constructor(data?: ITemplateRights);
10161
+ init(_data?: any): void;
10162
+ static fromJS(data: any): TemplateRights;
10163
+ toJSON(data?: any): any;
10164
+ }
10165
+ /** A trustee's rights to a template definition. Depending on the aclOnly option on the request, these are either the effective rights (the net result after group membership, allow/deny resolution, and the repository's privilege overlay) or the rights granted by the template's access control list alone. */
10166
+ export interface ITemplateRights {
10167
+ /** The rights granted to the trustee on the template. */
10168
+ rights?: TemplateRight[] | undefined;
10169
+ /** True when the session is read-only, so no write operations are possible regardless of
10170
+ the granted rights. */
10171
+ isReadOnly?: boolean;
10172
+ }
10173
+ /** A trustee's account security: the privileges and feature rights the trustee holds, the security tags assigned to it, the audit classes configured for it, and whether the trustee is read-only. Privileges, feature rights, and audit masks are reported as named booleans (each map keyed by the right's name with a granted true/false) rather than raw bitmasks. The values are either effective (the default — what applies once the trustee's group memberships are resolved) or direct (only what is assigned on the trustee record itself), selected by the request's includeInherited flag. The effective view is a documented best-effort computation: in rare cases it can differ from the trustee's real rights. The authoritative way to determine a trustee's security is to sign in as that trustee and read the resulting session's rights. */
10174
+ export declare class TrusteeSecurity implements ITrusteeSecurity {
10175
+ /** The trustee's privileges, keyed by privilege name (e.g. EntryAccess,
10176
+ RecordManager), with the value indicating whether the trustee holds that privilege. */
10177
+ privileges?: {
10178
+ [key: string]: boolean;
10179
+ } | undefined;
10180
+ /** The trustee's feature rights, keyed by feature-right name (e.g. Search,
10181
+ Import), with the value indicating whether the trustee holds that feature right. */
10182
+ featureRights?: {
10183
+ [key: string]: boolean;
10184
+ } | undefined;
10185
+ /** True when the trustee is read-only, so no write operations are possible regardless of the
10186
+ granted privileges or feature rights. */
10187
+ isReadOnly?: boolean;
10188
+ /** The security tags assigned to the trustee. */
10189
+ tags?: TrusteeTag[] | undefined;
10190
+ /** The audit classes configured for the trustee, split into successful- and failed-operation
10191
+ masks. Each map is keyed by audit-class name with the value indicating whether that class is
10192
+ audited. */
10193
+ auditMasks?: TrusteeAuditMasks | undefined;
10194
+ constructor(data?: ITrusteeSecurity);
10195
+ init(_data?: any): void;
10196
+ static fromJS(data: any): TrusteeSecurity;
10197
+ toJSON(data?: any): any;
10198
+ }
10199
+ /** A trustee's account security: the privileges and feature rights the trustee holds, the security tags assigned to it, the audit classes configured for it, and whether the trustee is read-only. Privileges, feature rights, and audit masks are reported as named booleans (each map keyed by the right's name with a granted true/false) rather than raw bitmasks. The values are either effective (the default — what applies once the trustee's group memberships are resolved) or direct (only what is assigned on the trustee record itself), selected by the request's includeInherited flag. The effective view is a documented best-effort computation: in rare cases it can differ from the trustee's real rights. The authoritative way to determine a trustee's security is to sign in as that trustee and read the resulting session's rights. */
10200
+ export interface ITrusteeSecurity {
10201
+ /** The trustee's privileges, keyed by privilege name (e.g. EntryAccess,
10202
+ RecordManager), with the value indicating whether the trustee holds that privilege. */
10203
+ privileges?: {
10204
+ [key: string]: boolean;
10205
+ } | undefined;
10206
+ /** The trustee's feature rights, keyed by feature-right name (e.g. Search,
10207
+ Import), with the value indicating whether the trustee holds that feature right. */
10208
+ featureRights?: {
10209
+ [key: string]: boolean;
10210
+ } | undefined;
10211
+ /** True when the trustee is read-only, so no write operations are possible regardless of the
10212
+ granted privileges or feature rights. */
10213
+ isReadOnly?: boolean;
10214
+ /** The security tags assigned to the trustee. */
10215
+ tags?: TrusteeTag[] | undefined;
10216
+ /** The audit classes configured for the trustee, split into successful- and failed-operation
10217
+ masks. Each map is keyed by audit-class name with the value indicating whether that class is
10218
+ audited. */
10219
+ auditMasks?: TrusteeAuditMasks | undefined;
10220
+ }
10221
+ /** A security tag assigned to a trustee. */
10222
+ export declare class TrusteeTag implements ITrusteeTag {
10223
+ /** The tag's ID. */
10224
+ id?: number;
10225
+ /** The tag's name. */
10226
+ name?: string | undefined;
10227
+ /** True when the tag is a security tag. */
10228
+ isSecure?: boolean;
10229
+ constructor(data?: ITrusteeTag);
10230
+ init(_data?: any): void;
10231
+ static fromJS(data: any): TrusteeTag;
10232
+ toJSON(data?: any): any;
10233
+ }
10234
+ /** A security tag assigned to a trustee. */
10235
+ export interface ITrusteeTag {
10236
+ /** The tag's ID. */
10237
+ id?: number;
10238
+ /** The tag's name. */
10239
+ name?: string | undefined;
10240
+ /** True when the tag is a security tag. */
10241
+ isSecure?: boolean;
10242
+ }
10243
+ /** The audit classes configured for a trustee, split by operation outcome. */
10244
+ export declare class TrusteeAuditMasks implements ITrusteeAuditMasks {
10245
+ /** Audit classes audited on successful operations, keyed by audit-class name. */
10246
+ success?: {
10247
+ [key: string]: boolean;
10248
+ } | undefined;
10249
+ /** Audit classes audited on failed operations, keyed by audit-class name. */
10250
+ failure?: {
10251
+ [key: string]: boolean;
10252
+ } | undefined;
10253
+ constructor(data?: ITrusteeAuditMasks);
10254
+ init(_data?: any): void;
10255
+ static fromJS(data: any): TrusteeAuditMasks;
10256
+ toJSON(data?: any): any;
10257
+ }
10258
+ /** The audit classes configured for a trustee, split by operation outcome. */
10259
+ export interface ITrusteeAuditMasks {
10260
+ /** Audit classes audited on successful operations, keyed by audit-class name. */
10261
+ success?: {
10262
+ [key: string]: boolean;
10263
+ } | undefined;
10264
+ /** Audit classes audited on failed operations, keyed by audit-class name. */
10265
+ failure?: {
10266
+ [key: string]: boolean;
10267
+ } | undefined;
10268
+ }
10269
+ /** Represents an entry referenced by a user's Recent Documents or Recent Folders list. */
10270
+ export declare class UserAreaEntry implements IUserAreaEntry {
10271
+ /** The ID of the recently accessed entry. */
10272
+ entryId?: number;
10273
+ /** The full repository path of the recently accessed entry. */
10274
+ fullPath?: string | undefined;
10275
+ constructor(data?: IUserAreaEntry);
10276
+ init(_data?: any): void;
10277
+ static fromJS(data: any): UserAreaEntry;
10278
+ toJSON(data?: any): any;
10279
+ }
10280
+ /** Represents an entry referenced by a user's Recent Documents or Recent Folders list. */
10281
+ export interface IUserAreaEntry {
10282
+ /** The ID of the recently accessed entry. */
10283
+ entryId?: number;
10284
+ /** The full repository path of the recently accessed entry. */
10285
+ fullPath?: string | undefined;
10286
+ }
10287
+ /** Request body for starring or unstarring one or more entries. */
10288
+ export declare class StarEntriesRequest implements IStarEntriesRequest {
10289
+ /** The IDs of the entries to star or unstar. Must contain at least one entry ID. */
10290
+ entryIds?: number[] | undefined;
10291
+ constructor(data?: IStarEntriesRequest);
10292
+ init(_data?: any): void;
10293
+ static fromJS(data: any): StarEntriesRequest;
10294
+ toJSON(data?: any): any;
10295
+ }
10296
+ /** Request body for starring or unstarring one or more entries. */
10297
+ export interface IStarEntriesRequest {
10298
+ /** The IDs of the entries to star or unstar. Must contain at least one entry ID. */
10299
+ entryIds?: number[] | undefined;
10300
+ }
10301
+ /** Represents a user's Personal Collection — a named, per-user set of entries. */
10302
+ export declare class PersonalCollection implements IPersonalCollection {
10303
+ /** The stable identifier of the collection (the underlying user-area name). */
10304
+ id?: string | undefined;
10305
+ /** The display name of the collection. */
10306
+ name?: string | undefined;
10307
+ /** The IDs of the entries contained in the collection. */
10308
+ entryIds?: number[] | undefined;
10309
+ constructor(data?: IPersonalCollection);
10310
+ init(_data?: any): void;
10311
+ static fromJS(data: any): PersonalCollection;
10312
+ toJSON(data?: any): any;
10313
+ }
10314
+ /** Represents a user's Personal Collection — a named, per-user set of entries. */
10315
+ export interface IPersonalCollection {
10316
+ /** The stable identifier of the collection (the underlying user-area name). */
10317
+ id?: string | undefined;
10318
+ /** The display name of the collection. */
10319
+ name?: string | undefined;
10320
+ /** The IDs of the entries contained in the collection. */
10321
+ entryIds?: number[] | undefined;
10322
+ }
10323
+ /** Request body for creating a Personal Collection. */
10324
+ export declare class CreatePersonalCollectionRequest implements ICreatePersonalCollectionRequest {
10325
+ /** The display name for the new collection. Required, must be 256 characters or fewer, and must not
10326
+ duplicate an existing collection name or a reserved name. */
10327
+ name?: string | undefined;
10328
+ constructor(data?: ICreatePersonalCollectionRequest);
10329
+ init(_data?: any): void;
10330
+ static fromJS(data: any): CreatePersonalCollectionRequest;
10331
+ toJSON(data?: any): any;
10332
+ }
10333
+ /** Request body for creating a Personal Collection. */
10334
+ export interface ICreatePersonalCollectionRequest {
10335
+ /** The display name for the new collection. Required, must be 256 characters or fewer, and must not
10336
+ duplicate an existing collection name or a reserved name. */
10337
+ name?: string | undefined;
10338
+ }
10339
+ /** Request body for renaming a Personal Collection. */
10340
+ export declare class RenamePersonalCollectionRequest implements IRenamePersonalCollectionRequest {
10341
+ /** The new display name for the collection. Same constraints as creation. */
10342
+ name?: string | undefined;
10343
+ constructor(data?: IRenamePersonalCollectionRequest);
10344
+ init(_data?: any): void;
10345
+ static fromJS(data: any): RenamePersonalCollectionRequest;
10346
+ toJSON(data?: any): any;
10347
+ }
10348
+ /** Request body for renaming a Personal Collection. */
10349
+ export interface IRenamePersonalCollectionRequest {
10350
+ /** The new display name for the collection. Same constraints as creation. */
10351
+ name?: string | undefined;
10352
+ }
10353
+ /** Request body carrying a set of entry IDs (used to add or remove entries from a collection). */
10354
+ export declare class EntryIdsRequest implements IEntryIdsRequest {
10355
+ /** The IDs of the entries to add or remove. Must contain at least one entry ID. */
10356
+ entryIds?: number[] | undefined;
10357
+ constructor(data?: IEntryIdsRequest);
10358
+ init(_data?: any): void;
10359
+ static fromJS(data: any): EntryIdsRequest;
10360
+ toJSON(data?: any): any;
10361
+ }
10362
+ /** Request body carrying a set of entry IDs (used to add or remove entries from a collection). */
10363
+ export interface IEntryIdsRequest {
10364
+ /** The IDs of the entries to add or remove. Must contain at least one entry ID. */
10365
+ entryIds?: number[] | undefined;
10366
+ }
10367
+ /** Represents a generic, owner-scoped user area (the raw primitive). Application-managed areas (Personal Collections, Starred, Recent) are excluded from this surface. */
10368
+ export declare class UserArea implements IUserArea {
10369
+ /** The ID of the user area. */
10370
+ id?: number;
10371
+ /** The name of the user area. */
10372
+ name?: string | undefined;
10373
+ /** An optional comment associated with the user area. */
10374
+ comment?: string | undefined;
10375
+ /** An optional opaque application-defined data string associated with the user area. */
10376
+ data?: string | undefined;
10377
+ constructor(data?: IUserArea);
10378
+ init(_data?: any): void;
10379
+ static fromJS(data: any): UserArea;
10380
+ toJSON(data?: any): any;
10381
+ }
10382
+ /** Represents a generic, owner-scoped user area (the raw primitive). Application-managed areas (Personal Collections, Starred, Recent) are excluded from this surface. */
10383
+ export interface IUserArea {
10384
+ /** The ID of the user area. */
10385
+ id?: number;
10386
+ /** The name of the user area. */
10387
+ name?: string | undefined;
10388
+ /** An optional comment associated with the user area. */
10389
+ comment?: string | undefined;
10390
+ /** An optional opaque application-defined data string associated with the user area. */
10391
+ data?: string | undefined;
10392
+ }
10393
+ /** Request body for creating a generic user area. */
10394
+ export declare class CreateUserAreaRequest implements ICreateUserAreaRequest {
10395
+ /** The name for the new user area. Required. Names reserved for application-managed areas
10396
+ (the pc_ prefix and the well-known Starred/Recent area names) are rejected. */
10397
+ name?: string | undefined;
10398
+ /** An optional comment for the user area. */
10399
+ comment?: string | undefined;
10400
+ /** An optional opaque application-defined data string for the user area. */
10401
+ data?: string | undefined;
10402
+ constructor(data?: ICreateUserAreaRequest);
10403
+ init(_data?: any): void;
10404
+ static fromJS(data: any): CreateUserAreaRequest;
10405
+ toJSON(data?: any): any;
10406
+ }
10407
+ /** Request body for creating a generic user area. */
10408
+ export interface ICreateUserAreaRequest {
10409
+ /** The name for the new user area. Required. Names reserved for application-managed areas
10410
+ (the pc_ prefix and the well-known Starred/Recent area names) are rejected. */
10411
+ name?: string | undefined;
10412
+ /** An optional comment for the user area. */
10413
+ comment?: string | undefined;
10414
+ /** An optional opaque application-defined data string for the user area. */
10415
+ data?: string | undefined;
10416
+ }
10417
+ /** Request body for updating a generic user area. Only non-null properties are applied. */
10418
+ export declare class UpdateUserAreaRequest implements IUpdateUserAreaRequest {
10419
+ /** The new name for the user area. null leaves it unchanged. Reserved names are rejected. */
10420
+ name?: string | undefined;
10421
+ /** The new comment. null leaves it unchanged. */
10422
+ comment?: string | undefined;
10423
+ /** The new data string. null leaves it unchanged. */
10424
+ data?: string | undefined;
10425
+ constructor(data?: IUpdateUserAreaRequest);
10426
+ init(_data?: any): void;
10427
+ static fromJS(data: any): UpdateUserAreaRequest;
10428
+ toJSON(data?: any): any;
10429
+ }
10430
+ /** Request body for updating a generic user area. Only non-null properties are applied. */
10431
+ export interface IUpdateUserAreaRequest {
10432
+ /** The new name for the user area. null leaves it unchanged. Reserved names are rejected. */
10433
+ name?: string | undefined;
10434
+ /** The new comment. null leaves it unchanged. */
10435
+ comment?: string | undefined;
10436
+ /** The new data string. null leaves it unchanged. */
10437
+ data?: string | undefined;
10438
+ }
6717
10439
  export interface FileParameter {
6718
10440
  data: any;
6719
10441
  fileName: string;
@@ -6727,32 +10449,42 @@ export interface FileResponse {
6727
10449
  };
6728
10450
  }
6729
10451
  export interface IRepositoryApiClient {
10452
+ accessControlClient: IAccessControlClient;
10453
+ annotationsClient: IAnnotationsClient;
6730
10454
  attributesClient: IAttributesClient;
6731
10455
  auditReasonsClient: IAuditReasonsClient;
6732
10456
  entriesClient: IEntriesClient;
6733
10457
  fieldDefinitionsClient: IFieldDefinitionsClient;
10458
+ recordsManagementClient: IRecordsManagementClient;
6734
10459
  repositoriesClient: IRepositoriesClient;
6735
10460
  searchesClient: ISearchesClient;
6736
10461
  simpleSearchesClient: ISimpleSearchesClient;
10462
+ stampsClient: IStampsClient;
6737
10463
  tagDefinitionsClient: ITagDefinitionsClient;
6738
10464
  tasksClient: ITasksClient;
6739
10465
  templateDefinitionsClient: ITemplateDefinitionsClient;
6740
10466
  linkDefinitionsClient: ILinkDefinitionsClient;
10467
+ userAreasClient: IUserAreasClient;
6741
10468
  defaultRequestHeaders: Record<string, string>;
6742
10469
  }
6743
10470
  export declare class RepositoryApiClient implements IRepositoryApiClient {
6744
10471
  private baseUrl;
10472
+ accessControlClient: IAccessControlClient;
10473
+ annotationsClient: IAnnotationsClient;
6745
10474
  attributesClient: IAttributesClient;
6746
10475
  auditReasonsClient: IAuditReasonsClient;
6747
10476
  entriesClient: IEntriesClient;
6748
10477
  fieldDefinitionsClient: IFieldDefinitionsClient;
10478
+ recordsManagementClient: IRecordsManagementClient;
6749
10479
  repositoriesClient: IRepositoriesClient;
6750
10480
  searchesClient: ISearchesClient;
6751
10481
  simpleSearchesClient: ISimpleSearchesClient;
10482
+ stampsClient: IStampsClient;
6752
10483
  tagDefinitionsClient: ITagDefinitionsClient;
6753
10484
  tasksClient: ITasksClient;
6754
10485
  templateDefinitionsClient: ITemplateDefinitionsClient;
6755
10486
  linkDefinitionsClient: ILinkDefinitionsClient;
10487
+ userAreasClient: IUserAreasClient;
6756
10488
  private repoClientHandler;
6757
10489
  /**
6758
10490
  * Get the headers which will be sent with each request.