@laserfiche/lf-repository-api-client-v2 1.2.0 → 1.3.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 +3827 -137
  2. package/dist/index.js +14515 -5351
  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;
@@ -2556,38 +3411,246 @@ export declare class EntriesClient implements IEntriesClient {
2556
3411
  }): Promise<Entry>;
2557
3412
  protected processUndoCheckOut(response: Response): Promise<Entry>;
2558
3413
  }
2559
- export interface IRepositoriesClient {
3414
+ export interface IRecordsManagementClient {
2560
3415
  /**
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.
3416
+ * @param args.select (optional) Limits the properties returned in the result.
3417
+ * @returns Successfully returned the entry's records management properties.
2564
3418
  */
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
- });
3419
+ getEntryRecordsManagementProperties(args: {
3420
+ repositoryId: string;
3421
+ entryId: number;
3422
+ select?: string | null | undefined;
3423
+ }): Promise<RecordsManagementProperties>;
2574
3424
  /**
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.
3425
+ * @returns Successfully updated the entry's records management properties. Returned the updated properties.
2579
3426
  */
2580
- static listSelfHostedRepositories(args: {
2581
- baseUrl: string;
2582
- }): Promise<RepositoryCollectionResponse>;
3427
+ updateEntryRecordsManagementProperties(args: {
3428
+ repositoryId: string;
3429
+ entryId: number;
3430
+ request: UpdateRecordsManagementPropertiesRequest;
3431
+ }): Promise<RecordsManagementProperties>;
2583
3432
  /**
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.
3433
+ * @param args.eligibleFor (optional)
3434
+ * @param args.select (optional) Limits the properties returned in the result.
3435
+ * @returns Successfully returned the ids of the records eligible for the requested action.
2587
3436
  */
2588
- listRepositories(args: {}): Promise<RepositoryCollectionResponse>;
2589
- protected processListRepositories(response: Response): Promise<RepositoryCollectionResponse>;
2590
- }
3437
+ getEligibleRecords(args: {
3438
+ repositoryId: string;
3439
+ entryId: number;
3440
+ eligibleFor?: EligibleRecordsAction | null | undefined;
3441
+ select?: string | null | undefined;
3442
+ }): Promise<RecordEntryIdCollection>;
3443
+ /**
3444
+ * @param args.select (optional) Limits the properties returned in the result.
3445
+ * @returns Successfully returned the ids of the independent records under the record folder.
3446
+ */
3447
+ getIndependentRecords(args: {
3448
+ repositoryId: string;
3449
+ entryId: number;
3450
+ select?: string | null | undefined;
3451
+ }): Promise<RecordEntryIdCollection>;
3452
+ /**
3453
+ * @param args.select (optional) Limits the properties returned in the result.
3454
+ * @returns Successfully returned the record folder's alternate-retention trigger events.
3455
+ */
3456
+ getAltRetentionEvents(args: {
3457
+ repositoryId: string;
3458
+ entryId: number;
3459
+ select?: string | null | undefined;
3460
+ }): Promise<AltRetentionEventCollection>;
3461
+ /**
3462
+ * @param args.select (optional) Limits the properties returned in the result.
3463
+ * @returns Successfully returned the record series properties.
3464
+ */
3465
+ getRecordSeriesProperties(args: {
3466
+ repositoryId: string;
3467
+ entryId: number;
3468
+ select?: string | null | undefined;
3469
+ }): Promise<RecordSeriesProperties>;
3470
+ /**
3471
+ * @returns Successfully updated the record series properties. Returned the updated properties.
3472
+ */
3473
+ updateRecordSeriesProperties(args: {
3474
+ repositoryId: string;
3475
+ entryId: number;
3476
+ request: UpdateRecordSeriesPropertiesRequest;
3477
+ }): Promise<RecordSeriesProperties>;
3478
+ /**
3479
+ * @returns Successfully set the record event date. Returned the updated records management properties.
3480
+ */
3481
+ setRecordEvent(args: {
3482
+ repositoryId: string;
3483
+ entryId: number;
3484
+ request: SetRecordEventRequest;
3485
+ }): Promise<RecordsManagementProperties>;
3486
+ /**
3487
+ * @returns Successfully removed the record event date. Returned the updated records management properties.
3488
+ */
3489
+ removeRecordEvent(args: {
3490
+ repositoryId: string;
3491
+ entryId: number;
3492
+ request: RemoveRecordEventRequest;
3493
+ }): Promise<RecordsManagementProperties>;
3494
+ /**
3495
+ * - A record series provides cascading retention defaults for the file plan beneath it.
3496
+ - The parent must be the file-plan root or another record series; creating one under a normal folder is rejected.
3497
+ - Deleting a record series uses the existing Delete Entry endpoint (a record series is an entry).
3498
+ - Required OAuth scope: repository.Write
3499
+ * @param args.repositoryId The requested repository ID.
3500
+ * @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).
3501
+ * @param args.request The new record series' name and code.
3502
+ * @returns Successfully created the record series. Returned the created entry.
3503
+ */
3504
+ createRecordSeries(args: {
3505
+ repositoryId: string;
3506
+ parentEntryId: number;
3507
+ request: CreateRecordSeriesRequest;
3508
+ }): Promise<Entry>;
3509
+ }
3510
+ export declare class RecordsManagementClient implements IRecordsManagementClient {
3511
+ private http;
3512
+ private baseUrl;
3513
+ protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
3514
+ constructor(baseUrl?: string, http?: {
3515
+ fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
3516
+ });
3517
+ /**
3518
+ * @param args.select (optional) Limits the properties returned in the result.
3519
+ * @returns Successfully returned the entry's records management properties.
3520
+ */
3521
+ getEntryRecordsManagementProperties(args: {
3522
+ repositoryId: string;
3523
+ entryId: number;
3524
+ select?: string | null | undefined;
3525
+ }): Promise<RecordsManagementProperties>;
3526
+ protected processGetEntryRecordsManagementProperties(response: Response): Promise<RecordsManagementProperties>;
3527
+ /**
3528
+ * @returns Successfully updated the entry's records management properties. Returned the updated properties.
3529
+ */
3530
+ updateEntryRecordsManagementProperties(args: {
3531
+ repositoryId: string;
3532
+ entryId: number;
3533
+ request: UpdateRecordsManagementPropertiesRequest;
3534
+ }): Promise<RecordsManagementProperties>;
3535
+ protected processUpdateEntryRecordsManagementProperties(response: Response): Promise<RecordsManagementProperties>;
3536
+ /**
3537
+ * @param args.eligibleFor (optional)
3538
+ * @param args.select (optional) Limits the properties returned in the result.
3539
+ * @returns Successfully returned the ids of the records eligible for the requested action.
3540
+ */
3541
+ getEligibleRecords(args: {
3542
+ repositoryId: string;
3543
+ entryId: number;
3544
+ eligibleFor?: EligibleRecordsAction | null | undefined;
3545
+ select?: string | null | undefined;
3546
+ }): Promise<RecordEntryIdCollection>;
3547
+ protected processGetEligibleRecords(response: Response): Promise<RecordEntryIdCollection>;
3548
+ /**
3549
+ * @param args.select (optional) Limits the properties returned in the result.
3550
+ * @returns Successfully returned the ids of the independent records under the record folder.
3551
+ */
3552
+ getIndependentRecords(args: {
3553
+ repositoryId: string;
3554
+ entryId: number;
3555
+ select?: string | null | undefined;
3556
+ }): Promise<RecordEntryIdCollection>;
3557
+ protected processGetIndependentRecords(response: Response): Promise<RecordEntryIdCollection>;
3558
+ /**
3559
+ * @param args.select (optional) Limits the properties returned in the result.
3560
+ * @returns Successfully returned the record folder's alternate-retention trigger events.
3561
+ */
3562
+ getAltRetentionEvents(args: {
3563
+ repositoryId: string;
3564
+ entryId: number;
3565
+ select?: string | null | undefined;
3566
+ }): Promise<AltRetentionEventCollection>;
3567
+ protected processGetAltRetentionEvents(response: Response): Promise<AltRetentionEventCollection>;
3568
+ /**
3569
+ * @param args.select (optional) Limits the properties returned in the result.
3570
+ * @returns Successfully returned the record series properties.
3571
+ */
3572
+ getRecordSeriesProperties(args: {
3573
+ repositoryId: string;
3574
+ entryId: number;
3575
+ select?: string | null | undefined;
3576
+ }): Promise<RecordSeriesProperties>;
3577
+ protected processGetRecordSeriesProperties(response: Response): Promise<RecordSeriesProperties>;
3578
+ /**
3579
+ * @returns Successfully updated the record series properties. Returned the updated properties.
3580
+ */
3581
+ updateRecordSeriesProperties(args: {
3582
+ repositoryId: string;
3583
+ entryId: number;
3584
+ request: UpdateRecordSeriesPropertiesRequest;
3585
+ }): Promise<RecordSeriesProperties>;
3586
+ protected processUpdateRecordSeriesProperties(response: Response): Promise<RecordSeriesProperties>;
3587
+ /**
3588
+ * @returns Successfully set the record event date. Returned the updated records management properties.
3589
+ */
3590
+ setRecordEvent(args: {
3591
+ repositoryId: string;
3592
+ entryId: number;
3593
+ request: SetRecordEventRequest;
3594
+ }): Promise<RecordsManagementProperties>;
3595
+ protected processSetRecordEvent(response: Response): Promise<RecordsManagementProperties>;
3596
+ /**
3597
+ * @returns Successfully removed the record event date. Returned the updated records management properties.
3598
+ */
3599
+ removeRecordEvent(args: {
3600
+ repositoryId: string;
3601
+ entryId: number;
3602
+ request: RemoveRecordEventRequest;
3603
+ }): Promise<RecordsManagementProperties>;
3604
+ protected processRemoveRecordEvent(response: Response): Promise<RecordsManagementProperties>;
3605
+ /**
3606
+ * - A record series provides cascading retention defaults for the file plan beneath it.
3607
+ - The parent must be the file-plan root or another record series; creating one under a normal folder is rejected.
3608
+ - Deleting a record series uses the existing Delete Entry endpoint (a record series is an entry).
3609
+ - Required OAuth scope: repository.Write
3610
+ * @param args.repositoryId The requested repository ID.
3611
+ * @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).
3612
+ * @param args.request The new record series' name and code.
3613
+ * @returns Successfully created the record series. Returned the created entry.
3614
+ */
3615
+ createRecordSeries(args: {
3616
+ repositoryId: string;
3617
+ parentEntryId: number;
3618
+ request: CreateRecordSeriesRequest;
3619
+ }): Promise<Entry>;
3620
+ protected processCreateRecordSeries(response: Response): Promise<Entry>;
3621
+ }
3622
+ export interface IRepositoriesClient {
3623
+ /**
3624
+ * - Returns the repository resource list that current user has access to.
3625
+ - Required OAuth scope: repository.Read
3626
+ * @returns Successfully returned list of available repositories.
3627
+ */
3628
+ listRepositories(args: {}): Promise<RepositoryCollectionResponse>;
3629
+ }
3630
+ export declare class RepositoriesClient implements IRepositoriesClient {
3631
+ private http;
3632
+ private baseUrl;
3633
+ protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
3634
+ constructor(baseUrl?: string, http?: {
3635
+ fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
3636
+ });
3637
+ /**
3638
+ * Returns the repository resource list that current user has access to given the API server base URL. Only available in Laserfiche Self-Hosted.
3639
+ * - Related: {@link IRepositoriesClient.listRepositories listRepositories}
3640
+ * @param args.baseUrl API server base URL e.g., https://{APIServerName}/LFRepositoryAPI
3641
+ * @returns A collection of respositories.
3642
+ */
3643
+ static listSelfHostedRepositories(args: {
3644
+ baseUrl: string;
3645
+ }): Promise<RepositoryCollectionResponse>;
3646
+ /**
3647
+ * - Returns the repository resource list that current user has access to.
3648
+ - Required OAuth scope: repository.Read
3649
+ * @returns Successfully returned list of available repositories.
3650
+ */
3651
+ listRepositories(args: {}): Promise<RepositoryCollectionResponse>;
3652
+ protected processListRepositories(response: Response): Promise<RepositoryCollectionResponse>;
3653
+ }
2591
3654
  export interface ISearchesClient {
2592
3655
  /**
2593
3656
  * - Runs a search operation on the repository.
@@ -2916,6 +3979,170 @@ export declare class SimpleSearchesClient implements ISimpleSearchesClient {
2916
3979
  }): Promise<EntryCollectionResponse>;
2917
3980
  protected processSearchEntry(response: Response): Promise<EntryCollectionResponse>;
2918
3981
  }
3982
+ export interface IStampsClient {
3983
+ /**
3984
+ * - Use `scope` to select public, personal, or all stamps. The image bytes are not included; fetch them from the stamp's Image sub-resource.
3985
+ - Required OAuth scope: repository.Read
3986
+ * @param args.scope (optional)
3987
+ * @param args.select (optional) Limits the properties returned in the result.
3988
+ * @param args.orderby (optional) Specifies the order in which items are returned. The maximum number of expressions is 5.
3989
+ * @param args.count (optional) Indicates whether the total count of items within a collection are returned in the result.
3990
+ * @returns Successfully returned the repository's stamps.
3991
+ */
3992
+ listStamps(args: {
3993
+ repositoryId: string;
3994
+ scope?: StampScope | undefined;
3995
+ select?: string | null | undefined;
3996
+ orderby?: string | null | undefined;
3997
+ count?: boolean | undefined;
3998
+ }): Promise<Stamp[]>;
3999
+ /**
4000
+ * - 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.
4001
+ - Creating a public stamp requires the stamp-management privilege; personal stamps require no special privilege.
4002
+ - Required OAuth scope: repository.Write
4003
+ * @param args.name (optional)
4004
+ * @param args.isPublic (optional)
4005
+ * @param args.file (optional) The image file to upload. See https://doc.laserfiche.com/ for supported image file formats.
4006
+ * @returns Successfully created the stamp. Returned the created stamp.
4007
+ */
4008
+ createStamp(args: {
4009
+ repositoryId: string;
4010
+ name?: string | null | undefined;
4011
+ isPublic?: boolean | undefined;
4012
+ file?: FileParameter | undefined;
4013
+ }): Promise<Stamp>;
4014
+ /**
4015
+ * - Required OAuth scope: repository.Read
4016
+ * @param args.select (optional) Limits the properties returned in the result.
4017
+ * @returns Successfully returned the stamp's metadata.
4018
+ */
4019
+ getStamp(args: {
4020
+ repositoryId: string;
4021
+ stampId: number;
4022
+ select?: string | null | undefined;
4023
+ }): Promise<Stamp>;
4024
+ /**
4025
+ * - Managing a public stamp requires the stamp-management privilege.
4026
+ - Required OAuth scope: repository.Write
4027
+ * @returns Successfully updated the stamp. Returned the updated stamp.
4028
+ */
4029
+ updateStamp(args: {
4030
+ repositoryId: string;
4031
+ stampId: number;
4032
+ request: UpdateStampRequest;
4033
+ }): Promise<Stamp>;
4034
+ /**
4035
+ * - Deleting a public stamp requires the stamp-management privilege.
4036
+ - Required OAuth scope: repository.Write
4037
+ * @returns Successfully deleted the stamp.
4038
+ */
4039
+ deleteStamp(args: {
4040
+ repositoryId: string;
4041
+ stampId: number;
4042
+ }): Promise<void>;
4043
+ /**
4044
+ * - Only public (common) stamps are returned. Personal stamps are not served by this endpoint and return 404.
4045
+ - An optional `color` (#RRGGBB) recolors the image: black pixels become the color, white becomes transparent.
4046
+ - Required OAuth scope: repository.Read
4047
+ * @param args.color (optional)
4048
+ * @param args.select (optional) Limits the properties returned in the result.
4049
+ * @returns Successfully returned the stamp image as a PNG.
4050
+ */
4051
+ getStampImage(args: {
4052
+ repositoryId: string;
4053
+ stampId: number;
4054
+ color?: string | null | undefined;
4055
+ select?: string | null | undefined;
4056
+ }): Promise<FileResponse>;
4057
+ }
4058
+ export declare class StampsClient implements IStampsClient {
4059
+ private http;
4060
+ private baseUrl;
4061
+ protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
4062
+ constructor(baseUrl?: string, http?: {
4063
+ fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
4064
+ });
4065
+ /**
4066
+ * - Use `scope` to select public, personal, or all stamps. The image bytes are not included; fetch them from the stamp's Image sub-resource.
4067
+ - Required OAuth scope: repository.Read
4068
+ * @param args.scope (optional)
4069
+ * @param args.select (optional) Limits the properties returned in the result.
4070
+ * @param args.orderby (optional) Specifies the order in which items are returned. The maximum number of expressions is 5.
4071
+ * @param args.count (optional) Indicates whether the total count of items within a collection are returned in the result.
4072
+ * @returns Successfully returned the repository's stamps.
4073
+ */
4074
+ listStamps(args: {
4075
+ repositoryId: string;
4076
+ scope?: StampScope | undefined;
4077
+ select?: string | null | undefined;
4078
+ orderby?: string | null | undefined;
4079
+ count?: boolean | undefined;
4080
+ }): Promise<Stamp[]>;
4081
+ protected processListStamps(response: Response): Promise<Stamp[]>;
4082
+ /**
4083
+ * - 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.
4084
+ - Creating a public stamp requires the stamp-management privilege; personal stamps require no special privilege.
4085
+ - Required OAuth scope: repository.Write
4086
+ * @param args.name (optional)
4087
+ * @param args.isPublic (optional)
4088
+ * @param args.file (optional) The image file to upload. See https://doc.laserfiche.com/ for supported image file formats.
4089
+ * @returns Successfully created the stamp. Returned the created stamp.
4090
+ */
4091
+ createStamp(args: {
4092
+ repositoryId: string;
4093
+ name?: string | null | undefined;
4094
+ isPublic?: boolean | undefined;
4095
+ file?: FileParameter | undefined;
4096
+ }): Promise<Stamp>;
4097
+ protected processCreateStamp(response: Response): Promise<Stamp>;
4098
+ /**
4099
+ * - Required OAuth scope: repository.Read
4100
+ * @param args.select (optional) Limits the properties returned in the result.
4101
+ * @returns Successfully returned the stamp's metadata.
4102
+ */
4103
+ getStamp(args: {
4104
+ repositoryId: string;
4105
+ stampId: number;
4106
+ select?: string | null | undefined;
4107
+ }): Promise<Stamp>;
4108
+ protected processGetStamp(response: Response): Promise<Stamp>;
4109
+ /**
4110
+ * - Managing a public stamp requires the stamp-management privilege.
4111
+ - Required OAuth scope: repository.Write
4112
+ * @returns Successfully updated the stamp. Returned the updated stamp.
4113
+ */
4114
+ updateStamp(args: {
4115
+ repositoryId: string;
4116
+ stampId: number;
4117
+ request: UpdateStampRequest;
4118
+ }): Promise<Stamp>;
4119
+ protected processUpdateStamp(response: Response): Promise<Stamp>;
4120
+ /**
4121
+ * - Deleting a public stamp requires the stamp-management privilege.
4122
+ - Required OAuth scope: repository.Write
4123
+ * @returns Successfully deleted the stamp.
4124
+ */
4125
+ deleteStamp(args: {
4126
+ repositoryId: string;
4127
+ stampId: number;
4128
+ }): Promise<void>;
4129
+ protected processDeleteStamp(response: Response): Promise<void>;
4130
+ /**
4131
+ * - Only public (common) stamps are returned. Personal stamps are not served by this endpoint and return 404.
4132
+ - An optional `color` (#RRGGBB) recolors the image: black pixels become the color, white becomes transparent.
4133
+ - Required OAuth scope: repository.Read
4134
+ * @param args.color (optional)
4135
+ * @param args.select (optional) Limits the properties returned in the result.
4136
+ * @returns Successfully returned the stamp image as a PNG.
4137
+ */
4138
+ getStampImage(args: {
4139
+ repositoryId: string;
4140
+ stampId: number;
4141
+ color?: string | null | undefined;
4142
+ select?: string | null | undefined;
4143
+ }): Promise<FileResponse>;
4144
+ protected processGetStampImage(response: Response): Promise<FileResponse>;
4145
+ }
2919
4146
  export interface ITagDefinitionsClient {
2920
4147
  /**
2921
4148
  * - Returns all tag definitions in the repository.
@@ -3781,51 +5008,1190 @@ export declare class TemplateDefinitionsClient implements ITemplateDefinitionsCl
3781
5008
  }): Promise<void>;
3782
5009
  protected processMoveTemplateField(response: Response): Promise<void>;
3783
5010
  }
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. */
5011
+ export interface IUserAreasClient {
5012
+ /**
5013
+ * - Returns the documents in the authenticated user's Recent Documents list, most-recently-accessed first.
5014
+ - 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.
5015
+ - If the user has no recent documents, an empty collection is returned.
5016
+ - Required OAuth scope: repository.Read
5017
+ * @param args.repositoryId The requested repository ID.
5018
+ * @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.
5019
+ * @returns Successfully returned the user's recently accessed documents.
5020
+ */
5021
+ getRecentDocuments(args: {
5022
+ repositoryId: string;
5023
+ documentLimit?: number | null | undefined;
5024
+ }): Promise<UserAreaEntry[]>;
5025
+ /**
5026
+ * - Returns the folders in the authenticated user's Recent Folders list, most-recently-accessed first.
5027
+ - The list is per-user and maintained by the Laserfiche apps; this endpoint is read-only.
5028
+ - If the user has no recent folders, an empty collection is returned.
5029
+ - Required OAuth scope: repository.Read
5030
+ * @param args.repositoryId The requested repository ID.
5031
+ * @returns Successfully returned the user's recently accessed folders.
5032
+ */
5033
+ getRecentFolders(args: {
5034
+ repositoryId: string;
5035
+ }): Promise<UserAreaEntry[]>;
5036
+ /**
5037
+ * - Returns the entries in the authenticated user's Starred list.
5038
+ - The list is per-user; if the user has starred nothing, an empty collection is returned.
5039
+ - Required OAuth scope: repository.Read
5040
+ * @param args.repositoryId The requested repository ID.
5041
+ * @returns Successfully returned the user's starred entries.
5042
+ */
5043
+ getStarredEntries(args: {
5044
+ repositoryId: string;
5045
+ }): Promise<UserAreaEntry[]>;
5046
+ /**
5047
+ * - Adds the supplied entries to the authenticated user's Starred list and returns the updated list.
5048
+ - Creates the user's Starred area on first use.
5049
+ - Required OAuth scope: repository.Write
5050
+ * @param args.repositoryId The requested repository ID.
5051
+ * @param args.request The entry IDs to star. Already-starred entries are left unchanged (idempotent).
5052
+ * @returns Successfully starred the requested entries. Returns the updated list of starred entries.
5053
+ */
5054
+ starEntries(args: {
5055
+ repositoryId: string;
5056
+ request: StarEntriesRequest;
5057
+ }): Promise<UserAreaEntry[]>;
5058
+ /**
5059
+ * - Removes the supplied entries from the authenticated user's Starred list and returns the updated list.
5060
+ - Required OAuth scope: repository.Write
5061
+ * @param args.repositoryId The requested repository ID.
5062
+ * @param args.request The entry IDs to unstar. Entries that are not starred are ignored (idempotent).
5063
+ * @returns Successfully unstarred the requested entries. Returns the updated list of starred entries.
5064
+ */
5065
+ unstarEntries(args: {
5066
+ repositoryId: string;
5067
+ request: StarEntriesRequest;
5068
+ }): Promise<UserAreaEntry[]>;
5069
+ /**
5070
+ * - Returns the authenticated user's personal collections, each with its display name and member entry IDs.
5071
+ - Required OAuth scope: repository.Read
5072
+ * @param args.repositoryId The requested repository ID.
5073
+ * @returns Successfully returned the user's personal collections.
5074
+ */
5075
+ getPersonalCollections(args: {
5076
+ repositoryId: string;
5077
+ }): Promise<PersonalCollection[]>;
5078
+ /**
5079
+ * - Creates a personal collection with the supplied display name. Names must be unique (case-insensitive),
5080
+ fewer than 256 characters, and must not use a reserved name. A user may have at most 50 collections.
5081
+ - Required OAuth scope: repository.Write
5082
+ * @param args.repositoryId The requested repository ID.
5083
+ * @param args.request The new collection's display name.
5084
+ * @returns Successfully created the personal collection.
5085
+ */
5086
+ createPersonalCollection(args: {
5087
+ repositoryId: string;
5088
+ request: CreatePersonalCollectionRequest;
5089
+ }): Promise<PersonalCollection>;
5090
+ /**
5091
+ * - Returns the requested personal collection with its display name and member entry IDs.
5092
+ - Required OAuth scope: repository.Read
5093
+ * @param args.repositoryId The requested repository ID.
5094
+ * @param args.collectionId The ID of the personal collection.
5095
+ * @param args.select (optional) Limits the properties returned in the result.
5096
+ * @returns Successfully returned the requested personal collection.
5097
+ */
5098
+ getPersonalCollection(args: {
5099
+ repositoryId: string;
5100
+ collectionId: string;
5101
+ select?: string | null | undefined;
5102
+ }): Promise<PersonalCollection>;
5103
+ /**
5104
+ * - Changes the collection's display name (the collection ID is unchanged). Same name constraints as creation.
5105
+ - Required OAuth scope: repository.Write
5106
+ * @param args.repositoryId The requested repository ID.
5107
+ * @param args.collectionId The ID of the personal collection to rename.
5108
+ * @param args.request The new display name.
5109
+ * @returns Successfully renamed the personal collection.
5110
+ */
5111
+ renamePersonalCollection(args: {
5112
+ repositoryId: string;
5113
+ collectionId: string;
5114
+ request: RenamePersonalCollectionRequest;
5115
+ }): Promise<PersonalCollection>;
5116
+ /**
5117
+ * - Deletes the collection. Idempotent — deleting a non-existent collection succeeds.
5118
+ - Required OAuth scope: repository.Write
5119
+ * @param args.repositoryId The requested repository ID.
5120
+ * @param args.collectionId The ID of the personal collection to delete.
5121
+ * @returns Successfully deleted the personal collection.
5122
+ */
5123
+ deletePersonalCollection(args: {
5124
+ repositoryId: string;
5125
+ collectionId: string;
5126
+ }): Promise<void>;
5127
+ /**
5128
+ * - Adds the supplied entries to the collection and returns the updated collection. Idempotent for entries already present.
5129
+ - Required OAuth scope: repository.Write
5130
+ * @param args.repositoryId The requested repository ID.
5131
+ * @param args.collectionId The ID of the personal collection.
5132
+ * @param args.request The entry IDs to add.
5133
+ * @returns Successfully added the entries to the personal collection. Returns the updated collection.
5134
+ */
5135
+ addCollectionEntries(args: {
5136
+ repositoryId: string;
5137
+ collectionId: string;
5138
+ request: EntryIdsRequest;
5139
+ }): Promise<PersonalCollection>;
5140
+ /**
5141
+ * - Removes the supplied entries from the collection and returns the updated collection. Idempotent for entries not present.
5142
+ - Required OAuth scope: repository.Write
5143
+ * @param args.repositoryId The requested repository ID.
5144
+ * @param args.collectionId The ID of the personal collection.
5145
+ * @param args.request The entry IDs to remove.
5146
+ * @returns Successfully removed the entries from the personal collection. Returns the updated collection.
5147
+ */
5148
+ removeCollectionEntries(args: {
5149
+ repositoryId: string;
5150
+ collectionId: string;
5151
+ request: EntryIdsRequest;
5152
+ }): Promise<PersonalCollection>;
5153
+ /**
5154
+ * - Returns the caller's generic user areas. Application-managed areas (Personal Collections, Starred,
5155
+ Recent) are excluded from this surface.
5156
+ - Required OAuth scope: repository.Read
5157
+ * @param args.repositoryId The requested repository ID.
5158
+ * @returns Successfully returned the user's user areas.
5159
+ */
5160
+ getUserAreas(args: {
5161
+ repositoryId: string;
5162
+ }): Promise<UserArea[]>;
5163
+ /**
5164
+ * - Creates a user area owned by the caller. Names reserved for application-managed areas are rejected.
5165
+ - Required OAuth scope: repository.Write
5166
+ * @param args.repositoryId The requested repository ID.
5167
+ * @param args.request The new user area's name and optional comment/data.
5168
+ * @returns Successfully created the user area.
5169
+ */
5170
+ createUserArea(args: {
5171
+ repositoryId: string;
5172
+ request: CreateUserAreaRequest;
5173
+ }): Promise<UserArea>;
5174
+ /**
5175
+ * - Returns the requested user area. Application-managed areas are not accessible through this surface (404).
5176
+ - Required OAuth scope: repository.Read
5177
+ * @param args.repositoryId The requested repository ID.
5178
+ * @param args.areaId The ID of the user area.
5179
+ * @param args.select (optional) Limits the properties returned in the result.
5180
+ * @returns Successfully returned the requested user area.
5181
+ */
5182
+ getUserArea(args: {
5183
+ repositoryId: string;
5184
+ areaId: number;
5185
+ select?: string | null | undefined;
5186
+ }): Promise<UserArea>;
5187
+ /**
5188
+ * - Updates the name, comment, and/or data of the user area. A renamed area cannot take a reserved name.
5189
+ - Required OAuth scope: repository.Write
5190
+ * @param args.repositoryId The requested repository ID.
5191
+ * @param args.areaId The ID of the user area to update.
5192
+ * @param args.request The properties to change. Null properties are left unchanged.
5193
+ * @returns Successfully updated the user area.
5194
+ */
5195
+ updateUserArea(args: {
5196
+ repositoryId: string;
5197
+ areaId: number;
5198
+ request: UpdateUserAreaRequest;
5199
+ }): Promise<UserArea>;
5200
+ /**
5201
+ * - Deletes the user area. Application-managed areas cannot be deleted through this surface (404).
5202
+ - Required OAuth scope: repository.Write
5203
+ * @param args.repositoryId The requested repository ID.
5204
+ * @param args.areaId The ID of the user area to delete.
5205
+ * @returns Successfully deleted the user area.
5206
+ */
5207
+ deleteUserArea(args: {
5208
+ repositoryId: string;
5209
+ areaId: number;
5210
+ }): Promise<void>;
5211
+ /**
5212
+ * - Returns the entries contained in the user area.
5213
+ - Required OAuth scope: repository.Read
5214
+ * @param args.repositoryId The requested repository ID.
5215
+ * @param args.areaId The ID of the user area.
5216
+ * @returns Successfully returned the user area's entries.
5217
+ */
5218
+ getUserAreaEntries(args: {
5219
+ repositoryId: string;
5220
+ areaId: number;
5221
+ }): Promise<UserAreaEntry[]>;
5222
+ /**
5223
+ * - Adds the supplied entries to the user area and returns the updated entries. Idempotent for entries already present.
5224
+ - Required OAuth scope: repository.Write
5225
+ * @param args.repositoryId The requested repository ID.
5226
+ * @param args.areaId The ID of the user area.
5227
+ * @param args.request The entry IDs to add.
5228
+ * @returns Successfully added the entries to the user area. Returns the updated entries.
5229
+ */
5230
+ addUserAreaEntries(args: {
5231
+ repositoryId: string;
5232
+ areaId: number;
5233
+ request: EntryIdsRequest;
5234
+ }): Promise<UserAreaEntry[]>;
5235
+ /**
5236
+ * - Removes the supplied entries from the user area and returns the updated entries. Idempotent for entries not present.
5237
+ - Required OAuth scope: repository.Write
5238
+ * @param args.repositoryId The requested repository ID.
5239
+ * @param args.areaId The ID of the user area.
5240
+ * @param args.request The entry IDs to remove.
5241
+ * @returns Successfully removed the entries from the user area. Returns the updated entries.
5242
+ */
5243
+ removeUserAreaEntries(args: {
5244
+ repositoryId: string;
5245
+ areaId: number;
5246
+ request: EntryIdsRequest;
5247
+ }): Promise<UserAreaEntry[]>;
5248
+ }
5249
+ export declare class UserAreasClient implements IUserAreasClient {
5250
+ private http;
5251
+ private baseUrl;
5252
+ protected jsonParseReviver: ((key: string, value: any) => any) | undefined;
5253
+ constructor(baseUrl?: string, http?: {
5254
+ fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
5255
+ });
5256
+ /**
5257
+ * - Returns the documents in the authenticated user's Recent Documents list, most-recently-accessed first.
5258
+ - 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.
5259
+ - If the user has no recent documents, an empty collection is returned.
5260
+ - Required OAuth scope: repository.Read
5261
+ * @param args.repositoryId The requested repository ID.
5262
+ * @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.
5263
+ * @returns Successfully returned the user's recently accessed documents.
5264
+ */
5265
+ getRecentDocuments(args: {
5266
+ repositoryId: string;
5267
+ documentLimit?: number | null | undefined;
5268
+ }): Promise<UserAreaEntry[]>;
5269
+ protected processGetRecentDocuments(response: Response): Promise<UserAreaEntry[]>;
5270
+ /**
5271
+ * - Returns the folders in the authenticated user's Recent Folders list, most-recently-accessed first.
5272
+ - The list is per-user and maintained by the Laserfiche apps; this endpoint is read-only.
5273
+ - If the user has no recent folders, an empty collection is returned.
5274
+ - Required OAuth scope: repository.Read
5275
+ * @param args.repositoryId The requested repository ID.
5276
+ * @returns Successfully returned the user's recently accessed folders.
5277
+ */
5278
+ getRecentFolders(args: {
5279
+ repositoryId: string;
5280
+ }): Promise<UserAreaEntry[]>;
5281
+ protected processGetRecentFolders(response: Response): Promise<UserAreaEntry[]>;
5282
+ /**
5283
+ * - Returns the entries in the authenticated user's Starred list.
5284
+ - The list is per-user; if the user has starred nothing, an empty collection is returned.
5285
+ - Required OAuth scope: repository.Read
5286
+ * @param args.repositoryId The requested repository ID.
5287
+ * @returns Successfully returned the user's starred entries.
5288
+ */
5289
+ getStarredEntries(args: {
5290
+ repositoryId: string;
5291
+ }): Promise<UserAreaEntry[]>;
5292
+ protected processGetStarredEntries(response: Response): Promise<UserAreaEntry[]>;
5293
+ /**
5294
+ * - Adds the supplied entries to the authenticated user's Starred list and returns the updated list.
5295
+ - Creates the user's Starred area on first use.
5296
+ - Required OAuth scope: repository.Write
5297
+ * @param args.repositoryId The requested repository ID.
5298
+ * @param args.request The entry IDs to star. Already-starred entries are left unchanged (idempotent).
5299
+ * @returns Successfully starred the requested entries. Returns the updated list of starred entries.
5300
+ */
5301
+ starEntries(args: {
5302
+ repositoryId: string;
5303
+ request: StarEntriesRequest;
5304
+ }): Promise<UserAreaEntry[]>;
5305
+ protected processStarEntries(response: Response): Promise<UserAreaEntry[]>;
5306
+ /**
5307
+ * - Removes the supplied entries from the authenticated user's Starred list and returns the updated list.
5308
+ - Required OAuth scope: repository.Write
5309
+ * @param args.repositoryId The requested repository ID.
5310
+ * @param args.request The entry IDs to unstar. Entries that are not starred are ignored (idempotent).
5311
+ * @returns Successfully unstarred the requested entries. Returns the updated list of starred entries.
5312
+ */
5313
+ unstarEntries(args: {
5314
+ repositoryId: string;
5315
+ request: StarEntriesRequest;
5316
+ }): Promise<UserAreaEntry[]>;
5317
+ protected processUnstarEntries(response: Response): Promise<UserAreaEntry[]>;
5318
+ /**
5319
+ * - Returns the authenticated user's personal collections, each with its display name and member entry IDs.
5320
+ - Required OAuth scope: repository.Read
5321
+ * @param args.repositoryId The requested repository ID.
5322
+ * @returns Successfully returned the user's personal collections.
5323
+ */
5324
+ getPersonalCollections(args: {
5325
+ repositoryId: string;
5326
+ }): Promise<PersonalCollection[]>;
5327
+ protected processGetPersonalCollections(response: Response): Promise<PersonalCollection[]>;
5328
+ /**
5329
+ * - Creates a personal collection with the supplied display name. Names must be unique (case-insensitive),
5330
+ fewer than 256 characters, and must not use a reserved name. A user may have at most 50 collections.
5331
+ - Required OAuth scope: repository.Write
5332
+ * @param args.repositoryId The requested repository ID.
5333
+ * @param args.request The new collection's display name.
5334
+ * @returns Successfully created the personal collection.
5335
+ */
5336
+ createPersonalCollection(args: {
5337
+ repositoryId: string;
5338
+ request: CreatePersonalCollectionRequest;
5339
+ }): Promise<PersonalCollection>;
5340
+ protected processCreatePersonalCollection(response: Response): Promise<PersonalCollection>;
5341
+ /**
5342
+ * - Returns the requested personal collection with its display name and member entry IDs.
5343
+ - Required OAuth scope: repository.Read
5344
+ * @param args.repositoryId The requested repository ID.
5345
+ * @param args.collectionId The ID of the personal collection.
5346
+ * @param args.select (optional) Limits the properties returned in the result.
5347
+ * @returns Successfully returned the requested personal collection.
5348
+ */
5349
+ getPersonalCollection(args: {
5350
+ repositoryId: string;
5351
+ collectionId: string;
5352
+ select?: string | null | undefined;
5353
+ }): Promise<PersonalCollection>;
5354
+ protected processGetPersonalCollection(response: Response): Promise<PersonalCollection>;
5355
+ /**
5356
+ * - Changes the collection's display name (the collection ID is unchanged). Same name constraints as creation.
5357
+ - Required OAuth scope: repository.Write
5358
+ * @param args.repositoryId The requested repository ID.
5359
+ * @param args.collectionId The ID of the personal collection to rename.
5360
+ * @param args.request The new display name.
5361
+ * @returns Successfully renamed the personal collection.
5362
+ */
5363
+ renamePersonalCollection(args: {
5364
+ repositoryId: string;
5365
+ collectionId: string;
5366
+ request: RenamePersonalCollectionRequest;
5367
+ }): Promise<PersonalCollection>;
5368
+ protected processRenamePersonalCollection(response: Response): Promise<PersonalCollection>;
5369
+ /**
5370
+ * - Deletes the collection. Idempotent — deleting a non-existent collection succeeds.
5371
+ - Required OAuth scope: repository.Write
5372
+ * @param args.repositoryId The requested repository ID.
5373
+ * @param args.collectionId The ID of the personal collection to delete.
5374
+ * @returns Successfully deleted the personal collection.
5375
+ */
5376
+ deletePersonalCollection(args: {
5377
+ repositoryId: string;
5378
+ collectionId: string;
5379
+ }): Promise<void>;
5380
+ protected processDeletePersonalCollection(response: Response): Promise<void>;
5381
+ /**
5382
+ * - Adds the supplied entries to the collection and returns the updated collection. Idempotent for entries already present.
5383
+ - Required OAuth scope: repository.Write
5384
+ * @param args.repositoryId The requested repository ID.
5385
+ * @param args.collectionId The ID of the personal collection.
5386
+ * @param args.request The entry IDs to add.
5387
+ * @returns Successfully added the entries to the personal collection. Returns the updated collection.
5388
+ */
5389
+ addCollectionEntries(args: {
5390
+ repositoryId: string;
5391
+ collectionId: string;
5392
+ request: EntryIdsRequest;
5393
+ }): Promise<PersonalCollection>;
5394
+ protected processAddCollectionEntries(response: Response): Promise<PersonalCollection>;
5395
+ /**
5396
+ * - Removes the supplied entries from the collection and returns the updated collection. Idempotent for entries not present.
5397
+ - Required OAuth scope: repository.Write
5398
+ * @param args.repositoryId The requested repository ID.
5399
+ * @param args.collectionId The ID of the personal collection.
5400
+ * @param args.request The entry IDs to remove.
5401
+ * @returns Successfully removed the entries from the personal collection. Returns the updated collection.
5402
+ */
5403
+ removeCollectionEntries(args: {
5404
+ repositoryId: string;
5405
+ collectionId: string;
5406
+ request: EntryIdsRequest;
5407
+ }): Promise<PersonalCollection>;
5408
+ protected processRemoveCollectionEntries(response: Response): Promise<PersonalCollection>;
5409
+ /**
5410
+ * - Returns the caller's generic user areas. Application-managed areas (Personal Collections, Starred,
5411
+ Recent) are excluded from this surface.
5412
+ - Required OAuth scope: repository.Read
5413
+ * @param args.repositoryId The requested repository ID.
5414
+ * @returns Successfully returned the user's user areas.
5415
+ */
5416
+ getUserAreas(args: {
5417
+ repositoryId: string;
5418
+ }): Promise<UserArea[]>;
5419
+ protected processGetUserAreas(response: Response): Promise<UserArea[]>;
5420
+ /**
5421
+ * - Creates a user area owned by the caller. Names reserved for application-managed areas are rejected.
5422
+ - Required OAuth scope: repository.Write
5423
+ * @param args.repositoryId The requested repository ID.
5424
+ * @param args.request The new user area's name and optional comment/data.
5425
+ * @returns Successfully created the user area.
5426
+ */
5427
+ createUserArea(args: {
5428
+ repositoryId: string;
5429
+ request: CreateUserAreaRequest;
5430
+ }): Promise<UserArea>;
5431
+ protected processCreateUserArea(response: Response): Promise<UserArea>;
5432
+ /**
5433
+ * - Returns the requested user area. Application-managed areas are not accessible through this surface (404).
5434
+ - Required OAuth scope: repository.Read
5435
+ * @param args.repositoryId The requested repository ID.
5436
+ * @param args.areaId The ID of the user area.
5437
+ * @param args.select (optional) Limits the properties returned in the result.
5438
+ * @returns Successfully returned the requested user area.
5439
+ */
5440
+ getUserArea(args: {
5441
+ repositoryId: string;
5442
+ areaId: number;
5443
+ select?: string | null | undefined;
5444
+ }): Promise<UserArea>;
5445
+ protected processGetUserArea(response: Response): Promise<UserArea>;
5446
+ /**
5447
+ * - Updates the name, comment, and/or data of the user area. A renamed area cannot take a reserved name.
5448
+ - Required OAuth scope: repository.Write
5449
+ * @param args.repositoryId The requested repository ID.
5450
+ * @param args.areaId The ID of the user area to update.
5451
+ * @param args.request The properties to change. Null properties are left unchanged.
5452
+ * @returns Successfully updated the user area.
5453
+ */
5454
+ updateUserArea(args: {
5455
+ repositoryId: string;
5456
+ areaId: number;
5457
+ request: UpdateUserAreaRequest;
5458
+ }): Promise<UserArea>;
5459
+ protected processUpdateUserArea(response: Response): Promise<UserArea>;
5460
+ /**
5461
+ * - Deletes the user area. Application-managed areas cannot be deleted through this surface (404).
5462
+ - Required OAuth scope: repository.Write
5463
+ * @param args.repositoryId The requested repository ID.
5464
+ * @param args.areaId The ID of the user area to delete.
5465
+ * @returns Successfully deleted the user area.
5466
+ */
5467
+ deleteUserArea(args: {
5468
+ repositoryId: string;
5469
+ areaId: number;
5470
+ }): Promise<void>;
5471
+ protected processDeleteUserArea(response: Response): Promise<void>;
5472
+ /**
5473
+ * - Returns the entries contained in the user area.
5474
+ - Required OAuth scope: repository.Read
5475
+ * @param args.repositoryId The requested repository ID.
5476
+ * @param args.areaId The ID of the user area.
5477
+ * @returns Successfully returned the user area's entries.
5478
+ */
5479
+ getUserAreaEntries(args: {
5480
+ repositoryId: string;
5481
+ areaId: number;
5482
+ }): Promise<UserAreaEntry[]>;
5483
+ protected processGetUserAreaEntries(response: Response): Promise<UserAreaEntry[]>;
5484
+ /**
5485
+ * - Adds the supplied entries to the user area and returns the updated entries. Idempotent for entries already present.
5486
+ - Required OAuth scope: repository.Write
5487
+ * @param args.repositoryId The requested repository ID.
5488
+ * @param args.areaId The ID of the user area.
5489
+ * @param args.request The entry IDs to add.
5490
+ * @returns Successfully added the entries to the user area. Returns the updated entries.
5491
+ */
5492
+ addUserAreaEntries(args: {
5493
+ repositoryId: string;
5494
+ areaId: number;
5495
+ request: EntryIdsRequest;
5496
+ }): Promise<UserAreaEntry[]>;
5497
+ protected processAddUserAreaEntries(response: Response): Promise<UserAreaEntry[]>;
5498
+ /**
5499
+ * - Removes the supplied entries from the user area and returns the updated entries. Idempotent for entries not present.
5500
+ - Required OAuth scope: repository.Write
5501
+ * @param args.repositoryId The requested repository ID.
5502
+ * @param args.areaId The ID of the user area.
5503
+ * @param args.request The entry IDs to remove.
5504
+ * @returns Successfully removed the entries from the user area. Returns the updated entries.
5505
+ */
5506
+ removeUserAreaEntries(args: {
5507
+ repositoryId: string;
5508
+ areaId: number;
5509
+ request: EntryIdsRequest;
5510
+ }): Promise<UserAreaEntry[]>;
5511
+ protected processRemoveUserAreaEntries(response: Response): Promise<UserAreaEntry[]>;
5512
+ }
5513
+ export declare abstract class Annotation implements IAnnotation {
5514
+ /** The identifier of the annotation, unique within its page. */
5515
+ itemId?: number;
5516
+ /** The ID of the document entry the annotation belongs to. */
5517
+ entryId?: number;
5518
+ /** The 1-based page number the annotation is on. */
5519
+ pageNumber?: number;
5520
+ /** The security identifier (SID) of the user that created the annotation. */
5521
+ creator?: string | undefined;
5522
+ /** The UTC time the annotation was created. */
5523
+ createdTime?: Date;
5524
+ /** The UTC time the annotation was last modified. */
5525
+ lastModifiedTime?: Date;
5526
+ /** A boolean indicating whether the annotation is read-only (for example, on an archived version). */
5527
+ isReadOnly?: boolean;
5528
+ /** A boolean indicating whether the annotation is protected so that only its creator can modify it. */
5529
+ isProtected?: boolean;
5530
+ /** Controls who can see the annotation. */
5531
+ visibility?: AnnotationVisibility;
5532
+ /** An optional comment on the annotation. */
5533
+ comment?: string | undefined;
5534
+ /** Optional application-defined custom data stored with the annotation. */
5535
+ customData?: string | undefined;
5536
+ /** The z-order of the annotation; higher values draw on top. */
5537
+ zOrder?: number;
5538
+ /** The ID of the redaction reason associated with the annotation, if any. */
5539
+ reasonId?: number | undefined;
5540
+ /** How the annotation participates in access control. */
5541
+ accessType?: AnnotationAccessControlType;
5542
+ protected _discriminator: string;
5543
+ constructor(data?: IAnnotation);
5544
+ init(_data?: any): void;
5545
+ static fromJS(data: any): Annotation;
5546
+ toJSON(data?: any): any;
5547
+ }
5548
+ export interface IAnnotation {
5549
+ /** The identifier of the annotation, unique within its page. */
5550
+ itemId?: number;
5551
+ /** The ID of the document entry the annotation belongs to. */
5552
+ entryId?: number;
5553
+ /** The 1-based page number the annotation is on. */
5554
+ pageNumber?: number;
5555
+ /** The security identifier (SID) of the user that created the annotation. */
5556
+ creator?: string | undefined;
5557
+ /** The UTC time the annotation was created. */
5558
+ createdTime?: Date;
5559
+ /** The UTC time the annotation was last modified. */
5560
+ lastModifiedTime?: Date;
5561
+ /** A boolean indicating whether the annotation is read-only (for example, on an archived version). */
5562
+ isReadOnly?: boolean;
5563
+ /** A boolean indicating whether the annotation is protected so that only its creator can modify it. */
5564
+ isProtected?: boolean;
5565
+ /** Controls who can see the annotation. */
5566
+ visibility?: AnnotationVisibility;
5567
+ /** An optional comment on the annotation. */
5568
+ comment?: string | undefined;
5569
+ /** Optional application-defined custom data stored with the annotation. */
5570
+ customData?: string | undefined;
5571
+ /** The z-order of the annotation; higher values draw on top. */
5572
+ zOrder?: number;
5573
+ /** The ID of the redaction reason associated with the annotation, if any. */
5574
+ reasonId?: number | undefined;
5575
+ /** How the annotation participates in access control. */
5576
+ accessType?: AnnotationAccessControlType;
5577
+ }
5578
+ /** The kind of a document annotation. Used as the discriminator for the polymorphic Annotation response. */
5579
+ export declare enum AnnotationType {
5580
+ Highlight = "Highlight",
5581
+ Redaction = "Redaction",
5582
+ Strikeout = "Strikeout",
5583
+ Underline = "Underline",
5584
+ Note = "Note",
5585
+ Attachment = "Attachment",
5586
+ TextBox = "TextBox",
5587
+ Bitmap = "Bitmap",
5588
+ Line = "Line",
5589
+ Rectangle = "Rectangle",
5590
+ Polyline = "Polyline",
5591
+ Callout = "Callout",
5592
+ Stamp = "Stamp",
5593
+ FreeHand = "FreeHand"
5594
+ }
5595
+ /** Controls who can see an annotation. */
5596
+ export declare enum AnnotationVisibility {
5597
+ CreatorAndOwner = "CreatorAndOwner",
5598
+ Standard = "Standard",
5599
+ AllUsers = "AllUsers"
5600
+ }
5601
+ /** How an annotation participates in access control. */
5602
+ export declare enum AnnotationAccessControlType {
5603
+ None = "None",
5604
+ Allow = "Allow",
5605
+ Deny = "Deny"
5606
+ }
5607
+ /** Highlights one or more regions of a page. */
5608
+ export declare class HighlightAnnotation extends Annotation implements IHighlightAnnotation {
5609
+ /** The highlight color as an RGB hex string (for example, "#FFFF00"); null if transparent. */
5610
+ color?: string | undefined;
5611
+ /** The start offset of the linked text span, or -1 when not linked to text. */
5612
+ textStart?: number;
5613
+ /** The end offset of the linked text span, or -1 when not linked to text. */
5614
+ textEnd?: number;
5615
+ /** The rectangular regions covered by the highlight. */
5616
+ rectangles?: AnnotationRectangle[] | undefined;
5617
+ constructor(data?: IHighlightAnnotation);
5618
+ init(_data?: any): void;
5619
+ static fromJS(data: any): HighlightAnnotation;
5620
+ toJSON(data?: any): any;
5621
+ }
5622
+ /** Highlights one or more regions of a page. */
5623
+ export interface IHighlightAnnotation extends IAnnotation {
5624
+ /** The highlight color as an RGB hex string (for example, "#FFFF00"); null if transparent. */
5625
+ color?: string | undefined;
5626
+ /** The start offset of the linked text span, or -1 when not linked to text. */
5627
+ textStart?: number;
5628
+ /** The end offset of the linked text span, or -1 when not linked to text. */
5629
+ textEnd?: number;
5630
+ /** The rectangular regions covered by the highlight. */
5631
+ rectangles?: AnnotationRectangle[] | undefined;
5632
+ }
5633
+ /** A rectangular region on a page, in image pixels from the top-left corner. */
5634
+ export declare class AnnotationRectangle implements IAnnotationRectangle {
5635
+ /** The horizontal offset in pixels of the left edge of the rectangle. */
5636
+ x?: number;
5637
+ /** The vertical offset in pixels of the top edge of the rectangle. */
5638
+ y?: number;
5639
+ /** The width of the rectangle in pixels. */
5640
+ width?: number;
5641
+ /** The height of the rectangle in pixels. */
5642
+ height?: number;
5643
+ constructor(data?: IAnnotationRectangle);
5644
+ init(_data?: any): void;
5645
+ static fromJS(data: any): AnnotationRectangle;
5646
+ toJSON(data?: any): any;
5647
+ }
5648
+ /** A rectangular region on a page, in image pixels from the top-left corner. */
5649
+ export interface IAnnotationRectangle {
5650
+ /** The horizontal offset in pixels of the left edge of the rectangle. */
5651
+ x?: number;
5652
+ /** The vertical offset in pixels of the top edge of the rectangle. */
5653
+ y?: number;
5654
+ /** The width of the rectangle in pixels. */
5655
+ width?: number;
5656
+ /** The height of the rectangle in pixels. */
5657
+ height?: number;
5658
+ }
5659
+ /** 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. */
5660
+ export declare class RedactionAnnotation extends Annotation implements IRedactionAnnotation {
5661
+ /** A boolean indicating whether the region is whited out (true) rather than blacked out (false). */
5662
+ isWhiteout?: boolean;
5663
+ /** The start offset of the linked text span, or -1 when not linked to text. */
5664
+ textStart?: number;
5665
+ /** The end offset of the linked text span, or -1 when not linked to text. */
5666
+ textEnd?: number;
5667
+ /** The rectangular regions covered by the redaction. */
5668
+ rectangles?: AnnotationRectangle[] | undefined;
5669
+ constructor(data?: IRedactionAnnotation);
5670
+ init(_data?: any): void;
5671
+ static fromJS(data: any): RedactionAnnotation;
5672
+ toJSON(data?: any): any;
5673
+ }
5674
+ /** 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. */
5675
+ export interface IRedactionAnnotation extends IAnnotation {
5676
+ /** A boolean indicating whether the region is whited out (true) rather than blacked out (false). */
5677
+ isWhiteout?: boolean;
5678
+ /** The start offset of the linked text span, or -1 when not linked to text. */
5679
+ textStart?: number;
5680
+ /** The end offset of the linked text span, or -1 when not linked to text. */
5681
+ textEnd?: number;
5682
+ /** The rectangular regions covered by the redaction. */
5683
+ rectangles?: AnnotationRectangle[] | undefined;
5684
+ }
5685
+ /** Strikes through one or more regions of a page. */
5686
+ export declare class StrikeoutAnnotation extends Annotation implements IStrikeoutAnnotation {
5687
+ /** The strikeout color as an RGB hex string (for example, "#FF0000"); null if transparent. */
5688
+ color?: string | undefined;
5689
+ /** The reading direction of the struck-through text. */
5690
+ direction?: TextDirection;
5691
+ /** The start offset of the linked text span, or -1 when not linked to text. */
5692
+ textStart?: number;
5693
+ /** The end offset of the linked text span, or -1 when not linked to text. */
5694
+ textEnd?: number;
5695
+ /** The rectangular regions covered by the strikeout. */
5696
+ rectangles?: AnnotationRectangle[] | undefined;
5697
+ constructor(data?: IStrikeoutAnnotation);
5698
+ init(_data?: any): void;
5699
+ static fromJS(data: any): StrikeoutAnnotation;
5700
+ toJSON(data?: any): any;
5701
+ }
5702
+ /** Strikes through one or more regions of a page. */
5703
+ export interface IStrikeoutAnnotation extends IAnnotation {
5704
+ /** The strikeout color as an RGB hex string (for example, "#FF0000"); null if transparent. */
5705
+ color?: string | undefined;
5706
+ /** The reading direction of the struck-through text. */
5707
+ direction?: TextDirection;
5708
+ /** The start offset of the linked text span, or -1 when not linked to text. */
5709
+ textStart?: number;
5710
+ /** The end offset of the linked text span, or -1 when not linked to text. */
5711
+ textEnd?: number;
5712
+ /** The rectangular regions covered by the strikeout. */
5713
+ rectangles?: AnnotationRectangle[] | undefined;
5714
+ }
5715
+ /** The reading direction of annotation text. */
5716
+ export declare enum TextDirection {
5717
+ LeftToRight = "LeftToRight",
5718
+ TopToBottom = "TopToBottom",
5719
+ RightToLeft = "RightToLeft",
5720
+ BottomToTop = "BottomToTop"
5721
+ }
5722
+ /** Underlines one or more regions of a page. */
5723
+ export declare class UnderlineAnnotation extends Annotation implements IUnderlineAnnotation {
5724
+ /** The underline color as an RGB hex string (for example, "#FF0000"); null if transparent. */
5725
+ color?: string | undefined;
5726
+ /** The reading direction of the underlined text. */
5727
+ direction?: TextDirection;
5728
+ /** The start offset of the linked text span, or -1 when not linked to text. */
5729
+ textStart?: number;
5730
+ /** The end offset of the linked text span, or -1 when not linked to text. */
5731
+ textEnd?: number;
5732
+ /** The rectangular regions covered by the underline. */
5733
+ rectangles?: AnnotationRectangle[] | undefined;
5734
+ constructor(data?: IUnderlineAnnotation);
5735
+ init(_data?: any): void;
5736
+ static fromJS(data: any): UnderlineAnnotation;
5737
+ toJSON(data?: any): any;
5738
+ }
5739
+ /** Underlines one or more regions of a page. */
5740
+ export interface IUnderlineAnnotation extends IAnnotation {
5741
+ /** The underline color as an RGB hex string (for example, "#FF0000"); null if transparent. */
5742
+ color?: string | undefined;
5743
+ /** The reading direction of the underlined text. */
5744
+ direction?: TextDirection;
5745
+ /** The start offset of the linked text span, or -1 when not linked to text. */
5746
+ textStart?: number;
5747
+ /** The end offset of the linked text span, or -1 when not linked to text. */
5748
+ textEnd?: number;
5749
+ /** The rectangular regions covered by the underline. */
5750
+ rectangles?: AnnotationRectangle[] | undefined;
5751
+ }
5752
+ /** A sticky note placed on a page. */
5753
+ export declare class NoteAnnotation extends Annotation implements INoteAnnotation {
5754
+ /** The top-left position of the note on the page. */
5755
+ position?: AnnotationPoint | undefined;
5756
+ /** The background color of the note as an RGB hex string (for example, "#FFFF00"); null if transparent. */
5757
+ color?: string | undefined;
5758
+ /** The text content of the note. */
5759
+ text?: string | undefined;
5760
+ /** A boolean indicating whether the note keeps a revision history. */
5761
+ keepHistory?: boolean;
5762
+ constructor(data?: INoteAnnotation);
5763
+ init(_data?: any): void;
5764
+ static fromJS(data: any): NoteAnnotation;
5765
+ toJSON(data?: any): any;
5766
+ }
5767
+ /** A sticky note placed on a page. */
5768
+ export interface INoteAnnotation extends IAnnotation {
5769
+ /** The top-left position of the note on the page. */
5770
+ position?: AnnotationPoint | undefined;
5771
+ /** The background color of the note as an RGB hex string (for example, "#FFFF00"); null if transparent. */
5772
+ color?: string | undefined;
5773
+ /** The text content of the note. */
5774
+ text?: string | undefined;
5775
+ /** A boolean indicating whether the note keeps a revision history. */
5776
+ keepHistory?: boolean;
5777
+ }
5778
+ /** A point on a page, in image pixels from the top-left corner. */
5779
+ export declare class AnnotationPoint implements IAnnotationPoint {
5780
+ /** The horizontal offset in pixels from the left edge of the page. */
5781
+ x?: number;
5782
+ /** The vertical offset in pixels from the top edge of the page. */
5783
+ y?: number;
5784
+ constructor(data?: IAnnotationPoint);
5785
+ init(_data?: any): void;
5786
+ static fromJS(data: any): AnnotationPoint;
5787
+ toJSON(data?: any): any;
5788
+ }
5789
+ /** A point on a page, in image pixels from the top-left corner. */
5790
+ export interface IAnnotationPoint {
5791
+ /** The horizontal offset in pixels from the left edge of the page. */
5792
+ x?: number;
5793
+ /** The vertical offset in pixels from the top edge of the page. */
5794
+ y?: number;
5795
+ }
5796
+ /** A file attached to a page. The attached file's bytes are retrieved through the attachment-content endpoint, not in the annotation response. */
5797
+ export declare class AttachmentAnnotation extends Annotation implements IAttachmentAnnotation {
5798
+ /** The top-left position of the attachment icon on the page. */
5799
+ position?: AnnotationPoint | undefined;
5800
+ /** The original file name of the attachment. */
5801
+ fileName?: string | undefined;
5802
+ /** The MIME type of the attached file. */
5803
+ mimeType?: string | undefined;
5804
+ /** The size of the attached file in bytes. */
5805
+ attachmentLength?: number;
5806
+ constructor(data?: IAttachmentAnnotation);
5807
+ init(_data?: any): void;
5808
+ static fromJS(data: any): AttachmentAnnotation;
5809
+ toJSON(data?: any): any;
5810
+ }
5811
+ /** A file attached to a page. The attached file's bytes are retrieved through the attachment-content endpoint, not in the annotation response. */
5812
+ export interface IAttachmentAnnotation extends IAnnotation {
5813
+ /** The top-left position of the attachment icon on the page. */
5814
+ position?: AnnotationPoint | undefined;
5815
+ /** The original file name of the attachment. */
5816
+ fileName?: string | undefined;
5817
+ /** The MIME type of the attached file. */
5818
+ mimeType?: string | undefined;
5819
+ /** The size of the attached file in bytes. */
5820
+ attachmentLength?: number;
5821
+ }
5822
+ /** A bordered text box drawn on a page. */
5823
+ export declare class TextBoxAnnotation extends Annotation implements ITextBoxAnnotation {
5824
+ /** The bounding rectangle of the text box. */
5825
+ coordinates?: AnnotationRectangle | undefined;
5826
+ /** The fill color as an RGB hex string; null if not filled. */
5827
+ fillColor?: string | undefined;
5828
+ /** The border color as an RGB hex string; null if transparent. */
5829
+ borderColor?: string | undefined;
5830
+ /** The border stroke style. */
5831
+ borderStyle?: LineStyle;
5832
+ /** The border thickness in pixels. */
5833
+ borderThickness?: number;
5834
+ /** The opacity of the text box as a percentage (0-100). */
5835
+ opacity?: number;
5836
+ /** The text displayed in the box. */
5837
+ text?: string | undefined;
5838
+ /** The font size of the text in points. */
5839
+ textSize?: number;
5840
+ /** The reading direction of the text. */
5841
+ direction?: TextDirection;
5842
+ constructor(data?: ITextBoxAnnotation);
5843
+ init(_data?: any): void;
5844
+ static fromJS(data: any): TextBoxAnnotation;
5845
+ toJSON(data?: any): any;
5846
+ }
5847
+ /** A bordered text box drawn on a page. */
5848
+ export interface ITextBoxAnnotation extends IAnnotation {
5849
+ /** The bounding rectangle of the text box. */
5850
+ coordinates?: AnnotationRectangle | undefined;
5851
+ /** The fill color as an RGB hex string; null if not filled. */
5852
+ fillColor?: string | undefined;
5853
+ /** The border color as an RGB hex string; null if transparent. */
5854
+ borderColor?: string | undefined;
5855
+ /** The border stroke style. */
5856
+ borderStyle?: LineStyle;
5857
+ /** The border thickness in pixels. */
5858
+ borderThickness?: number;
5859
+ /** The opacity of the text box as a percentage (0-100). */
5860
+ opacity?: number;
5861
+ /** The text displayed in the box. */
5862
+ text?: string | undefined;
5863
+ /** The font size of the text in points. */
5864
+ textSize?: number;
5865
+ /** The reading direction of the text. */
5866
+ direction?: TextDirection;
5867
+ }
5868
+ /** The stroke style of a line or border. */
5869
+ export declare enum LineStyle {
5870
+ Solid = "Solid",
5871
+ Dashed1 = "Dashed1",
5872
+ Dashed2 = "Dashed2",
5873
+ Dashed3 = "Dashed3",
5874
+ Dashed4 = "Dashed4",
5875
+ Dashed5 = "Dashed5",
5876
+ Dashed6 = "Dashed6",
5877
+ Cloud1 = "Cloud1",
5878
+ Cloud2 = "Cloud2"
5879
+ }
5880
+ /** An image placed on a page. The image bytes are not included in the annotation response; they are uploaded and managed separately. */
5881
+ export declare class BitmapAnnotation extends Annotation implements IBitmapAnnotation {
5882
+ /** The top-left position of the image on the page. */
5883
+ position?: AnnotationPoint | undefined;
5884
+ /** The rendered size of the image in pixels. */
5885
+ size?: AnnotationSize | undefined;
5886
+ /** The clockwise rotation of the image in degrees (0-359). */
5887
+ rotation?: number;
5888
+ /** The opacity of the image as a percentage (0-100). */
5889
+ opacity?: number;
5890
+ constructor(data?: IBitmapAnnotation);
5891
+ init(_data?: any): void;
5892
+ static fromJS(data: any): BitmapAnnotation;
5893
+ toJSON(data?: any): any;
5894
+ }
5895
+ /** An image placed on a page. The image bytes are not included in the annotation response; they are uploaded and managed separately. */
5896
+ export interface IBitmapAnnotation extends IAnnotation {
5897
+ /** The top-left position of the image on the page. */
5898
+ position?: AnnotationPoint | undefined;
5899
+ /** The rendered size of the image in pixels. */
5900
+ size?: AnnotationSize | undefined;
5901
+ /** The clockwise rotation of the image in degrees (0-359). */
5902
+ rotation?: number;
5903
+ /** The opacity of the image as a percentage (0-100). */
5904
+ opacity?: number;
5905
+ }
5906
+ /** A size in image pixels. */
5907
+ export declare class AnnotationSize implements IAnnotationSize {
5908
+ /** The width in pixels. */
5909
+ width?: number;
5910
+ /** The height in pixels. */
5911
+ height?: number;
5912
+ constructor(data?: IAnnotationSize);
5913
+ init(_data?: any): void;
5914
+ static fromJS(data: any): AnnotationSize;
5915
+ toJSON(data?: any): any;
5916
+ }
5917
+ /** A size in image pixels. */
5918
+ export interface IAnnotationSize {
5919
+ /** The width in pixels. */
5920
+ width?: number;
5921
+ /** The height in pixels. */
5922
+ height?: number;
5923
+ }
5924
+ /** A straight line or arrow drawn on a page. */
5925
+ export declare class LineAnnotation extends Annotation implements ILineAnnotation {
5926
+ /** The start point of the line. */
5927
+ beginPosition?: AnnotationPoint | undefined;
5928
+ /** The end point of the line. */
5929
+ endPosition?: AnnotationPoint | undefined;
5930
+ /** The cap style at the start of the line. */
5931
+ beginStyle?: LineEndingStyle;
5932
+ /** The cap style at the end of the line. */
5933
+ endStyle?: LineEndingStyle;
5934
+ /** The line stroke style. */
5935
+ lineStyle?: LineStyle;
5936
+ /** The line color as an RGB hex string; null if transparent. */
5937
+ color?: string | undefined;
5938
+ /** The end-cap color as an RGB hex string; null if transparent. */
5939
+ endColor?: string | undefined;
5940
+ /** The line thickness in pixels. */
5941
+ thickness?: number;
5942
+ /** The opacity of the line as a percentage (0-100). */
5943
+ opacity?: number;
5944
+ constructor(data?: ILineAnnotation);
5945
+ init(_data?: any): void;
5946
+ static fromJS(data: any): LineAnnotation;
5947
+ toJSON(data?: any): any;
5948
+ }
5949
+ /** A straight line or arrow drawn on a page. */
5950
+ export interface ILineAnnotation extends IAnnotation {
5951
+ /** The start point of the line. */
5952
+ beginPosition?: AnnotationPoint | undefined;
5953
+ /** The end point of the line. */
5954
+ endPosition?: AnnotationPoint | undefined;
5955
+ /** The cap style at the start of the line. */
5956
+ beginStyle?: LineEndingStyle;
5957
+ /** The cap style at the end of the line. */
5958
+ endStyle?: LineEndingStyle;
5959
+ /** The line stroke style. */
5960
+ lineStyle?: LineStyle;
5961
+ /** The line color as an RGB hex string; null if transparent. */
5962
+ color?: string | undefined;
5963
+ /** The end-cap color as an RGB hex string; null if transparent. */
5964
+ endColor?: string | undefined;
5965
+ /** The line thickness in pixels. */
5966
+ thickness?: number;
5967
+ /** The opacity of the line as a percentage (0-100). */
5968
+ opacity?: number;
5969
+ }
5970
+ /** The cap style at the end of a line. */
5971
+ export declare enum LineEndingStyle {
5972
+ None = "None",
5973
+ Open = "Open",
5974
+ Closed = "Closed",
5975
+ OpenReversed = "OpenReversed",
5976
+ ClosedReversed = "ClosedReversed",
5977
+ Butt = "Butt",
5978
+ Diamond = "Diamond",
5979
+ Round = "Round",
5980
+ Square = "Square",
5981
+ Slash = "Slash"
5982
+ }
5983
+ /** A rectangle, rounded rectangle, or ellipse drawn on a page. */
5984
+ export declare class RectangleAnnotation extends Annotation implements IRectangleAnnotation {
5985
+ /** The bounding rectangle of the shape. */
5986
+ coordinates?: AnnotationRectangle | undefined;
5987
+ /** The fill color as an RGB hex string (for example, "#FF0000"); null if not filled. */
5988
+ fillColor?: string | undefined;
5989
+ /** The shape drawn within the bounding rectangle. */
5990
+ boxStyle?: BoxStyle;
5991
+ /** The border stroke style. */
5992
+ borderStyle?: LineStyle;
5993
+ /** The border color as an RGB hex string; null if transparent. */
5994
+ borderColor?: string | undefined;
5995
+ /** The border thickness in pixels. */
5996
+ borderThickness?: number;
5997
+ /** The opacity of the shape as a percentage (0-100). */
5998
+ opacity?: number;
5999
+ constructor(data?: IRectangleAnnotation);
6000
+ init(_data?: any): void;
6001
+ static fromJS(data: any): RectangleAnnotation;
6002
+ toJSON(data?: any): any;
6003
+ }
6004
+ /** A rectangle, rounded rectangle, or ellipse drawn on a page. */
6005
+ export interface IRectangleAnnotation extends IAnnotation {
6006
+ /** The bounding rectangle of the shape. */
6007
+ coordinates?: AnnotationRectangle | undefined;
6008
+ /** The fill color as an RGB hex string (for example, "#FF0000"); null if not filled. */
6009
+ fillColor?: string | undefined;
6010
+ /** The shape drawn within the bounding rectangle. */
6011
+ boxStyle?: BoxStyle;
6012
+ /** The border stroke style. */
6013
+ borderStyle?: LineStyle;
6014
+ /** The border color as an RGB hex string; null if transparent. */
6015
+ borderColor?: string | undefined;
6016
+ /** The border thickness in pixels. */
6017
+ borderThickness?: number;
6018
+ /** The opacity of the shape as a percentage (0-100). */
6019
+ opacity?: number;
6020
+ }
6021
+ /** The shape of a rectangle annotation. */
6022
+ export declare enum BoxStyle {
6023
+ Rectangle = "Rectangle",
6024
+ Ellipse = "Ellipse",
6025
+ RoundedRectangle = "RoundedRectangle"
6026
+ }
6027
+ /** A closed multi-point polygon drawn on a page. */
6028
+ export declare class PolylineAnnotation extends Annotation implements IPolylineAnnotation {
6029
+ /** The ordered vertices of the polygon. */
6030
+ points?: AnnotationPoint[] | undefined;
6031
+ /** The border stroke style. */
6032
+ lineStyle?: LineStyle;
6033
+ /** The fill color as an RGB hex string; null if not filled. */
6034
+ fillColor?: string | undefined;
6035
+ /** Whether the polygon is filled. */
6036
+ fillStyle?: FillStyle;
6037
+ /** The border color as an RGB hex string; null if transparent. */
6038
+ color?: string | undefined;
6039
+ /** The border thickness in pixels. */
6040
+ thickness?: number;
6041
+ /** The opacity of the polygon as a percentage (0-100). */
6042
+ opacity?: number;
6043
+ constructor(data?: IPolylineAnnotation);
6044
+ init(_data?: any): void;
6045
+ static fromJS(data: any): PolylineAnnotation;
6046
+ toJSON(data?: any): any;
6047
+ }
6048
+ /** A closed multi-point polygon drawn on a page. */
6049
+ export interface IPolylineAnnotation extends IAnnotation {
6050
+ /** The ordered vertices of the polygon. */
6051
+ points?: AnnotationPoint[] | undefined;
6052
+ /** The border stroke style. */
6053
+ lineStyle?: LineStyle;
6054
+ /** The fill color as an RGB hex string; null if not filled. */
6055
+ fillColor?: string | undefined;
6056
+ /** Whether the polygon is filled. */
6057
+ fillStyle?: FillStyle;
6058
+ /** The border color as an RGB hex string; null if transparent. */
6059
+ color?: string | undefined;
6060
+ /** The border thickness in pixels. */
6061
+ thickness?: number;
6062
+ /** The opacity of the polygon as a percentage (0-100). */
6063
+ opacity?: number;
6064
+ }
6065
+ /** Whether a closed shape is filled. */
6066
+ export declare enum FillStyle {
6067
+ None = "None",
6068
+ Solid = "Solid"
6069
+ }
6070
+ /** A text box with a pointer leading to a focus point on the page. */
6071
+ export declare class CalloutAnnotation extends Annotation implements ICalloutAnnotation {
6072
+ /** The bounding rectangle of the callout's text box. */
6073
+ boxCoordinates?: AnnotationRectangle | undefined;
6074
+ /** The point the callout pointer leads to. */
6075
+ focusPosition?: AnnotationPoint | undefined;
6076
+ /** The fill color as an RGB hex string; null if not filled. */
6077
+ fillColor?: string | undefined;
6078
+ /** The border and pointer color as an RGB hex string; null if transparent. */
6079
+ borderColor?: string | undefined;
6080
+ /** The border stroke style. */
6081
+ borderStyle?: LineStyle;
6082
+ /** The border thickness in pixels. */
6083
+ borderThickness?: number;
6084
+ /** The cap style at the focus end of the pointer. */
6085
+ focusStyle?: LineEndingStyle;
6086
+ /** The opacity of the callout as a percentage (0-100). */
6087
+ opacity?: number;
6088
+ /** The font size of the text in points. */
6089
+ textSize?: number;
6090
+ /** The text displayed in the callout. */
6091
+ text?: string | undefined;
6092
+ /** The reading direction of the text. */
6093
+ direction?: TextDirection;
6094
+ constructor(data?: ICalloutAnnotation);
6095
+ init(_data?: any): void;
6096
+ static fromJS(data: any): CalloutAnnotation;
6097
+ toJSON(data?: any): any;
6098
+ }
6099
+ /** A text box with a pointer leading to a focus point on the page. */
6100
+ export interface ICalloutAnnotation extends IAnnotation {
6101
+ /** The bounding rectangle of the callout's text box. */
6102
+ boxCoordinates?: AnnotationRectangle | undefined;
6103
+ /** The point the callout pointer leads to. */
6104
+ focusPosition?: AnnotationPoint | undefined;
6105
+ /** The fill color as an RGB hex string; null if not filled. */
6106
+ fillColor?: string | undefined;
6107
+ /** The border and pointer color as an RGB hex string; null if transparent. */
6108
+ borderColor?: string | undefined;
6109
+ /** The border stroke style. */
6110
+ borderStyle?: LineStyle;
6111
+ /** The border thickness in pixels. */
6112
+ borderThickness?: number;
6113
+ /** The cap style at the focus end of the pointer. */
6114
+ focusStyle?: LineEndingStyle;
6115
+ /** The opacity of the callout as a percentage (0-100). */
6116
+ opacity?: number;
6117
+ /** The font size of the text in points. */
6118
+ textSize?: number;
6119
+ /** The text displayed in the callout. */
6120
+ text?: string | undefined;
6121
+ /** The reading direction of the text. */
6122
+ direction?: TextDirection;
6123
+ }
6124
+ /** A placement of a catalog stamp on a page. The stamp image itself is defined by the catalog entry referenced by StampId. */
6125
+ export declare class StampAnnotation extends Annotation implements IStampAnnotation {
6126
+ /** The ID of the catalog stamp placed; 0 when the stamp carries its own inline bitmap. */
6127
+ stampId?: number;
6128
+ /** The rectangle the stamp is drawn into. */
6129
+ coordinates?: AnnotationRectangle | undefined;
6130
+ /** The top-left position of the stamp on the page. */
6131
+ position?: AnnotationPoint | undefined;
6132
+ /** The render color of the stamp as an RGB hex string (for example, "#000000"); null if transparent. */
6133
+ color?: string | undefined;
6134
+ /** The clockwise rotation of the stamp in degrees (0-359). */
6135
+ rotation?: number;
6136
+ /** The opacity of the stamp as a percentage (0-100). */
6137
+ opacity?: number;
6138
+ constructor(data?: IStampAnnotation);
6139
+ init(_data?: any): void;
6140
+ static fromJS(data: any): StampAnnotation;
6141
+ toJSON(data?: any): any;
6142
+ }
6143
+ /** A placement of a catalog stamp on a page. The stamp image itself is defined by the catalog entry referenced by StampId. */
6144
+ export interface IStampAnnotation extends IAnnotation {
6145
+ /** The ID of the catalog stamp placed; 0 when the stamp carries its own inline bitmap. */
6146
+ stampId?: number;
6147
+ /** The rectangle the stamp is drawn into. */
6148
+ coordinates?: AnnotationRectangle | undefined;
6149
+ /** The top-left position of the stamp on the page. */
6150
+ position?: AnnotationPoint | undefined;
6151
+ /** The render color of the stamp as an RGB hex string (for example, "#000000"); null if transparent. */
6152
+ color?: string | undefined;
6153
+ /** The clockwise rotation of the stamp in degrees (0-359). */
6154
+ rotation?: number;
6155
+ /** The opacity of the stamp as a percentage (0-100). */
6156
+ opacity?: number;
6157
+ }
6158
+ /** A freehand-drawn multi-point line on a page. */
6159
+ export declare class FreeHandAnnotation extends Annotation implements IFreeHandAnnotation {
6160
+ /** The ordered points of the freehand stroke. */
6161
+ points?: AnnotationPoint[] | undefined;
6162
+ /** The stroke style. */
6163
+ lineStyle?: LineStyle;
6164
+ /** The stroke color as an RGB hex string; null if transparent. */
6165
+ color?: string | undefined;
6166
+ /** The stroke thickness in pixels. */
6167
+ thickness?: number;
6168
+ /** The opacity of the stroke as a percentage (0-100). */
6169
+ opacity?: number;
6170
+ constructor(data?: IFreeHandAnnotation);
6171
+ init(_data?: any): void;
6172
+ static fromJS(data: any): FreeHandAnnotation;
6173
+ toJSON(data?: any): any;
6174
+ }
6175
+ /** A freehand-drawn multi-point line on a page. */
6176
+ export interface IFreeHandAnnotation extends IAnnotation {
6177
+ /** The ordered points of the freehand stroke. */
6178
+ points?: AnnotationPoint[] | undefined;
6179
+ /** The stroke style. */
6180
+ lineStyle?: LineStyle;
6181
+ /** The stroke color as an RGB hex string; null if transparent. */
6182
+ color?: string | undefined;
6183
+ /** The stroke thickness in pixels. */
6184
+ thickness?: number;
6185
+ /** The opacity of the stroke as a percentage (0-100). */
6186
+ opacity?: number;
6187
+ }
6188
+ /** A machine-readable format for specifying errors in HTTP API responses, per RFC 9457 (https://www.rfc-editor.org/rfc/rfc9457). Supersedes RFC 7807. */
6189
+ export declare class ProblemDetails implements IProblemDetails {
6190
+ /** The problem type. */
6191
+ type?: string | undefined;
6192
+ /** A short, human-readable summary of the problem type. */
6193
+ title?: string | undefined;
6194
+ /** The HTTP status code. */
3829
6195
  status: number;
3830
6196
  /** A human-readable explanation specific to this occurrence of the problem. */
3831
6197
  detail?: string | undefined;
@@ -3845,32 +6211,104 @@ export declare class ProblemDetails implements IProblemDetails {
3845
6211
  extensions: any;
3846
6212
  constructor(data?: IProblemDetails);
3847
6213
  init(_data?: any): void;
3848
- static fromJS(data: any): ProblemDetails;
6214
+ static fromJS(data: any): ProblemDetails;
6215
+ toJSON(data?: any): any;
6216
+ }
6217
+ /** A machine-readable format for specifying errors in HTTP API responses, per RFC 9457 (https://www.rfc-editor.org/rfc/rfc9457). Supersedes RFC 7807. */
6218
+ export interface IProblemDetails {
6219
+ /** The problem type. */
6220
+ type?: string | undefined;
6221
+ /** A short, human-readable summary of the problem type. */
6222
+ title?: string | undefined;
6223
+ /** The HTTP status code. */
6224
+ status: number;
6225
+ /** A human-readable explanation specific to this occurrence of the problem. */
6226
+ detail?: string | undefined;
6227
+ /** A URI reference that identifies the specific occurrence of the problem. */
6228
+ instance?: string | undefined;
6229
+ /** The operation id. */
6230
+ operationId?: string | undefined;
6231
+ /** The error source. */
6232
+ errorSource?: string | undefined;
6233
+ /** The error code. */
6234
+ errorCode?: number | undefined;
6235
+ /** The trace id. */
6236
+ traceId?: string | undefined;
6237
+ /** The instance detail. */
6238
+ instanceDetail?: string | undefined;
6239
+ [key: string]: any;
6240
+ }
6241
+ /** A repository-defined reason that can be associated with a redaction annotation. */
6242
+ export declare class AnnotationReason implements IAnnotationReason {
6243
+ /** The ID of the annotation reason. */
6244
+ id?: number;
6245
+ /** The display text of the annotation reason. */
6246
+ text?: string | undefined;
6247
+ constructor(data?: IAnnotationReason);
6248
+ init(_data?: any): void;
6249
+ static fromJS(data: any): AnnotationReason;
6250
+ toJSON(data?: any): any;
6251
+ }
6252
+ /** A repository-defined reason that can be associated with a redaction annotation. */
6253
+ export interface IAnnotationReason {
6254
+ /** The ID of the annotation reason. */
6255
+ id?: number;
6256
+ /** The display text of the annotation reason. */
6257
+ text?: string | undefined;
6258
+ }
6259
+ /** Request body for creating or updating an annotation (redaction) reason. */
6260
+ export declare class AnnotationReasonRequest implements IAnnotationReasonRequest {
6261
+ /** The display text of the annotation reason. */
6262
+ text?: string | undefined;
6263
+ constructor(data?: IAnnotationReasonRequest);
6264
+ init(_data?: any): void;
6265
+ static fromJS(data: any): AnnotationReasonRequest;
6266
+ toJSON(data?: any): any;
6267
+ }
6268
+ /** Request body for creating or updating an annotation (redaction) reason. */
6269
+ export interface IAnnotationReasonRequest {
6270
+ /** The display text of the annotation reason. */
6271
+ text?: string | undefined;
6272
+ }
6273
+ /** Response containing a collection of Attribute. */
6274
+ export declare class AttributeCollectionResponse implements IAttributeCollectionResponse {
6275
+ /** A URL to retrieve the next page of the requested collection. */
6276
+ odataNextLink?: string | undefined;
6277
+ /** The total count of items within a collection. */
6278
+ odataCount?: number | undefined;
6279
+ /** Gets or sets the OData response content in the "value". */
6280
+ value?: Attribute[] | undefined;
6281
+ constructor(data?: IAttributeCollectionResponse);
6282
+ init(_data?: any): void;
6283
+ static fromJS(data: any): AttributeCollectionResponse;
6284
+ toJSON(data?: any): any;
6285
+ }
6286
+ /** Response containing a collection of Attribute. */
6287
+ export interface IAttributeCollectionResponse {
6288
+ /** A URL to retrieve the next page of the requested collection. */
6289
+ odataNextLink?: string | undefined;
6290
+ /** The total count of items within a collection. */
6291
+ odataCount?: number | undefined;
6292
+ /** Gets or sets the OData response content in the "value". */
6293
+ value?: Attribute[] | undefined;
6294
+ }
6295
+ /** Represents a trustee attribute. */
6296
+ export declare class Attribute implements IAttribute {
6297
+ /** The attribute key. */
6298
+ key?: string | undefined;
6299
+ /** The attribute value. */
6300
+ value?: string | undefined;
6301
+ constructor(data?: IAttribute);
6302
+ init(_data?: any): void;
6303
+ static fromJS(data: any): Attribute;
3849
6304
  toJSON(data?: any): any;
3850
6305
  }
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;
6306
+ /** Represents a trustee attribute. */
6307
+ export interface IAttribute {
6308
+ /** The attribute key. */
6309
+ key?: string | undefined;
6310
+ /** The attribute value. */
6311
+ value?: string | undefined;
3874
6312
  }
3875
6313
  /** Response containing a collection of AuditReason. */
3876
6314
  export declare class AuditReasonCollectionResponse implements IAuditReasonCollectionResponse {
@@ -3878,6 +6316,7 @@ export declare class AuditReasonCollectionResponse implements IAuditReasonCollec
3878
6316
  odataNextLink?: string | undefined;
3879
6317
  /** The total count of items within a collection. */
3880
6318
  odataCount?: number | undefined;
6319
+ /** Gets or sets the OData response content in the "value". */
3881
6320
  value?: AuditReason[] | undefined;
3882
6321
  constructor(data?: IAuditReasonCollectionResponse);
3883
6322
  init(_data?: any): void;
@@ -3890,6 +6329,7 @@ export interface IAuditReasonCollectionResponse {
3890
6329
  odataNextLink?: string | undefined;
3891
6330
  /** The total count of items within a collection. */
3892
6331
  odataCount?: number | undefined;
6332
+ /** Gets or sets the OData response content in the "value". */
3893
6333
  value?: AuditReason[] | undefined;
3894
6334
  }
3895
6335
  /** Represents a user-defined audit reason for an audit event. */
@@ -4044,6 +6484,7 @@ export declare class FieldDefinitionCollectionResponse implements IFieldDefiniti
4044
6484
  odataNextLink?: string | undefined;
4045
6485
  /** The total count of items within a collection. */
4046
6486
  odataCount?: number | undefined;
6487
+ /** Gets or sets the OData response content in the "value". */
4047
6488
  value?: FieldDefinition[] | undefined;
4048
6489
  constructor(data?: IFieldDefinitionCollectionResponse);
4049
6490
  init(_data?: any): void;
@@ -4056,6 +6497,7 @@ export interface IFieldDefinitionCollectionResponse {
4056
6497
  odataNextLink?: string | undefined;
4057
6498
  /** The total count of items within a collection. */
4058
6499
  odataCount?: number | undefined;
6500
+ /** Gets or sets the OData response content in the "value". */
4059
6501
  value?: FieldDefinition[] | undefined;
4060
6502
  }
4061
6503
  /** 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 +6936,161 @@ LongInteger → Number). A lossy conversion without this flag returns 400
4494
6936
  (data_loss_expected). Lossless conversions ignore this flag. */
4495
6937
  allowDataLoss?: boolean;
4496
6938
  }
6939
+ /** 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. */
6940
+ export declare class FieldAccessControlList implements IFieldAccessControlList {
6941
+ /** The access control entries that make up the ACL. */
6942
+ entries?: FieldAccessControlEntry[] | undefined;
6943
+ constructor(data?: IFieldAccessControlList);
6944
+ init(_data?: any): void;
6945
+ static fromJS(data: any): FieldAccessControlList;
6946
+ toJSON(data?: any): any;
6947
+ }
6948
+ /** 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. */
6949
+ export interface IFieldAccessControlList {
6950
+ /** The access control entries that make up the ACL. */
6951
+ entries?: FieldAccessControlEntry[] | undefined;
6952
+ }
6953
+ /** 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. */
6954
+ export declare class FieldAccessControlEntry implements IFieldAccessControlEntry {
6955
+ /** The trustee this ACE applies to. On input, identify the trustee by either
6956
+ trustee.sid or trustee.accountName (the SID takes precedence when both are given). */
6957
+ trustee?: TrusteeIdentity | undefined;
6958
+ /** Whether the ACE grants (Allow) or denies (Deny) the listed rights. Required on
6959
+ input — a missing value is rejected (it must not silently default to Allow). */
6960
+ accessControlType?: AccessControlType | undefined;
6961
+ /** The rights granted or denied by this ACE. */
6962
+ rights?: FieldRight[] | undefined;
6963
+ /** True when this ACE is inherited. Always false for field ACEs (field definitions have no
6964
+ ACL inheritance); returned for contract symmetry and ignored on input. */
6965
+ isInherited?: boolean;
6966
+ /** When inherited, a description of where the ACE was inherited from. Output only; null for
6967
+ field ACEs. */
6968
+ inheritedFrom?: string | undefined;
6969
+ constructor(data?: IFieldAccessControlEntry);
6970
+ init(_data?: any): void;
6971
+ static fromJS(data: any): FieldAccessControlEntry;
6972
+ toJSON(data?: any): any;
6973
+ }
6974
+ /** 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. */
6975
+ export interface IFieldAccessControlEntry {
6976
+ /** The trustee this ACE applies to. On input, identify the trustee by either
6977
+ trustee.sid or trustee.accountName (the SID takes precedence when both are given). */
6978
+ trustee?: TrusteeIdentity | undefined;
6979
+ /** Whether the ACE grants (Allow) or denies (Deny) the listed rights. Required on
6980
+ input — a missing value is rejected (it must not silently default to Allow). */
6981
+ accessControlType?: AccessControlType | undefined;
6982
+ /** The rights granted or denied by this ACE. */
6983
+ rights?: FieldRight[] | undefined;
6984
+ /** True when this ACE is inherited. Always false for field ACEs (field definitions have no
6985
+ ACL inheritance); returned for contract symmetry and ignored on input. */
6986
+ isInherited?: boolean;
6987
+ /** When inherited, a description of where the ACE was inherited from. Output only; null for
6988
+ field ACEs. */
6989
+ inheritedFrom?: string | undefined;
6990
+ }
6991
+ /** Identifies a security trustee (a user or a group) referenced by an access control entry, an effective-rights query, or a trustee-lookup result. */
6992
+ export declare class TrusteeIdentity implements ITrusteeIdentity {
6993
+ /** The trustee's security identifier (an SDDL string such as S-1-5-21-...). This is
6994
+ the canonical, stable id for a trustee. On input it is preferred and takes precedence over
6995
+ AccountName; always populated on output. */
6996
+ sid?: string | undefined;
6997
+ /** The trustee's account name. On input it may be supplied instead of Sid to
6998
+ address the trustee by name (resolved to a SID server-side); the SID wins when both are
6999
+ given. Always populated on output. */
7000
+ accountName?: string | undefined;
7001
+ /** The trustee type: one of LaserficheUser, LaserficheGroup,
7002
+ WindowsAccount, LdapAccount, LfdsAccount. */
7003
+ trusteeType?: string | undefined;
7004
+ /** True when the trustee is an individual user; false when it is a group. */
7005
+ isUser?: boolean;
7006
+ /** A human-readable display name. Populated by trustee-lookup results; omitted in
7007
+ access-control-entry contexts. */
7008
+ displayName?: string | undefined;
7009
+ /** True when the trustee account is disabled. Populated by trustee-lookup results. */
7010
+ isDisabled?: boolean;
7011
+ constructor(data?: ITrusteeIdentity);
7012
+ init(_data?: any): void;
7013
+ static fromJS(data: any): TrusteeIdentity;
7014
+ toJSON(data?: any): any;
7015
+ }
7016
+ /** Identifies a security trustee (a user or a group) referenced by an access control entry, an effective-rights query, or a trustee-lookup result. */
7017
+ export interface ITrusteeIdentity {
7018
+ /** The trustee's security identifier (an SDDL string such as S-1-5-21-...). This is
7019
+ the canonical, stable id for a trustee. On input it is preferred and takes precedence over
7020
+ AccountName; always populated on output. */
7021
+ sid?: string | undefined;
7022
+ /** The trustee's account name. On input it may be supplied instead of Sid to
7023
+ address the trustee by name (resolved to a SID server-side); the SID wins when both are
7024
+ given. Always populated on output. */
7025
+ accountName?: string | undefined;
7026
+ /** The trustee type: one of LaserficheUser, LaserficheGroup,
7027
+ WindowsAccount, LdapAccount, LfdsAccount. */
7028
+ trusteeType?: string | undefined;
7029
+ /** True when the trustee is an individual user; false when it is a group. */
7030
+ isUser?: boolean;
7031
+ /** A human-readable display name. Populated by trustee-lookup results; omitted in
7032
+ access-control-entry contexts. */
7033
+ displayName?: string | undefined;
7034
+ /** True when the trustee account is disabled. Populated by trustee-lookup results. */
7035
+ isDisabled?: boolean;
7036
+ }
7037
+ /** Whether an access control entry (ACE) grants or denies its rights. Serialized by name. */
7038
+ export declare enum AccessControlType {
7039
+ Allow = "Allow",
7040
+ Deny = "Deny"
7041
+ }
7042
+ /** 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. */
7043
+ export declare enum FieldRight {
7044
+ ReadValue = "ReadValue",
7045
+ SetValue = "SetValue",
7046
+ SetValueOnce = "SetValueOnce",
7047
+ ModifyDefinition = "ModifyDefinition",
7048
+ Delete = "Delete",
7049
+ ReadPermissions = "ReadPermissions",
7050
+ ChangePermissions = "ChangePermissions",
7051
+ TakeOwnership = "TakeOwnership"
7052
+ }
7053
+ /** 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. */
7054
+ export declare class SetFieldAccessControlRequest implements ISetFieldAccessControlRequest {
7055
+ /** The access control entries to set. Replaces the field's entire explicit ACL. */
7056
+ entries?: FieldAccessControlEntry[] | undefined;
7057
+ constructor(data?: ISetFieldAccessControlRequest);
7058
+ init(_data?: any): void;
7059
+ static fromJS(data: any): SetFieldAccessControlRequest;
7060
+ toJSON(data?: any): any;
7061
+ }
7062
+ /** 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. */
7063
+ export interface ISetFieldAccessControlRequest {
7064
+ /** The access control entries to set. Replaces the field's entire explicit ACL. */
7065
+ entries?: FieldAccessControlEntry[] | undefined;
7066
+ }
7067
+ /** 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. */
7068
+ export declare class FieldRights implements IFieldRights {
7069
+ /** The rights granted to the trustee on the field. */
7070
+ rights?: FieldRight[] | undefined;
7071
+ /** True when the session is read-only, so no write operations are possible regardless of
7072
+ the granted rights. */
7073
+ isReadOnly?: boolean;
7074
+ constructor(data?: IFieldRights);
7075
+ init(_data?: any): void;
7076
+ static fromJS(data: any): FieldRights;
7077
+ toJSON(data?: any): any;
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 interface 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
+ }
4497
7087
  /** Response containing a collection of LinkDefinition. */
4498
7088
  export declare class LinkDefinitionCollectionResponse implements ILinkDefinitionCollectionResponse {
4499
7089
  /** A URL to retrieve the next page of the requested collection. */
4500
7090
  odataNextLink?: string | undefined;
4501
7091
  /** The total count of items within a collection. */
4502
7092
  odataCount?: number | undefined;
7093
+ /** Gets or sets the OData response content in the "value". */
4503
7094
  value?: LinkDefinition[] | undefined;
4504
7095
  constructor(data?: ILinkDefinitionCollectionResponse);
4505
7096
  init(_data?: any): void;
@@ -4512,6 +7103,7 @@ export interface ILinkDefinitionCollectionResponse {
4512
7103
  odataNextLink?: string | undefined;
4513
7104
  /** The total count of items within a collection. */
4514
7105
  odataCount?: number | undefined;
7106
+ /** Gets or sets the OData response content in the "value". */
4515
7107
  value?: LinkDefinition[] | undefined;
4516
7108
  }
4517
7109
  /** Represents an entry link definition. */
@@ -5308,6 +7900,7 @@ Does not affect pages generated from `file` — use `pdfOptions.generateText` fo
5308
7900
  }
5309
7901
  /** Response containing a link to download the exported entry. */
5310
7902
  export declare class ExportEntryResponse implements IExportEntryResponse {
7903
+ /** Gets or sets the OData response content in the "value". */
5311
7904
  value?: string | undefined;
5312
7905
  constructor(data?: IExportEntryResponse);
5313
7906
  init(_data?: any): void;
@@ -5316,6 +7909,7 @@ export declare class ExportEntryResponse implements IExportEntryResponse {
5316
7909
  }
5317
7910
  /** Response containing a link to download the exported entry. */
5318
7911
  export interface IExportEntryResponse {
7912
+ /** Gets or sets the OData response content in the "value". */
5319
7913
  value?: string | undefined;
5320
7914
  }
5321
7915
  /** Request body for exporting an entry. */
@@ -5394,6 +7988,7 @@ export declare class EntryCollectionResponse implements IEntryCollectionResponse
5394
7988
  odataNextLink?: string | undefined;
5395
7989
  /** The total count of items within a collection. */
5396
7990
  odataCount?: number | undefined;
7991
+ /** Gets or sets the OData response content in the "value". */
5397
7992
  value?: Entry[] | undefined;
5398
7993
  constructor(data?: IEntryCollectionResponse);
5399
7994
  init(_data?: any): void;
@@ -5406,6 +8001,7 @@ export interface IEntryCollectionResponse {
5406
8001
  odataNextLink?: string | undefined;
5407
8002
  /** The total count of items within a collection. */
5408
8003
  odataCount?: number | undefined;
8004
+ /** Gets or sets the OData response content in the "value". */
5409
8005
  value?: Entry[] | undefined;
5410
8006
  }
5411
8007
  /** Response containing a collection of Field. */
@@ -5414,6 +8010,7 @@ export declare class FieldCollectionResponse implements IFieldCollectionResponse
5414
8010
  odataNextLink?: string | undefined;
5415
8011
  /** The total count of items within a collection. */
5416
8012
  odataCount?: number | undefined;
8013
+ /** Gets or sets the OData response content in the "value". */
5417
8014
  value?: Field[] | undefined;
5418
8015
  constructor(data?: IFieldCollectionResponse);
5419
8016
  init(_data?: any): void;
@@ -5426,6 +8023,7 @@ export interface IFieldCollectionResponse {
5426
8023
  odataNextLink?: string | undefined;
5427
8024
  /** The total count of items within a collection. */
5428
8025
  odataCount?: number | undefined;
8026
+ /** Gets or sets the OData response content in the "value". */
5429
8027
  value?: Field[] | undefined;
5430
8028
  }
5431
8029
  /** Request body for assigning fields to an entry. */
@@ -5448,6 +8046,7 @@ export declare class TagCollectionResponse implements ITagCollectionResponse {
5448
8046
  odataNextLink?: string | undefined;
5449
8047
  /** The total count of items within a collection. */
5450
8048
  odataCount?: number | undefined;
8049
+ /** Gets or sets the OData response content in the "value". */
5451
8050
  value?: Tag[] | undefined;
5452
8051
  constructor(data?: ITagCollectionResponse);
5453
8052
  init(_data?: any): void;
@@ -5460,6 +8059,7 @@ export interface ITagCollectionResponse {
5460
8059
  odataNextLink?: string | undefined;
5461
8060
  /** The total count of items within a collection. */
5462
8061
  odataCount?: number | undefined;
8062
+ /** Gets or sets the OData response content in the "value". */
5463
8063
  value?: Tag[] | undefined;
5464
8064
  }
5465
8065
  /** Represents a tag set on an entry. */
@@ -5550,6 +8150,7 @@ export declare class LinkCollectionResponse implements ILinkCollectionResponse {
5550
8150
  odataNextLink?: string | undefined;
5551
8151
  /** The total count of items within a collection. */
5552
8152
  odataCount?: number | undefined;
8153
+ /** Gets or sets the OData response content in the "value". */
5553
8154
  value?: Link[] | undefined;
5554
8155
  constructor(data?: ILinkCollectionResponse);
5555
8156
  init(_data?: any): void;
@@ -5562,6 +8163,7 @@ export interface ILinkCollectionResponse {
5562
8163
  odataNextLink?: string | undefined;
5563
8164
  /** The total count of items within a collection. */
5564
8165
  odataCount?: number | undefined;
8166
+ /** Gets or sets the OData response content in the "value". */
5565
8167
  value?: Link[] | undefined;
5566
8168
  }
5567
8169
  /** Represents a link between a source entry and a target entry. */
@@ -5857,6 +8459,7 @@ export declare class PageInfoCollectionResponse implements IPageInfoCollectionRe
5857
8459
  odataNextLink?: string | undefined;
5858
8460
  /** The total count of items within a collection. */
5859
8461
  odataCount?: number | undefined;
8462
+ /** Gets or sets the OData response content in the "value". */
5860
8463
  value?: PageInfoResponse[] | undefined;
5861
8464
  constructor(data?: IPageInfoCollectionResponse);
5862
8465
  init(_data?: any): void;
@@ -5869,6 +8472,7 @@ export interface IPageInfoCollectionResponse {
5869
8472
  odataNextLink?: string | undefined;
5870
8473
  /** The total count of items within a collection. */
5871
8474
  odataCount?: number | undefined;
8475
+ /** Gets or sets the OData response content in the "value". */
5872
8476
  value?: PageInfoResponse[] | undefined;
5873
8477
  }
5874
8478
  export declare class PageInfoResponse implements IPageInfoResponse {
@@ -6007,8 +8611,8 @@ Account renames change this value over time — do not use for stable identity c
6007
8611
  export declare class LockDocumentRequest implements ILockDocumentRequest {
6008
8612
  /** An optional comment for the persistent lock. */
6009
8613
  comment?: string | undefined;
6010
- /** The lock extent. Defaults to All when omitted. */
6011
- extent?: LockExtent | undefined;
8614
+ /** The lock extent. One of: Page, Edoc, Metadata, All. Defaults to All when omitted. */
8615
+ extent?: string | undefined;
6012
8616
  constructor(data?: ILockDocumentRequest);
6013
8617
  init(_data?: any): void;
6014
8618
  static fromJS(data: any): LockDocumentRequest;
@@ -6018,15 +8622,8 @@ export declare class LockDocumentRequest implements ILockDocumentRequest {
6018
8622
  export interface ILockDocumentRequest {
6019
8623
  /** An optional comment for the persistent lock. */
6020
8624
  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"
8625
+ /** The lock extent. One of: Page, Edoc, Metadata, All. Defaults to All when omitted. */
8626
+ extent?: string | undefined;
6030
8627
  }
6031
8628
  /** Request body for checking out a document. */
6032
8629
  export declare class CheckOutDocumentRequest implements ICheckOutDocumentRequest {
@@ -6060,8 +8657,619 @@ export interface ICheckInDocumentRequest {
6060
8657
  /** Whether to automatically release the persistent lock as part of the check-in. Defaults to true. */
6061
8658
  unlock?: boolean;
6062
8659
  }
8660
+ /** An entry's access control list: the explicit and inherited access control entries plus whether the entry inherits rights from its parent(s). */
8661
+ export declare class AccessControlList implements IAccessControlList {
8662
+ /** The access control entries. Includes both explicitly-set and inherited ACEs;
8663
+ inherited ACEs carry isInherited = true. */
8664
+ entries?: AccessControlEntry[] | undefined;
8665
+ /** Whether the entry inherits access rights from its parent(s). When false, the entry's
8666
+ ACL is protected from parent inheritance. */
8667
+ inheritParents?: boolean;
8668
+ constructor(data?: IAccessControlList);
8669
+ init(_data?: any): void;
8670
+ static fromJS(data: any): AccessControlList;
8671
+ toJSON(data?: any): any;
8672
+ }
8673
+ /** An entry's access control list: the explicit and inherited access control entries plus whether the entry inherits rights from its parent(s). */
8674
+ export interface IAccessControlList {
8675
+ /** The access control entries. Includes both explicitly-set and inherited ACEs;
8676
+ inherited ACEs carry isInherited = true. */
8677
+ entries?: AccessControlEntry[] | undefined;
8678
+ /** Whether the entry inherits access rights from its parent(s). When false, the entry's
8679
+ ACL is protected from parent inheritance. */
8680
+ inheritParents?: boolean;
8681
+ }
8682
+ /** 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. */
8683
+ export declare class AccessControlEntry implements IAccessControlEntry {
8684
+ /** The trustee this ACE applies to. On input, identify the trustee by either
8685
+ trustee.sid or trustee.accountName (the SID takes precedence when both are given). */
8686
+ trustee?: TrusteeIdentity | undefined;
8687
+ /** Whether the ACE grants (Allow) or denies (Deny) the listed rights. */
8688
+ accessControlType?: AccessControlType;
8689
+ /** The rights granted or denied by this ACE. */
8690
+ rights?: EntryRight[] | undefined;
8691
+ /** How the ACE propagates to descendant entries. Defaults to All when omitted on input. */
8692
+ scope?: EntryAccessScope;
8693
+ /** True when this ACE is inherited from an ancestor. Read-only — inherited ACEs are
8694
+ returned by GET but are ignored on input (the set operation manages explicit ACEs only). */
8695
+ isInherited?: boolean;
8696
+ /** When inherited, a description of where the ACE was inherited from. Output only. */
8697
+ inheritedFrom?: string | undefined;
8698
+ constructor(data?: IAccessControlEntry);
8699
+ init(_data?: any): void;
8700
+ static fromJS(data: any): AccessControlEntry;
8701
+ toJSON(data?: any): any;
8702
+ }
8703
+ /** 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. */
8704
+ export interface IAccessControlEntry {
8705
+ /** The trustee this ACE applies to. On input, identify the trustee by either
8706
+ trustee.sid or trustee.accountName (the SID takes precedence when both are given). */
8707
+ trustee?: TrusteeIdentity | undefined;
8708
+ /** Whether the ACE grants (Allow) or denies (Deny) the listed rights. */
8709
+ accessControlType?: AccessControlType;
8710
+ /** The rights granted or denied by this ACE. */
8711
+ rights?: EntryRight[] | undefined;
8712
+ /** How the ACE propagates to descendant entries. Defaults to All when omitted on input. */
8713
+ scope?: EntryAccessScope;
8714
+ /** True when this ACE is inherited from an ancestor. Read-only — inherited ACEs are
8715
+ returned by GET but are ignored on input (the set operation manages explicit ACEs only). */
8716
+ isInherited?: boolean;
8717
+ /** When inherited, a description of where the ACE was inherited from. Output only. */
8718
+ inheritedFrom?: string | undefined;
8719
+ }
8720
+ /** 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. */
8721
+ export declare enum EntryRight {
8722
+ Browse = "Browse",
8723
+ Read = "Read",
8724
+ WriteContent = "WriteContent",
8725
+ AddPage = "AddPage",
8726
+ Rename = "Rename",
8727
+ RemovePage = "RemovePage",
8728
+ Freeze = "Freeze",
8729
+ Annotate = "Annotate",
8730
+ SeeThroughRedactions = "SeeThroughRedactions",
8731
+ SeeAnnotations = "SeeAnnotations",
8732
+ SetReviewDate = "SetReviewDate",
8733
+ WriteMetadata = "WriteMetadata",
8734
+ CreateFolder = "CreateFolder",
8735
+ CreateDocument = "CreateDocument",
8736
+ SetEventDate = "SetEventDate",
8737
+ Close = "Close",
8738
+ Delete = "Delete",
8739
+ ReadPermissions = "ReadPermissions",
8740
+ ChangePermissions = "ChangePermissions",
8741
+ TakeOwnership = "TakeOwnership"
8742
+ }
8743
+ /** 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. */
8744
+ export declare enum EntryAccessScope {
8745
+ ThisEntry = "ThisEntry",
8746
+ Folders = "Folders",
8747
+ All = "All",
8748
+ NotThisEntry = "NotThisEntry",
8749
+ FoldersOnly = "FoldersOnly",
8750
+ DocumentsOnly = "DocumentsOnly",
8751
+ Immediate = "Immediate",
8752
+ ImmediateChildren = "ImmediateChildren",
8753
+ ImmediateDocuments = "ImmediateDocuments"
8754
+ }
8755
+ /** 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. */
8756
+ export declare class SetAccessControlRequest implements ISetAccessControlRequest {
8757
+ /** The explicit access control entries to apply. An empty array clears all explicit ACEs.
8758
+ Entries flagged isInherited = true are rejected. */
8759
+ entries?: AccessControlEntry[] | undefined;
8760
+ /** Whether the entry should inherit access rights from its parent(s). When omitted, the
8761
+ entry's current inheritance setting is preserved. When false, the ACL is protected
8762
+ from parent inheritance; when true, parent rights are inherited. */
8763
+ inheritParents?: boolean | undefined;
8764
+ constructor(data?: ISetAccessControlRequest);
8765
+ init(_data?: any): void;
8766
+ static fromJS(data: any): SetAccessControlRequest;
8767
+ toJSON(data?: any): any;
8768
+ }
8769
+ /** 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. */
8770
+ export interface ISetAccessControlRequest {
8771
+ /** The explicit access control entries to apply. An empty array clears all explicit ACEs.
8772
+ Entries flagged isInherited = true are rejected. */
8773
+ entries?: AccessControlEntry[] | undefined;
8774
+ /** Whether the entry should inherit access rights from its parent(s). When omitted, the
8775
+ entry's current inheritance setting is preserved. When false, the ACL is protected
8776
+ from parent inheritance; when true, parent rights are inherited. */
8777
+ inheritParents?: boolean | undefined;
8778
+ }
8779
+ /** 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. */
8780
+ export declare class EntryRights implements IEntryRights {
8781
+ /** The rights granted to the trustee on the entry. */
8782
+ rights?: EntryRight[] | undefined;
8783
+ /** True when the session is read-only, so no write operations are possible regardless of
8784
+ the granted rights. */
8785
+ isReadOnly?: boolean;
8786
+ constructor(data?: IEntryRights);
8787
+ init(_data?: any): void;
8788
+ static fromJS(data: any): EntryRights;
8789
+ toJSON(data?: any): any;
8790
+ }
8791
+ /** 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. */
8792
+ export interface IEntryRights {
8793
+ /** The rights granted to the trustee on the entry. */
8794
+ rights?: EntryRight[] | undefined;
8795
+ /** True when the session is read-only, so no write operations are possible regardless of
8796
+ the granted rights. */
8797
+ isReadOnly?: boolean;
8798
+ }
8799
+ /** 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. */
8800
+ export declare abstract class RecordsManagementProperties implements IRecordsManagementProperties {
8801
+ /** Whether these properties describe a document record or a record folder. Determines the
8802
+ concrete subtype (RecordProperties or RecordFolderProperties)
8803
+ and which type-specific members are present. */
8804
+ recordType?: RecordEntryType;
8805
+ /** The current lifecycle state. Computed (read-only). */
8806
+ dispositionState?: DispositionState | undefined;
8807
+ /** True when the entry has been cut off. Computed (read-only). */
8808
+ isCutoff?: boolean;
8809
+ /** True when the entry is currently eligible for cutoff. Computed (read-only). */
8810
+ isEligibleForCutoff?: boolean;
8811
+ /** True when the entry is currently eligible for final disposition. Computed (read-only). */
8812
+ isEligibleForFinalDisposition?: boolean;
8813
+ /** The date the entry was cut off, or null if not cut off. Computed (read-only). */
8814
+ cutoffDate?: Date | undefined;
8815
+ /** The date the entry becomes eligible for cutoff, or null. Computed (read-only). */
8816
+ cutoffEligibility?: Date | undefined;
8817
+ /** The date the entry becomes eligible for final disposition, or null. Computed (read-only). */
8818
+ finalDispositionEligibility?: Date | undefined;
8819
+ /** The date final disposition was confirmed, or null. Computed (read-only). */
8820
+ dispositionConfirmationDate?: Date | undefined;
8821
+ /** Projected and completed interim transfers. Computed (read-only). */
8822
+ transferDates?: RecordsManagementTransferDate[] | undefined;
8823
+ /** The records management location the entry currently resides at, or null. Computed (read-only). */
8824
+ locationId?: number | undefined;
8825
+ /** The disposition schedule currently governing the entry (own or inherited), or null. Computed (read-only). */
8826
+ activeDispositionScheduleId?: number | undefined;
8827
+ /** The cutoff criterion assigned to the entry, or null when none. */
8828
+ cutoffCriterionId?: number | undefined;
8829
+ /** The disposition schedule assigned to the entry, or null when none. */
8830
+ dispositionScheduleId?: number | undefined;
8831
+ /** The filing date, or null when unset. */
8832
+ filingDate?: Date | undefined;
8833
+ /** The alternate-retention trigger date, or null when unset. */
8834
+ triggerDate?: Date | undefined;
8835
+ protected _discriminator: string;
8836
+ constructor(data?: IRecordsManagementProperties);
8837
+ init(_data?: any): void;
8838
+ static fromJS(data: any): RecordsManagementProperties;
8839
+ toJSON(data?: any): any;
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 interface 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
+ }
8878
+ /** Discriminates which kind of records management entry a set of records management properties describes. Serialized by name. */
8879
+ export declare enum RecordEntryType {
8880
+ Record = "Record",
8881
+ RecordFolder = "RecordFolder"
8882
+ }
8883
+ /** The current lifecycle state of a record or record folder. Serialized by name. */
8884
+ export declare enum DispositionState {
8885
+ Open = "Open",
8886
+ Closed = "Closed",
8887
+ InRetention = "InRetention",
8888
+ Transferred = "Transferred",
8889
+ Eligible = "Eligible",
8890
+ Partial = "Partial",
8891
+ Final = "Final"
8892
+ }
8893
+ /** 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. */
8894
+ export declare class RecordsManagementTransferDate implements IRecordsManagementTransferDate {
8895
+ /** The id of the disposition schedule transfer step this date corresponds to. */
8896
+ transferId?: number;
8897
+ /** The ordinal transfer number within the disposition schedule. */
8898
+ transferNumber?: number;
8899
+ /** The date the transfer occurred, or null when it has not yet taken place. */
8900
+ date?: Date | undefined;
8901
+ /** The date the entry becomes (or became) eligible for this transfer. */
8902
+ eligibleDate?: Date | undefined;
8903
+ /** True when the transfer has taken place; false when this is a projected date. */
8904
+ transferred?: boolean;
8905
+ constructor(data?: IRecordsManagementTransferDate);
8906
+ init(_data?: any): void;
8907
+ static fromJS(data: any): RecordsManagementTransferDate;
8908
+ toJSON(data?: any): any;
8909
+ }
8910
+ /** 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. */
8911
+ export interface IRecordsManagementTransferDate {
8912
+ /** The id of the disposition schedule transfer step this date corresponds to. */
8913
+ transferId?: number;
8914
+ /** The ordinal transfer number within the disposition schedule. */
8915
+ transferNumber?: number;
8916
+ /** The date the transfer occurred, or null when it has not yet taken place. */
8917
+ date?: Date | undefined;
8918
+ /** The date the entry becomes (or became) eligible for this transfer. */
8919
+ eligibleDate?: Date | undefined;
8920
+ /** True when the transfer has taken place; false when this is a projected date. */
8921
+ transferred?: boolean;
8922
+ }
8923
+ /** The records management properties of a document record (RecordType = Record). Adds the document-record-only members to the common RecordsManagementProperties shape. */
8924
+ export declare class RecordProperties extends RecordsManagementProperties implements IRecordProperties {
8925
+ /** The record folder this record is filed under, or null when independent. Computed (read-only). */
8926
+ recordFolderId?: number | undefined;
8927
+ /** True when the record is filed under a record folder. Computed (read-only). */
8928
+ underRecordFolder?: boolean | undefined;
8929
+ /** True when the record was cut off individually rather than with its folder. Computed (read-only). */
8930
+ isIndividuallyCutoff?: boolean | undefined;
8931
+ /** True when the cutoff criterion is inherited from the record folder. */
8932
+ isCutoffCriterionInherited?: boolean | undefined;
8933
+ /** True when the disposition schedule is inherited from the record folder. */
8934
+ isDispositionScheduleInherited?: boolean | undefined;
8935
+ /** The reviewer recorded for the last vital-record review, or null. Computed (read-only). */
8936
+ reviewer?: string | undefined;
8937
+ /** The last vital-record review date, or null when unset. */
8938
+ lastReviewDate?: Date | undefined;
8939
+ /** The next scheduled vital-record review date, or null. Computed (read-only). */
8940
+ nextReviewDate?: Date | undefined;
8941
+ constructor(data?: IRecordProperties);
8942
+ init(_data?: any): void;
8943
+ static fromJS(data: any): RecordProperties;
8944
+ toJSON(data?: any): any;
8945
+ }
8946
+ /** The records management properties of a document record (RecordType = Record). Adds the document-record-only members to the common RecordsManagementProperties shape. */
8947
+ export interface IRecordProperties extends IRecordsManagementProperties {
8948
+ /** The record folder this record is filed under, or null when independent. Computed (read-only). */
8949
+ recordFolderId?: number | undefined;
8950
+ /** True when the record is filed under a record folder. Computed (read-only). */
8951
+ underRecordFolder?: boolean | undefined;
8952
+ /** True when the record was cut off individually rather than with its folder. Computed (read-only). */
8953
+ isIndividuallyCutoff?: boolean | undefined;
8954
+ /** True when the cutoff criterion is inherited from the record folder. */
8955
+ isCutoffCriterionInherited?: boolean | undefined;
8956
+ /** True when the disposition schedule is inherited from the record folder. */
8957
+ isDispositionScheduleInherited?: boolean | undefined;
8958
+ /** The reviewer recorded for the last vital-record review, or null. Computed (read-only). */
8959
+ reviewer?: string | undefined;
8960
+ /** The last vital-record review date, or null when unset. */
8961
+ lastReviewDate?: Date | undefined;
8962
+ /** The next scheduled vital-record review date, or null. Computed (read-only). */
8963
+ nextReviewDate?: Date | undefined;
8964
+ }
8965
+ /** The records management properties of a record folder (RecordType = RecordFolder). Adds the record-folder-only members to the common RecordsManagementProperties shape. */
8966
+ export declare class RecordFolderProperties extends RecordsManagementProperties implements IRecordFolderProperties {
8967
+ /** True when the record folder is closed to new filings. */
8968
+ isClosed?: boolean | undefined;
8969
+ /** True when the record folder is permanent (never destroyed). */
8970
+ isPermanent?: boolean | undefined;
8971
+ /** The disposition authority name, or null. */
8972
+ dispositionAuthority?: string | undefined;
8973
+ /** The vital-record review cycle (calendar cycle) id, or null. */
8974
+ reviewCycleId?: number | undefined;
8975
+ /** The vital-record review interval, or null. */
8976
+ reviewInterval?: number | undefined;
8977
+ /** The review interval unit. */
8978
+ reviewIntervalUnit?: ReviewIntervalUnit | undefined;
8979
+ constructor(data?: IRecordFolderProperties);
8980
+ init(_data?: any): void;
8981
+ static fromJS(data: any): RecordFolderProperties;
8982
+ toJSON(data?: any): any;
8983
+ }
8984
+ /** The records management properties of a record folder (RecordType = RecordFolder). Adds the record-folder-only members to the common RecordsManagementProperties shape. */
8985
+ export interface IRecordFolderProperties extends IRecordsManagementProperties {
8986
+ /** True when the record folder is closed to new filings. */
8987
+ isClosed?: boolean | undefined;
8988
+ /** True when the record folder is permanent (never destroyed). */
8989
+ isPermanent?: boolean | undefined;
8990
+ /** The disposition authority name, or null. */
8991
+ dispositionAuthority?: string | undefined;
8992
+ /** The vital-record review cycle (calendar cycle) id, or null. */
8993
+ reviewCycleId?: number | undefined;
8994
+ /** The vital-record review interval, or null. */
8995
+ reviewInterval?: number | undefined;
8996
+ /** The review interval unit. */
8997
+ reviewIntervalUnit?: ReviewIntervalUnit | undefined;
8998
+ }
8999
+ /** The unit of a vital-record review interval. Serialized by name. */
9000
+ export declare enum ReviewIntervalUnit {
9001
+ NotApplicable = "NotApplicable",
9002
+ Day = "Day",
9003
+ Month = "Month"
9004
+ }
9005
+ /** 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. */
9006
+ export declare class RecordEntryIdCollection implements IRecordEntryIdCollection {
9007
+ /** The matching entry ids. */
9008
+ entryIds?: number[] | undefined;
9009
+ constructor(data?: IRecordEntryIdCollection);
9010
+ init(_data?: any): void;
9011
+ static fromJS(data: any): RecordEntryIdCollection;
9012
+ toJSON(data?: any): any;
9013
+ }
9014
+ /** 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. */
9015
+ export interface IRecordEntryIdCollection {
9016
+ /** The matching entry ids. */
9017
+ entryIds?: number[] | undefined;
9018
+ }
9019
+ /** The records management action to query a record folder's eligible records for. Used as the for selector on GetEligibleRecords. Serialized by name. */
9020
+ export declare enum EligibleRecordsAction {
9021
+ Disposition = "Disposition",
9022
+ Transfer = "Transfer"
9023
+ }
9024
+ /** The alternate-retention trigger events resolved for a record folder. */
9025
+ export declare class AltRetentionEventCollection implements IAltRetentionEventCollection {
9026
+ /** The alternate-retention trigger events. */
9027
+ events?: AltRetentionEvent[] | undefined;
9028
+ constructor(data?: IAltRetentionEventCollection);
9029
+ init(_data?: any): void;
9030
+ static fromJS(data: any): AltRetentionEventCollection;
9031
+ toJSON(data?: any): any;
9032
+ }
9033
+ /** The alternate-retention trigger events resolved for a record folder. */
9034
+ export interface IAltRetentionEventCollection {
9035
+ /** The alternate-retention trigger events. */
9036
+ events?: AltRetentionEvent[] | undefined;
9037
+ }
9038
+ /** An alternate-retention trigger event resolved for a record folder — the event whose occurrence drives the folder's alternate disposition schedule. Output only. */
9039
+ export declare class AltRetentionEvent implements IAltRetentionEvent {
9040
+ /** The entry the alternate-retention trigger applies to. */
9041
+ entryId?: number;
9042
+ /** The records management event definition id that triggers the alternate retention. */
9043
+ eventId?: number;
9044
+ /** The date the trigger event is set to occur, or null when unset. */
9045
+ triggerDate?: Date | undefined;
9046
+ constructor(data?: IAltRetentionEvent);
9047
+ init(_data?: any): void;
9048
+ static fromJS(data: any): AltRetentionEvent;
9049
+ toJSON(data?: any): any;
9050
+ }
9051
+ /** An alternate-retention trigger event resolved for a record folder — the event whose occurrence drives the folder's alternate disposition schedule. Output only. */
9052
+ export interface IAltRetentionEvent {
9053
+ /** The entry the alternate-retention trigger applies to. */
9054
+ entryId?: number;
9055
+ /** The records management event definition id that triggers the alternate retention. */
9056
+ eventId?: number;
9057
+ /** The date the trigger event is set to occur, or null when unset. */
9058
+ triggerDate?: Date | undefined;
9059
+ }
9060
+ /** 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. */
9061
+ export declare class RecordSeriesProperties implements IRecordSeriesProperties {
9062
+ /** The record series code. */
9063
+ code?: string | undefined;
9064
+ /** The default cutoff criterion id, or null when none. */
9065
+ cutoffCriterionId?: number | undefined;
9066
+ /** The default disposition schedule id, or null when none. */
9067
+ dispositionScheduleId?: number | undefined;
9068
+ /** The disposition authority name, or null. */
9069
+ dispositionAuthority?: string | undefined;
9070
+ /** True when records under the series are permanent (never destroyed). */
9071
+ isPermanent?: boolean;
9072
+ /** The default vital-record review cycle (calendar cycle) id, or null when none. */
9073
+ reviewCycleId?: number | undefined;
9074
+ /** The default vital-record review interval, or null when none. */
9075
+ reviewInterval?: number | undefined;
9076
+ /** The default review interval unit. */
9077
+ reviewIntervalUnit?: ReviewIntervalUnit | undefined;
9078
+ constructor(data?: IRecordSeriesProperties);
9079
+ init(_data?: any): void;
9080
+ static fromJS(data: any): RecordSeriesProperties;
9081
+ toJSON(data?: any): any;
9082
+ }
9083
+ /** 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. */
9084
+ export interface IRecordSeriesProperties {
9085
+ /** The record series code. */
9086
+ code?: string | undefined;
9087
+ /** The default cutoff criterion id, or null when none. */
9088
+ cutoffCriterionId?: number | undefined;
9089
+ /** The default disposition schedule id, or null when none. */
9090
+ dispositionScheduleId?: number | undefined;
9091
+ /** The disposition authority name, or null. */
9092
+ dispositionAuthority?: string | undefined;
9093
+ /** True when records under the series are permanent (never destroyed). */
9094
+ isPermanent?: boolean;
9095
+ /** The default vital-record review cycle (calendar cycle) id, or null when none. */
9096
+ reviewCycleId?: number | undefined;
9097
+ /** The default vital-record review interval, or null when none. */
9098
+ reviewInterval?: number | undefined;
9099
+ /** The default review interval unit. */
9100
+ reviewIntervalUnit?: ReviewIntervalUnit | undefined;
9101
+ }
9102
+ /** 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. */
9103
+ export declare class UpdateRecordsManagementPropertiesRequest implements IUpdateRecordsManagementPropertiesRequest {
9104
+ /** The cutoff criterion id to assign, or 0 to clear. */
9105
+ cutoffCriterionId?: number | undefined;
9106
+ /** The disposition schedule id to assign, or 0 to clear. */
9107
+ dispositionScheduleId?: number | undefined;
9108
+ /** The filing date to set. */
9109
+ filingDate?: Date | undefined;
9110
+ /** The alternate-retention trigger date to set. */
9111
+ triggerDate?: Date | undefined;
9112
+ /** Whether the cutoff criterion is inherited from the record folder. (record) */
9113
+ isCutoffCriterionInherited?: boolean | undefined;
9114
+ /** Whether the disposition schedule is inherited from the record folder. (record) */
9115
+ isDispositionScheduleInherited?: boolean | undefined;
9116
+ /** The last vital-record review date to set. (record) */
9117
+ lastReviewDate?: Date | undefined;
9118
+ /** When true, clear the last vital-record review date. (record) */
9119
+ clearLastReviewDate?: boolean;
9120
+ /** When true, clear the alternate-retention trigger date. (recordFolder) */
9121
+ clearTriggerDate?: boolean;
9122
+ /** Whether the record folder is closed to new filings. (recordFolder) */
9123
+ isClosed?: boolean | undefined;
9124
+ /** Whether the record folder is permanent (never destroyed). (recordFolder) */
9125
+ isPermanent?: boolean | undefined;
9126
+ /** The disposition authority name; empty string to clear. (recordFolder) */
9127
+ dispositionAuthority?: string | undefined;
9128
+ /** The vital-record review cycle (calendar cycle) id to assign, or 0 to clear. (recordFolder) */
9129
+ reviewCycleId?: number | undefined;
9130
+ /** The vital-record review interval to set. (recordFolder) */
9131
+ reviewInterval?: number | undefined;
9132
+ /** The review interval unit. (recordFolder) */
9133
+ reviewIntervalUnit?: ReviewIntervalUnit | undefined;
9134
+ constructor(data?: IUpdateRecordsManagementPropertiesRequest);
9135
+ init(_data?: any): void;
9136
+ static fromJS(data: any): UpdateRecordsManagementPropertiesRequest;
9137
+ toJSON(data?: any): any;
9138
+ }
9139
+ /** 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. */
9140
+ export interface IUpdateRecordsManagementPropertiesRequest {
9141
+ /** The cutoff criterion id to assign, or 0 to clear. */
9142
+ cutoffCriterionId?: number | undefined;
9143
+ /** The disposition schedule id to assign, or 0 to clear. */
9144
+ dispositionScheduleId?: number | undefined;
9145
+ /** The filing date to set. */
9146
+ filingDate?: Date | undefined;
9147
+ /** The alternate-retention trigger date to set. */
9148
+ triggerDate?: Date | undefined;
9149
+ /** Whether the cutoff criterion is inherited from the record folder. (record) */
9150
+ isCutoffCriterionInherited?: boolean | undefined;
9151
+ /** Whether the disposition schedule is inherited from the record folder. (record) */
9152
+ isDispositionScheduleInherited?: boolean | undefined;
9153
+ /** The last vital-record review date to set. (record) */
9154
+ lastReviewDate?: Date | undefined;
9155
+ /** When true, clear the last vital-record review date. (record) */
9156
+ clearLastReviewDate?: boolean;
9157
+ /** When true, clear the alternate-retention trigger date. (recordFolder) */
9158
+ clearTriggerDate?: boolean;
9159
+ /** Whether the record folder is closed to new filings. (recordFolder) */
9160
+ isClosed?: boolean | undefined;
9161
+ /** Whether the record folder is permanent (never destroyed). (recordFolder) */
9162
+ isPermanent?: boolean | undefined;
9163
+ /** The disposition authority name; empty string to clear. (recordFolder) */
9164
+ dispositionAuthority?: string | undefined;
9165
+ /** The vital-record review cycle (calendar cycle) id to assign, or 0 to clear. (recordFolder) */
9166
+ reviewCycleId?: number | undefined;
9167
+ /** The vital-record review interval to set. (recordFolder) */
9168
+ reviewInterval?: number | undefined;
9169
+ /** The review interval unit. (recordFolder) */
9170
+ reviewIntervalUnit?: ReviewIntervalUnit | undefined;
9171
+ }
9172
+ /** Request body for setting a records management event date on a record or record folder. */
9173
+ export declare class SetRecordEventRequest implements ISetRecordEventRequest {
9174
+ /** The records management event definition id whose date is being set. */
9175
+ eventId?: number;
9176
+ /** The date to record for the event. */
9177
+ date?: Date;
9178
+ constructor(data?: ISetRecordEventRequest);
9179
+ init(_data?: any): void;
9180
+ static fromJS(data: any): SetRecordEventRequest;
9181
+ toJSON(data?: any): any;
9182
+ }
9183
+ /** Request body for setting a records management event date on a record or record folder. */
9184
+ export interface ISetRecordEventRequest {
9185
+ /** The records management event definition id whose date is being set. */
9186
+ eventId?: number;
9187
+ /** The date to record for the event. */
9188
+ date?: Date;
9189
+ }
9190
+ /** Request body for removing a records management event date from a record or record folder. */
9191
+ export declare class RemoveRecordEventRequest implements IRemoveRecordEventRequest {
9192
+ /** The records management event definition id whose date is being removed. */
9193
+ eventId?: number;
9194
+ constructor(data?: IRemoveRecordEventRequest);
9195
+ init(_data?: any): void;
9196
+ static fromJS(data: any): RemoveRecordEventRequest;
9197
+ toJSON(data?: any): any;
9198
+ }
9199
+ /** Request body for removing a records management event date from a record or record folder. */
9200
+ export interface IRemoveRecordEventRequest {
9201
+ /** The records management event definition id whose date is being removed. */
9202
+ eventId?: number;
9203
+ }
9204
+ /** 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. */
9205
+ export declare class UpdateRecordSeriesPropertiesRequest implements IUpdateRecordSeriesPropertiesRequest {
9206
+ /** The default cutoff criterion id to assign, or 0 to clear. */
9207
+ cutoffCriterionId?: number | undefined;
9208
+ /** The default disposition schedule id to assign, or 0 to clear. */
9209
+ dispositionScheduleId?: number | undefined;
9210
+ /** The disposition authority name; empty string to clear. */
9211
+ dispositionAuthority?: string | undefined;
9212
+ /** Whether records under the series are permanent (never destroyed). */
9213
+ isPermanent?: boolean | undefined;
9214
+ /** The default vital-record review cycle (calendar cycle) id to assign, or 0 to clear. */
9215
+ reviewCycleId?: number | undefined;
9216
+ /** The default vital-record review interval to set. */
9217
+ reviewInterval?: number | undefined;
9218
+ /** The default review interval unit. */
9219
+ reviewIntervalUnit?: ReviewIntervalUnit | undefined;
9220
+ /** When true, cascade the changed defaults to the record folders and records beneath the
9221
+ series. When false (default), only the series' own defaults change. */
9222
+ cascade?: boolean;
9223
+ constructor(data?: IUpdateRecordSeriesPropertiesRequest);
9224
+ init(_data?: any): void;
9225
+ static fromJS(data: any): UpdateRecordSeriesPropertiesRequest;
9226
+ toJSON(data?: any): any;
9227
+ }
9228
+ /** 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. */
9229
+ export interface IUpdateRecordSeriesPropertiesRequest {
9230
+ /** The default cutoff criterion id to assign, or 0 to clear. */
9231
+ cutoffCriterionId?: number | undefined;
9232
+ /** The default disposition schedule id to assign, or 0 to clear. */
9233
+ dispositionScheduleId?: number | undefined;
9234
+ /** The disposition authority name; empty string to clear. */
9235
+ dispositionAuthority?: string | undefined;
9236
+ /** Whether records under the series are permanent (never destroyed). */
9237
+ isPermanent?: boolean | undefined;
9238
+ /** The default vital-record review cycle (calendar cycle) id to assign, or 0 to clear. */
9239
+ reviewCycleId?: number | undefined;
9240
+ /** The default vital-record review interval to set. */
9241
+ reviewInterval?: number | undefined;
9242
+ /** The default review interval unit. */
9243
+ reviewIntervalUnit?: ReviewIntervalUnit | undefined;
9244
+ /** When true, cascade the changed defaults to the record folders and records beneath the
9245
+ series. When false (default), only the series' own defaults change. */
9246
+ cascade?: boolean;
9247
+ }
9248
+ /** Request body for creating a record series under a parent folder. */
9249
+ export declare class CreateRecordSeriesRequest implements ICreateRecordSeriesRequest {
9250
+ /** The name of the new record series. */
9251
+ name?: string | undefined;
9252
+ /** The record series code. */
9253
+ code?: string | undefined;
9254
+ /** When true, the server appends a suffix to the name on a naming conflict instead of failing. */
9255
+ autoRename?: boolean;
9256
+ constructor(data?: ICreateRecordSeriesRequest);
9257
+ init(_data?: any): void;
9258
+ static fromJS(data: any): CreateRecordSeriesRequest;
9259
+ toJSON(data?: any): any;
9260
+ }
9261
+ /** Request body for creating a record series under a parent folder. */
9262
+ export interface ICreateRecordSeriesRequest {
9263
+ /** The name of the new record series. */
9264
+ name?: string | undefined;
9265
+ /** The record series code. */
9266
+ code?: string | undefined;
9267
+ /** When true, the server appends a suffix to the name on a naming conflict instead of failing. */
9268
+ autoRename?: boolean;
9269
+ }
6063
9270
  /** Response containing a collection of Repository. */
6064
9271
  export declare class RepositoryCollectionResponse implements IRepositoryCollectionResponse {
9272
+ /** Gets or sets the OData response content in the "value". */
6065
9273
  value?: Repository[] | undefined;
6066
9274
  constructor(data?: IRepositoryCollectionResponse);
6067
9275
  init(_data?: any): void;
@@ -6070,6 +9278,7 @@ export declare class RepositoryCollectionResponse implements IRepositoryCollecti
6070
9278
  }
6071
9279
  /** Response containing a collection of Repository. */
6072
9280
  export interface IRepositoryCollectionResponse {
9281
+ /** Gets or sets the OData response content in the "value". */
6073
9282
  value?: Repository[] | undefined;
6074
9283
  }
6075
9284
  /** Represents a Laserfiche repository. */
@@ -6094,6 +9303,42 @@ export interface IRepository {
6094
9303
  /** The corresponding repository Web Client url. */
6095
9304
  webClientUrl?: string | undefined;
6096
9305
  }
9306
+ /** 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. */
9307
+ export declare class SessionRights implements ISessionRights {
9308
+ /** The session's privileges, keyed by privilege name (e.g. EntryAccess,
9309
+ RecordManager), with the value indicating whether the session holds that privilege. */
9310
+ privileges?: {
9311
+ [key: string]: boolean;
9312
+ } | undefined;
9313
+ /** The session's feature rights, keyed by feature-right name (e.g. Search,
9314
+ Import), with the value indicating whether the session holds that feature right. */
9315
+ featureRights?: {
9316
+ [key: string]: boolean;
9317
+ } | undefined;
9318
+ /** True when the current session is read-only, so no write operations are possible regardless
9319
+ of the granted privileges or feature rights. */
9320
+ isReadOnly?: boolean;
9321
+ constructor(data?: ISessionRights);
9322
+ init(_data?: any): void;
9323
+ static fromJS(data: any): SessionRights;
9324
+ toJSON(data?: any): any;
9325
+ }
9326
+ /** 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. */
9327
+ export interface ISessionRights {
9328
+ /** The session's privileges, keyed by privilege name (e.g. EntryAccess,
9329
+ RecordManager), with the value indicating whether the session holds that privilege. */
9330
+ privileges?: {
9331
+ [key: string]: boolean;
9332
+ } | undefined;
9333
+ /** The session's feature rights, keyed by feature-right name (e.g. Search,
9334
+ Import), with the value indicating whether the session holds that feature right. */
9335
+ featureRights?: {
9336
+ [key: string]: boolean;
9337
+ } | undefined;
9338
+ /** True when the current session is read-only, so no write operations are possible regardless
9339
+ of the granted privileges or feature rights. */
9340
+ isReadOnly?: boolean;
9341
+ }
6097
9342
  /** Request body for starting an asynchronous search entry task. */
6098
9343
  export declare class StartSearchEntryRequest implements IStartSearchEntryRequest {
6099
9344
  /** 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 +9372,7 @@ export declare class SearchContextHitCollectionResponse implements ISearchContex
6127
9372
  odataNextLink?: string | undefined;
6128
9373
  /** The total count of items within a collection. */
6129
9374
  odataCount?: number | undefined;
9375
+ /** Gets or sets the OData response content in the "value". */
6130
9376
  value?: SearchContextHit[] | undefined;
6131
9377
  constructor(data?: ISearchContextHitCollectionResponse);
6132
9378
  init(_data?: any): void;
@@ -6139,6 +9385,7 @@ export interface ISearchContextHitCollectionResponse {
6139
9385
  odataNextLink?: string | undefined;
6140
9386
  /** The total count of items within a collection. */
6141
9387
  odataCount?: number | undefined;
9388
+ /** Gets or sets the OData response content in the "value". */
6142
9389
  value?: SearchContextHit[] | undefined;
6143
9390
  }
6144
9391
  /** Represents a context hit for a search result. */
@@ -6244,12 +9491,75 @@ export interface ISearchEntryRequest {
6244
9491
  /** 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
9492
  searchCommand: string;
6246
9493
  }
9494
+ /** A stamp in the repository stamp catalog. The stamp image is retrieved separately as a PNG. */
9495
+ export declare class Stamp implements IStamp {
9496
+ /** The ID of the stamp. */
9497
+ id?: number;
9498
+ /** The display name of the stamp. */
9499
+ name?: string | undefined;
9500
+ /** A boolean indicating whether the stamp is public (shared) rather than personal. */
9501
+ isPublic?: boolean;
9502
+ /** The security identifier (SID) of the stamp's owner. */
9503
+ owner?: string | undefined;
9504
+ /** Optional application-defined custom data stored with the stamp. */
9505
+ customData?: string | undefined;
9506
+ /** The width of the stamp image in pixels. */
9507
+ imageWidth?: number;
9508
+ /** The height of the stamp image in pixels. */
9509
+ imageHeight?: number;
9510
+ constructor(data?: IStamp);
9511
+ init(_data?: any): void;
9512
+ static fromJS(data: any): Stamp;
9513
+ toJSON(data?: any): any;
9514
+ }
9515
+ /** A stamp in the repository stamp catalog. The stamp image is retrieved separately as a PNG. */
9516
+ export interface IStamp {
9517
+ /** The ID of the stamp. */
9518
+ id?: number;
9519
+ /** The display name of the stamp. */
9520
+ name?: string | undefined;
9521
+ /** A boolean indicating whether the stamp is public (shared) rather than personal. */
9522
+ isPublic?: boolean;
9523
+ /** The security identifier (SID) of the stamp's owner. */
9524
+ owner?: string | undefined;
9525
+ /** Optional application-defined custom data stored with the stamp. */
9526
+ customData?: string | undefined;
9527
+ /** The width of the stamp image in pixels. */
9528
+ imageWidth?: number;
9529
+ /** The height of the stamp image in pixels. */
9530
+ imageHeight?: number;
9531
+ }
9532
+ /** Which stamps to list. */
9533
+ export declare enum StampScope {
9534
+ Public = 0,
9535
+ Personal = 1,
9536
+ All = 2
9537
+ }
9538
+ /** Request body for updating a stamp's metadata. The stamp image cannot be changed after creation. */
9539
+ export declare class UpdateStampRequest implements IUpdateStampRequest {
9540
+ /** The new display name of the stamp. Omit to leave unchanged. */
9541
+ name?: string | undefined;
9542
+ /** New custom data for the stamp. Omit to leave unchanged. */
9543
+ customData?: string | undefined;
9544
+ constructor(data?: IUpdateStampRequest);
9545
+ init(_data?: any): void;
9546
+ static fromJS(data: any): UpdateStampRequest;
9547
+ toJSON(data?: any): any;
9548
+ }
9549
+ /** Request body for updating a stamp's metadata. The stamp image cannot be changed after creation. */
9550
+ export interface IUpdateStampRequest {
9551
+ /** The new display name of the stamp. Omit to leave unchanged. */
9552
+ name?: string | undefined;
9553
+ /** New custom data for the stamp. Omit to leave unchanged. */
9554
+ customData?: string | undefined;
9555
+ }
6247
9556
  /** Response containing a collection of TagDefinition. */
6248
9557
  export declare class TagDefinitionCollectionResponse implements ITagDefinitionCollectionResponse {
6249
9558
  /** A URL to retrieve the next page of the requested collection. */
6250
9559
  odataNextLink?: string | undefined;
6251
9560
  /** The total count of items within a collection. */
6252
9561
  odataCount?: number | undefined;
9562
+ /** Gets or sets the OData response content in the "value". */
6253
9563
  value?: TagDefinition[] | undefined;
6254
9564
  constructor(data?: ITagDefinitionCollectionResponse);
6255
9565
  init(_data?: any): void;
@@ -6262,6 +9572,7 @@ export interface ITagDefinitionCollectionResponse {
6262
9572
  odataNextLink?: string | undefined;
6263
9573
  /** The total count of items within a collection. */
6264
9574
  odataCount?: number | undefined;
9575
+ /** Gets or sets the OData response content in the "value". */
6265
9576
  value?: TagDefinition[] | undefined;
6266
9577
  }
6267
9578
  /** Represents an entry tag definition. */
@@ -6300,6 +9611,7 @@ export interface ITagDefinition {
6300
9611
  }
6301
9612
  /** Response containing a collection of TaskProgress. */
6302
9613
  export declare class TaskCollectionResponse implements ITaskCollectionResponse {
9614
+ /** Gets or sets the OData response content in the "value". */
6303
9615
  value?: TaskProgress[] | undefined;
6304
9616
  constructor(data?: ITaskCollectionResponse);
6305
9617
  init(_data?: any): void;
@@ -6308,6 +9620,7 @@ export declare class TaskCollectionResponse implements ITaskCollectionResponse {
6308
9620
  }
6309
9621
  /** Response containing a collection of TaskProgress. */
6310
9622
  export interface ITaskCollectionResponse {
9623
+ /** Gets or sets the OData response content in the "value". */
6311
9624
  value?: TaskProgress[] | undefined;
6312
9625
  }
6313
9626
  /** Represents the progress of a long operation task. */
@@ -6388,6 +9701,7 @@ export interface ITaskResult {
6388
9701
  }
6389
9702
  /** Response containing a collection of CancelTaskResult. */
6390
9703
  export declare class CancelTasksResponse implements ICancelTasksResponse {
9704
+ /** Gets or sets the OData response content in the "value". */
6391
9705
  value?: CancelTaskResult[] | undefined;
6392
9706
  constructor(data?: ICancelTasksResponse);
6393
9707
  init(_data?: any): void;
@@ -6396,6 +9710,7 @@ export declare class CancelTasksResponse implements ICancelTasksResponse {
6396
9710
  }
6397
9711
  /** Response containing a collection of CancelTaskResult. */
6398
9712
  export interface ICancelTasksResponse {
9713
+ /** Gets or sets the OData response content in the "value". */
6399
9714
  value?: CancelTaskResult[] | undefined;
6400
9715
  }
6401
9716
  /** Represents the result of cancelling a long operation task. */
@@ -6426,6 +9741,7 @@ export declare class TemplateDefinitionCollectionResponse implements ITemplateDe
6426
9741
  odataNextLink?: string | undefined;
6427
9742
  /** The total count of items within a collection. */
6428
9743
  odataCount?: number | undefined;
9744
+ /** Gets or sets the OData response content in the "value". */
6429
9745
  value?: TemplateDefinition[] | undefined;
6430
9746
  constructor(data?: ITemplateDefinitionCollectionResponse);
6431
9747
  init(_data?: any): void;
@@ -6438,6 +9754,7 @@ export interface ITemplateDefinitionCollectionResponse {
6438
9754
  odataNextLink?: string | undefined;
6439
9755
  /** The total count of items within a collection. */
6440
9756
  odataCount?: number | undefined;
9757
+ /** Gets or sets the OData response content in the "value". */
6441
9758
  value?: TemplateDefinition[] | undefined;
6442
9759
  }
6443
9760
  /** Response containing a collection of TemplateFieldDefinition. */
@@ -6446,6 +9763,7 @@ export declare class TemplateFieldDefinitionCollectionResponse implements ITempl
6446
9763
  odataNextLink?: string | undefined;
6447
9764
  /** The total count of items within a collection. */
6448
9765
  odataCount?: number | undefined;
9766
+ /** Gets or sets the OData response content in the "value". */
6449
9767
  value?: TemplateFieldDefinition[] | undefined;
6450
9768
  constructor(data?: ITemplateFieldDefinitionCollectionResponse);
6451
9769
  init(_data?: any): void;
@@ -6458,6 +9776,7 @@ export interface ITemplateFieldDefinitionCollectionResponse {
6458
9776
  odataNextLink?: string | undefined;
6459
9777
  /** The total count of items within a collection. */
6460
9778
  odataCount?: number | undefined;
9779
+ /** Gets or sets the OData response content in the "value". */
6461
9780
  value?: TemplateFieldDefinition[] | undefined;
6462
9781
  }
6463
9782
  /** Represents a template field definition. */
@@ -6714,6 +10033,367 @@ export interface IMoveTemplateFieldRequest {
6714
10033
  current field count are rejected with 400. */
6715
10034
  newPosition: number;
6716
10035
  }
10036
+ /** 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. */
10037
+ export declare class TemplateAccessControlList implements ITemplateAccessControlList {
10038
+ /** The access control entries that make up the ACL. */
10039
+ entries?: TemplateAccessControlEntry[] | undefined;
10040
+ constructor(data?: ITemplateAccessControlList);
10041
+ init(_data?: any): void;
10042
+ static fromJS(data: any): TemplateAccessControlList;
10043
+ toJSON(data?: any): any;
10044
+ }
10045
+ /** 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. */
10046
+ export interface ITemplateAccessControlList {
10047
+ /** The access control entries that make up the ACL. */
10048
+ entries?: TemplateAccessControlEntry[] | undefined;
10049
+ }
10050
+ /** 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. */
10051
+ export declare class TemplateAccessControlEntry implements ITemplateAccessControlEntry {
10052
+ /** The trustee this ACE applies to. On input, identify the trustee by either
10053
+ trustee.sid or trustee.accountName (the SID takes precedence when both are given). */
10054
+ trustee?: TrusteeIdentity | undefined;
10055
+ /** Whether the ACE grants (Allow) or denies (Deny) the listed rights. Required on
10056
+ input — a missing value is rejected (it must not silently default to Allow). */
10057
+ accessControlType?: AccessControlType | undefined;
10058
+ /** The rights granted or denied by this ACE. */
10059
+ rights?: TemplateRight[] | undefined;
10060
+ /** True when this ACE is inherited. Always false for template ACEs (template definitions have
10061
+ no ACL inheritance); returned for contract symmetry and ignored on input. */
10062
+ isInherited?: boolean;
10063
+ /** When inherited, a description of where the ACE was inherited from. Output only; null for
10064
+ template ACEs. */
10065
+ inheritedFrom?: string | undefined;
10066
+ constructor(data?: ITemplateAccessControlEntry);
10067
+ init(_data?: any): void;
10068
+ static fromJS(data: any): TemplateAccessControlEntry;
10069
+ toJSON(data?: any): any;
10070
+ }
10071
+ /** 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. */
10072
+ export interface ITemplateAccessControlEntry {
10073
+ /** The trustee this ACE applies to. On input, identify the trustee by either
10074
+ trustee.sid or trustee.accountName (the SID takes precedence when both are given). */
10075
+ trustee?: TrusteeIdentity | undefined;
10076
+ /** Whether the ACE grants (Allow) or denies (Deny) the listed rights. Required on
10077
+ input — a missing value is rejected (it must not silently default to Allow). */
10078
+ accessControlType?: AccessControlType | undefined;
10079
+ /** The rights granted or denied by this ACE. */
10080
+ rights?: TemplateRight[] | undefined;
10081
+ /** True when this ACE is inherited. Always false for template ACEs (template definitions have
10082
+ no ACL inheritance); returned for contract symmetry and ignored on input. */
10083
+ isInherited?: boolean;
10084
+ /** When inherited, a description of where the ACE was inherited from. Output only; null for
10085
+ template ACEs. */
10086
+ inheritedFrom?: string | undefined;
10087
+ }
10088
+ /** 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. */
10089
+ export declare enum TemplateRight {
10090
+ ReadDefinition = "ReadDefinition",
10091
+ Modify = "Modify",
10092
+ Delete = "Delete",
10093
+ ReadPermissions = "ReadPermissions",
10094
+ ChangePermissions = "ChangePermissions",
10095
+ TakeOwnership = "TakeOwnership"
10096
+ }
10097
+ /** 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. */
10098
+ export declare class SetTemplateAccessControlRequest implements ISetTemplateAccessControlRequest {
10099
+ /** The access control entries to set. Replaces the template's entire explicit ACL. */
10100
+ entries?: TemplateAccessControlEntry[] | undefined;
10101
+ constructor(data?: ISetTemplateAccessControlRequest);
10102
+ init(_data?: any): void;
10103
+ static fromJS(data: any): SetTemplateAccessControlRequest;
10104
+ toJSON(data?: any): any;
10105
+ }
10106
+ /** 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. */
10107
+ export interface ISetTemplateAccessControlRequest {
10108
+ /** The access control entries to set. Replaces the template's entire explicit ACL. */
10109
+ entries?: TemplateAccessControlEntry[] | undefined;
10110
+ }
10111
+ /** 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. */
10112
+ export declare class TemplateRights implements ITemplateRights {
10113
+ /** The rights granted to the trustee on the template. */
10114
+ rights?: TemplateRight[] | undefined;
10115
+ /** True when the session is read-only, so no write operations are possible regardless of
10116
+ the granted rights. */
10117
+ isReadOnly?: boolean;
10118
+ constructor(data?: ITemplateRights);
10119
+ init(_data?: any): void;
10120
+ static fromJS(data: any): TemplateRights;
10121
+ toJSON(data?: any): any;
10122
+ }
10123
+ /** 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. */
10124
+ export interface ITemplateRights {
10125
+ /** The rights granted to the trustee on the template. */
10126
+ rights?: TemplateRight[] | undefined;
10127
+ /** True when the session is read-only, so no write operations are possible regardless of
10128
+ the granted rights. */
10129
+ isReadOnly?: boolean;
10130
+ }
10131
+ /** 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. */
10132
+ export declare class TrusteeSecurity implements ITrusteeSecurity {
10133
+ /** The trustee's privileges, keyed by privilege name (e.g. EntryAccess,
10134
+ RecordManager), with the value indicating whether the trustee holds that privilege. */
10135
+ privileges?: {
10136
+ [key: string]: boolean;
10137
+ } | undefined;
10138
+ /** The trustee's feature rights, keyed by feature-right name (e.g. Search,
10139
+ Import), with the value indicating whether the trustee holds that feature right. */
10140
+ featureRights?: {
10141
+ [key: string]: boolean;
10142
+ } | undefined;
10143
+ /** True when the trustee is read-only, so no write operations are possible regardless of the
10144
+ granted privileges or feature rights. */
10145
+ isReadOnly?: boolean;
10146
+ /** The security tags assigned to the trustee. */
10147
+ tags?: TrusteeTag[] | undefined;
10148
+ /** The audit classes configured for the trustee, split into successful- and failed-operation
10149
+ masks. Each map is keyed by audit-class name with the value indicating whether that class is
10150
+ audited. */
10151
+ auditMasks?: TrusteeAuditMasks | undefined;
10152
+ constructor(data?: ITrusteeSecurity);
10153
+ init(_data?: any): void;
10154
+ static fromJS(data: any): TrusteeSecurity;
10155
+ toJSON(data?: any): any;
10156
+ }
10157
+ /** 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. */
10158
+ export interface ITrusteeSecurity {
10159
+ /** The trustee's privileges, keyed by privilege name (e.g. EntryAccess,
10160
+ RecordManager), with the value indicating whether the trustee holds that privilege. */
10161
+ privileges?: {
10162
+ [key: string]: boolean;
10163
+ } | undefined;
10164
+ /** The trustee's feature rights, keyed by feature-right name (e.g. Search,
10165
+ Import), with the value indicating whether the trustee holds that feature right. */
10166
+ featureRights?: {
10167
+ [key: string]: boolean;
10168
+ } | undefined;
10169
+ /** True when the trustee is read-only, so no write operations are possible regardless of the
10170
+ granted privileges or feature rights. */
10171
+ isReadOnly?: boolean;
10172
+ /** The security tags assigned to the trustee. */
10173
+ tags?: TrusteeTag[] | undefined;
10174
+ /** The audit classes configured for the trustee, split into successful- and failed-operation
10175
+ masks. Each map is keyed by audit-class name with the value indicating whether that class is
10176
+ audited. */
10177
+ auditMasks?: TrusteeAuditMasks | undefined;
10178
+ }
10179
+ /** A security tag assigned to a trustee. */
10180
+ export declare class TrusteeTag implements ITrusteeTag {
10181
+ /** The tag's ID. */
10182
+ id?: number;
10183
+ /** The tag's name. */
10184
+ name?: string | undefined;
10185
+ /** True when the tag is a security tag. */
10186
+ isSecure?: boolean;
10187
+ constructor(data?: ITrusteeTag);
10188
+ init(_data?: any): void;
10189
+ static fromJS(data: any): TrusteeTag;
10190
+ toJSON(data?: any): any;
10191
+ }
10192
+ /** A security tag assigned to a trustee. */
10193
+ export interface ITrusteeTag {
10194
+ /** The tag's ID. */
10195
+ id?: number;
10196
+ /** The tag's name. */
10197
+ name?: string | undefined;
10198
+ /** True when the tag is a security tag. */
10199
+ isSecure?: boolean;
10200
+ }
10201
+ /** The audit classes configured for a trustee, split by operation outcome. */
10202
+ export declare class TrusteeAuditMasks implements ITrusteeAuditMasks {
10203
+ /** Audit classes audited on successful operations, keyed by audit-class name. */
10204
+ success?: {
10205
+ [key: string]: boolean;
10206
+ } | undefined;
10207
+ /** Audit classes audited on failed operations, keyed by audit-class name. */
10208
+ failure?: {
10209
+ [key: string]: boolean;
10210
+ } | undefined;
10211
+ constructor(data?: ITrusteeAuditMasks);
10212
+ init(_data?: any): void;
10213
+ static fromJS(data: any): TrusteeAuditMasks;
10214
+ toJSON(data?: any): any;
10215
+ }
10216
+ /** The audit classes configured for a trustee, split by operation outcome. */
10217
+ export interface ITrusteeAuditMasks {
10218
+ /** Audit classes audited on successful operations, keyed by audit-class name. */
10219
+ success?: {
10220
+ [key: string]: boolean;
10221
+ } | undefined;
10222
+ /** Audit classes audited on failed operations, keyed by audit-class name. */
10223
+ failure?: {
10224
+ [key: string]: boolean;
10225
+ } | undefined;
10226
+ }
10227
+ /** Represents an entry referenced by a user's Recent Documents or Recent Folders list. */
10228
+ export declare class UserAreaEntry implements IUserAreaEntry {
10229
+ /** The ID of the recently accessed entry. */
10230
+ entryId?: number;
10231
+ /** The full repository path of the recently accessed entry. */
10232
+ fullPath?: string | undefined;
10233
+ constructor(data?: IUserAreaEntry);
10234
+ init(_data?: any): void;
10235
+ static fromJS(data: any): UserAreaEntry;
10236
+ toJSON(data?: any): any;
10237
+ }
10238
+ /** Represents an entry referenced by a user's Recent Documents or Recent Folders list. */
10239
+ export interface IUserAreaEntry {
10240
+ /** The ID of the recently accessed entry. */
10241
+ entryId?: number;
10242
+ /** The full repository path of the recently accessed entry. */
10243
+ fullPath?: string | undefined;
10244
+ }
10245
+ /** Request body for starring or unstarring one or more entries. */
10246
+ export declare class StarEntriesRequest implements IStarEntriesRequest {
10247
+ /** The IDs of the entries to star or unstar. Must contain at least one entry ID. */
10248
+ entryIds?: number[] | undefined;
10249
+ constructor(data?: IStarEntriesRequest);
10250
+ init(_data?: any): void;
10251
+ static fromJS(data: any): StarEntriesRequest;
10252
+ toJSON(data?: any): any;
10253
+ }
10254
+ /** Request body for starring or unstarring one or more entries. */
10255
+ export interface IStarEntriesRequest {
10256
+ /** The IDs of the entries to star or unstar. Must contain at least one entry ID. */
10257
+ entryIds?: number[] | undefined;
10258
+ }
10259
+ /** Represents a user's Personal Collection — a named, per-user set of entries. */
10260
+ export declare class PersonalCollection implements IPersonalCollection {
10261
+ /** The stable identifier of the collection (the underlying user-area name). */
10262
+ id?: string | undefined;
10263
+ /** The display name of the collection. */
10264
+ name?: string | undefined;
10265
+ /** The IDs of the entries contained in the collection. */
10266
+ entryIds?: number[] | undefined;
10267
+ constructor(data?: IPersonalCollection);
10268
+ init(_data?: any): void;
10269
+ static fromJS(data: any): PersonalCollection;
10270
+ toJSON(data?: any): any;
10271
+ }
10272
+ /** Represents a user's Personal Collection — a named, per-user set of entries. */
10273
+ export interface IPersonalCollection {
10274
+ /** The stable identifier of the collection (the underlying user-area name). */
10275
+ id?: string | undefined;
10276
+ /** The display name of the collection. */
10277
+ name?: string | undefined;
10278
+ /** The IDs of the entries contained in the collection. */
10279
+ entryIds?: number[] | undefined;
10280
+ }
10281
+ /** Request body for creating a Personal Collection. */
10282
+ export declare class CreatePersonalCollectionRequest implements ICreatePersonalCollectionRequest {
10283
+ /** The display name for the new collection. Required, must be 256 characters or fewer, and must not
10284
+ duplicate an existing collection name or a reserved name. */
10285
+ name?: string | undefined;
10286
+ constructor(data?: ICreatePersonalCollectionRequest);
10287
+ init(_data?: any): void;
10288
+ static fromJS(data: any): CreatePersonalCollectionRequest;
10289
+ toJSON(data?: any): any;
10290
+ }
10291
+ /** Request body for creating a Personal Collection. */
10292
+ export interface ICreatePersonalCollectionRequest {
10293
+ /** The display name for the new collection. Required, must be 256 characters or fewer, and must not
10294
+ duplicate an existing collection name or a reserved name. */
10295
+ name?: string | undefined;
10296
+ }
10297
+ /** Request body for renaming a Personal Collection. */
10298
+ export declare class RenamePersonalCollectionRequest implements IRenamePersonalCollectionRequest {
10299
+ /** The new display name for the collection. Same constraints as creation. */
10300
+ name?: string | undefined;
10301
+ constructor(data?: IRenamePersonalCollectionRequest);
10302
+ init(_data?: any): void;
10303
+ static fromJS(data: any): RenamePersonalCollectionRequest;
10304
+ toJSON(data?: any): any;
10305
+ }
10306
+ /** Request body for renaming a Personal Collection. */
10307
+ export interface IRenamePersonalCollectionRequest {
10308
+ /** The new display name for the collection. Same constraints as creation. */
10309
+ name?: string | undefined;
10310
+ }
10311
+ /** Request body carrying a set of entry IDs (used to add or remove entries from a collection). */
10312
+ export declare class EntryIdsRequest implements IEntryIdsRequest {
10313
+ /** The IDs of the entries to add or remove. Must contain at least one entry ID. */
10314
+ entryIds?: number[] | undefined;
10315
+ constructor(data?: IEntryIdsRequest);
10316
+ init(_data?: any): void;
10317
+ static fromJS(data: any): EntryIdsRequest;
10318
+ toJSON(data?: any): any;
10319
+ }
10320
+ /** Request body carrying a set of entry IDs (used to add or remove entries from a collection). */
10321
+ export interface IEntryIdsRequest {
10322
+ /** The IDs of the entries to add or remove. Must contain at least one entry ID. */
10323
+ entryIds?: number[] | undefined;
10324
+ }
10325
+ /** Represents a generic, owner-scoped user area (the raw primitive). Application-managed areas (Personal Collections, Starred, Recent) are excluded from this surface. */
10326
+ export declare class UserArea implements IUserArea {
10327
+ /** The ID of the user area. */
10328
+ id?: number;
10329
+ /** The name of the user area. */
10330
+ name?: string | undefined;
10331
+ /** An optional comment associated with the user area. */
10332
+ comment?: string | undefined;
10333
+ /** An optional opaque application-defined data string associated with the user area. */
10334
+ data?: string | undefined;
10335
+ constructor(data?: IUserArea);
10336
+ init(_data?: any): void;
10337
+ static fromJS(data: any): UserArea;
10338
+ toJSON(data?: any): any;
10339
+ }
10340
+ /** Represents a generic, owner-scoped user area (the raw primitive). Application-managed areas (Personal Collections, Starred, Recent) are excluded from this surface. */
10341
+ export interface IUserArea {
10342
+ /** The ID of the user area. */
10343
+ id?: number;
10344
+ /** The name of the user area. */
10345
+ name?: string | undefined;
10346
+ /** An optional comment associated with the user area. */
10347
+ comment?: string | undefined;
10348
+ /** An optional opaque application-defined data string associated with the user area. */
10349
+ data?: string | undefined;
10350
+ }
10351
+ /** Request body for creating a generic user area. */
10352
+ export declare class CreateUserAreaRequest implements ICreateUserAreaRequest {
10353
+ /** The name for the new user area. Required. Names reserved for application-managed areas
10354
+ (the pc_ prefix and the well-known Starred/Recent area names) are rejected. */
10355
+ name?: string | undefined;
10356
+ /** An optional comment for the user area. */
10357
+ comment?: string | undefined;
10358
+ /** An optional opaque application-defined data string for the user area. */
10359
+ data?: string | undefined;
10360
+ constructor(data?: ICreateUserAreaRequest);
10361
+ init(_data?: any): void;
10362
+ static fromJS(data: any): CreateUserAreaRequest;
10363
+ toJSON(data?: any): any;
10364
+ }
10365
+ /** Request body for creating a generic user area. */
10366
+ export interface ICreateUserAreaRequest {
10367
+ /** The name for the new user area. Required. Names reserved for application-managed areas
10368
+ (the pc_ prefix and the well-known Starred/Recent area names) are rejected. */
10369
+ name?: string | undefined;
10370
+ /** An optional comment for the user area. */
10371
+ comment?: string | undefined;
10372
+ /** An optional opaque application-defined data string for the user area. */
10373
+ data?: string | undefined;
10374
+ }
10375
+ /** Request body for updating a generic user area. Only non-null properties are applied. */
10376
+ export declare class UpdateUserAreaRequest implements IUpdateUserAreaRequest {
10377
+ /** The new name for the user area. null leaves it unchanged. Reserved names are rejected. */
10378
+ name?: string | undefined;
10379
+ /** The new comment. null leaves it unchanged. */
10380
+ comment?: string | undefined;
10381
+ /** The new data string. null leaves it unchanged. */
10382
+ data?: string | undefined;
10383
+ constructor(data?: IUpdateUserAreaRequest);
10384
+ init(_data?: any): void;
10385
+ static fromJS(data: any): UpdateUserAreaRequest;
10386
+ toJSON(data?: any): any;
10387
+ }
10388
+ /** Request body for updating a generic user area. Only non-null properties are applied. */
10389
+ export interface IUpdateUserAreaRequest {
10390
+ /** The new name for the user area. null leaves it unchanged. Reserved names are rejected. */
10391
+ name?: string | undefined;
10392
+ /** The new comment. null leaves it unchanged. */
10393
+ comment?: string | undefined;
10394
+ /** The new data string. null leaves it unchanged. */
10395
+ data?: string | undefined;
10396
+ }
6717
10397
  export interface FileParameter {
6718
10398
  data: any;
6719
10399
  fileName: string;
@@ -6727,32 +10407,42 @@ export interface FileResponse {
6727
10407
  };
6728
10408
  }
6729
10409
  export interface IRepositoryApiClient {
10410
+ accessControlClient: IAccessControlClient;
10411
+ annotationsClient: IAnnotationsClient;
6730
10412
  attributesClient: IAttributesClient;
6731
10413
  auditReasonsClient: IAuditReasonsClient;
6732
10414
  entriesClient: IEntriesClient;
6733
10415
  fieldDefinitionsClient: IFieldDefinitionsClient;
10416
+ recordsManagementClient: IRecordsManagementClient;
6734
10417
  repositoriesClient: IRepositoriesClient;
6735
10418
  searchesClient: ISearchesClient;
6736
10419
  simpleSearchesClient: ISimpleSearchesClient;
10420
+ stampsClient: IStampsClient;
6737
10421
  tagDefinitionsClient: ITagDefinitionsClient;
6738
10422
  tasksClient: ITasksClient;
6739
10423
  templateDefinitionsClient: ITemplateDefinitionsClient;
6740
10424
  linkDefinitionsClient: ILinkDefinitionsClient;
10425
+ userAreasClient: IUserAreasClient;
6741
10426
  defaultRequestHeaders: Record<string, string>;
6742
10427
  }
6743
10428
  export declare class RepositoryApiClient implements IRepositoryApiClient {
6744
10429
  private baseUrl;
10430
+ accessControlClient: IAccessControlClient;
10431
+ annotationsClient: IAnnotationsClient;
6745
10432
  attributesClient: IAttributesClient;
6746
10433
  auditReasonsClient: IAuditReasonsClient;
6747
10434
  entriesClient: IEntriesClient;
6748
10435
  fieldDefinitionsClient: IFieldDefinitionsClient;
10436
+ recordsManagementClient: IRecordsManagementClient;
6749
10437
  repositoriesClient: IRepositoriesClient;
6750
10438
  searchesClient: ISearchesClient;
6751
10439
  simpleSearchesClient: ISimpleSearchesClient;
10440
+ stampsClient: IStampsClient;
6752
10441
  tagDefinitionsClient: ITagDefinitionsClient;
6753
10442
  tasksClient: ITasksClient;
6754
10443
  templateDefinitionsClient: ITemplateDefinitionsClient;
6755
10444
  linkDefinitionsClient: ILinkDefinitionsClient;
10445
+ userAreasClient: IUserAreasClient;
6756
10446
  private repoClientHandler;
6757
10447
  /**
6758
10448
  * Get the headers which will be sent with each request.