@nxtedition/types 23.0.33 → 23.0.35

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.
@@ -1,110 +1,2437 @@
1
- import { type AssertionGuard as __AssertionGuard } from "typia";
2
- import type { DomainRecords } from './domains/index.js';
3
- import type { Records } from './index.js';
4
- import type { Observable } from 'rxjs';
5
- type Paths<Data> = keyof Data & string;
6
- type Get<Data, Path extends string> = Path extends keyof Data ? Data[Path] : unknown;
7
- type RecordStateNumber = 0 | 1 | 2 | 3 | 4;
8
- type RecordStateString = "VOID" | "CLIENT" | "SERVER" | "STALE" | "PROVIDER";
9
- type RecordState = RecordStateNumber | RecordStateString;
10
- type _UnaryFunction<T, U> = (arg: T extends null ? never : T) => U;
11
- export interface Underscore {
12
- <T>(input: T): T;
13
- <T, U>(input: T, fn1: _UnaryFunction<T, U>): U;
14
- <T, U, V>(input: T, fn1: _UnaryFunction<T, U>, fn2: _UnaryFunction<U, V>): V;
15
- <T, U, V, W>(input: T, fn1: _UnaryFunction<T, U>, fn2: _UnaryFunction<U, V>, fn3: _UnaryFunction<V, W>): W;
16
- <T, U, V, W, X>(input: T, fn1: _UnaryFunction<T, U>, fn2: _UnaryFunction<U, V>, fn3: _UnaryFunction<V, W>, fn4: _UnaryFunction<W, X>): X;
17
- <T, U, V, W, X, Y>(input: T, fn1: _UnaryFunction<T, U>, fn2: _UnaryFunction<U, V>, fn3: _UnaryFunction<V, W>, fn4: _UnaryFunction<W, X>, fn5: _UnaryFunction<X, Y>): Y;
18
- <T, U, V, W, X, Y, Z>(input: T, fn1: _UnaryFunction<T, U>, fn2: _UnaryFunction<U, V>, fn3: _UnaryFunction<V, W>, fn4: _UnaryFunction<W, X>, fn5: _UnaryFunction<X, Y>, fn6: _UnaryFunction<Y, Z>): Z;
19
- /**
20
- * Creates a function which returns the input assetId, only if the asset is of the provided type.
21
- * @param type Asset type to filter on, e.g. "general" or "media"
22
- */
23
- asset: (type: string, state?: number, suspend?: boolean) => (id: string) => string | null;
24
- /**
25
- * @deprecated
26
- */
27
- ds: <Postfix extends keyof DomainRecords, Data extends DomainRecords[Postfix] = DomainRecords[Postfix]>(postfix: Postfix, state?: number, suspend?: boolean) => (assetId: string) => Data;
28
- /**
29
- * Get a deepstream record
30
- *
31
- * Takes a postfix (typically a :domain) and optionally record path and/or
32
- * desired state. Returns a function which takes a prefix (typically an asset
33
- * ID).
34
- *
35
- * @example
36
- * _.get(':contact') // (assetId: string) => ContactRecord
37
- *
38
- * @example
39
- * _.get(':contact', null, 'server') // (assetId: string) => ContactRecord
40
- *
41
- * @example
42
- * _.get(':contact', 'firstName') // (assetId: string) => string | undefined
43
- *
44
- * @example
45
- * _.get(':contact', 'firstName', 'server') // (assetId: string) => string | undefined
46
- */
47
- get<Postfix extends keyof DomainRecords, Data extends DomainRecords[Postfix] = DomainRecords[Postfix], Path extends Paths<Data> | string | null | undefined = Paths<Data>>(postfix: Postfix, path: Path, state?: RecordState, suspend?: boolean): (assetId: string) => Path extends undefined | null ? Partial<Data> : Path extends Paths<Data> ? Get<Data, Path> | undefined : unknown;
48
- get<Postfix extends keyof DomainRecords, Data extends DomainRecords[Postfix] = DomainRecords[Postfix]>(postfix: Postfix): (assetId: string) => Partial<Data>;
49
- timer<V>(dueTime: number): (dueValue?: V) => V;
50
- fetch(options?: RequestInit, suspend?: boolean): (resource: string) => NxtpressionFetch;
51
- }
52
- export interface NxtpressionNxt {
53
- /**
54
- * HTTP fetch
55
- */
56
- fetch(url: string, options?: RequestInit, suspend?: boolean): NxtpressionFetch;
57
- observe<Value>(observable: Observable<Value>, suspend?: boolean): Value;
58
- then<Value>(promise: Promise<Value>, suspend?: boolean): Value;
59
- suspend(): void;
60
- /**
61
- * Creates a function which returns the input assetId, only if the asset is of the provided type.
62
- * @param type Asset type to filter on, e.g. "general" or "media"
63
- */
64
- asset: (assetId: string, type: string, state?: number, suspend?: boolean) => (assetId: string) => string | null;
65
- /**
66
- * @deprecated
67
- */
68
- ds<Name extends keyof Records, Data extends Records[Name] & string>(name: Name, state?: RecordState, suspend?: boolean): Data;
69
- /**
70
- * Get a record.
71
- */
72
- get<Name extends keyof Records, Data extends Records[Name] = Records[Name], Path extends Paths<Data> | undefined | null = undefined>(name: Name, path?: Path, state?: RecordState, suspend?: boolean): Path extends undefined | null ? Data : Path extends Paths<Data> ? Get<Data, Path> : unknown;
73
- get<Name extends keyof Records, Data extends Records[Name] = Records[Name]>(name: Name): Partial<Data>;
74
- /**
75
- * TODO: what is this doing?
76
- */
77
- wrap: <V>(value: V, suspend?: boolean) => unknown;
78
- timer<V>(dueTime: number, dueValue: V, suspend?: boolean): V;
79
- hash(value: unknown): string;
80
- }
81
- export declare const isNxtpressionNxt: (input: unknown) => input is NxtpressionNxt;
82
- export declare const assertNxtpressionNxt: (input: unknown) => NxtpressionNxt;
83
- export declare const randomNxtpressionNxt: () => {
84
- fetch: never;
85
- observe: never;
86
- then: never;
87
- suspend: never;
88
- asset: never;
89
- ds: never;
90
- get: never;
91
- wrap: never;
92
- timer: never;
93
- hash: never;
94
- };
95
- export declare const assertGuardNxtpressionNxt: __AssertionGuard<NxtpressionNxt>;
96
- export declare const stringifyNxtpressionNxt: (input: NxtpressionNxt) => string;
97
- export declare const assertStringifyNxtpressionNxt: (input: unknown) => string;
98
- export interface NxtpressionFetch {
99
- body: string | null;
100
- status: number | null;
101
- headers: Record<string, string>;
102
- err: any;
103
- }
104
- export declare const isNxtpressionFetch: (input: unknown) => input is NxtpressionFetch;
105
- export declare const assertNxtpressionFetch: (input: unknown) => NxtpressionFetch;
106
- export declare const randomNxtpressionFetch: () => NxtpressionFetch;
107
- export declare const assertGuardNxtpressionFetch: __AssertionGuard<NxtpressionFetch>;
108
- export declare const stringifyNxtpressionFetch: (input: NxtpressionFetch) => string;
109
- export declare const assertStringifyNxtpressionFetch: (input: unknown) => string;
110
- export {};
1
+ /// <reference lib="esnext.asynciterable" />
2
+
3
+ /**
4
+ All diff* functions should return a list of operations, often empty.
5
+
6
+ Each operation should be an object with two to four fields:
7
+ * `op`: the name of the operation; one of "add", "remove", "replace", "move",
8
+ "copy", or "test".
9
+ * `path`: a JSON pointer string
10
+ * `from`: a JSON pointer string
11
+ * `value`: a JSON value
12
+
13
+ The different operations have different arguments.
14
+ * "add": [`path`, `value`]
15
+ * "remove": [`path`]
16
+ * "replace": [`path`, `value`]
17
+ * "move": [`from`, `path`]
18
+ * "copy": [`from`, `path`]
19
+ * "test": [`path`, `value`]
20
+
21
+ Currently this only really differentiates between Arrays, Objects, and
22
+ Everything Else, which is pretty much just what JSON substantially
23
+ differentiates between.
24
+ */
25
+ declare interface AddOperation {
26
+ op: 'add';
27
+ path: string;
28
+ value: any;
29
+ }
30
+
31
+ export declare const assertGuardNxtpressionFetch: AssertionGuard<NxtpressionFetch>;
32
+
33
+ export declare const assertGuardNxtpressionNxt: AssertionGuard<NxtpressionNxt>;
34
+
35
+ declare type AssertionGuard<T> = (input: unknown) => asserts input is T;
36
+
37
+ export declare const assertNxtpressionFetch: (input: unknown) => NxtpressionFetch;
38
+
39
+ export declare const assertNxtpressionNxt: (input: unknown) => NxtpressionNxt;
40
+
41
+ export declare const assertStringifyNxtpressionFetch: (input: unknown) => string;
42
+
43
+ export declare const assertStringifyNxtpressionNxt: (input: unknown) => string;
44
+
45
+ declare interface AssetAssigneesProvidedRecord {
46
+ value?: string[];
47
+ }
48
+
49
+ declare interface AssetCommentsRecord {
50
+ /**
51
+ * IDs of comment assets associated with the asset.
52
+ */
53
+ value?: string[];
54
+ }
55
+
56
+ declare interface AssetCreatedProvidedRecord {
57
+ time?: string;
58
+ user?: string;
59
+ origin?: string;
60
+ }
61
+
62
+ declare interface AssetDomainControllersProvidedRecord {
63
+ value?: string[];
64
+ }
65
+
66
+ declare interface AssetDomainDeadlinesProvidedRecord {
67
+ value?: IsoTimestamp[];
68
+ }
69
+
70
+ declare interface AssetDomainDurationProvidedRecord {
71
+ value?: number;
72
+ }
73
+
74
+ declare interface AssetDomainEmbeddingProvidedRecord {
75
+ value?: string[];
76
+ }
77
+
78
+ declare interface AssetDomainIconProvidedRecord {
79
+ value?: string;
80
+ }
81
+
82
+ declare interface AssetDomainLocationsProvidedRecord {
83
+ value?: Array<{
84
+ lat: number;
85
+ lon: number;
86
+ }>;
87
+ }
88
+
89
+ declare interface AssetDomainMediaProvidedRecord {
90
+ [key: string]: unknown;
91
+ }
92
+
93
+ declare interface AssetDomainPresenceProvidedRecord {
94
+ value?: string[];
95
+ }
96
+
97
+ declare interface AssetDomainPublishedProvidedRecord {
98
+ [publishedRecordId: string]: IsoTimestamp;
99
+ }
100
+
101
+ declare interface AssetDomainPublishProvidedRecord {
102
+ value?: string[];
103
+ }
104
+
105
+ declare interface AssetDomainRecords {
106
+ ":asset.title?": AssetTitleProvidedRecord;
107
+ ":asset.types?": AssetTypesProvidedRecord;
108
+ ":asset.assignees?": AssetAssigneesProvidedRecord;
109
+ ":asset.refs?": AssetRefsProvidedRecord;
110
+ ":asset.tags?": AssetTagsProvidedRecord;
111
+ ":asset.fileRefs?": AssetFileRefsProvidedRecord;
112
+ ":asset.created?": AssetCreatedProvidedRecord;
113
+ ":asset.modified?": AssetModifiedProvidedRecord;
114
+ ":asset.status?": AssetDomainStatusProvidedRecord;
115
+ ":asset.icon?": AssetDomainIconProvidedRecord;
116
+ ":asset.deadlines?": AssetDomainDeadlinesProvidedRecord;
117
+ ":asset.publish?": AssetDomainPublishProvidedRecord;
118
+ ":asset.published?": AssetDomainPublishedProvidedRecord;
119
+ ":asset.duration?": AssetDomainDurationProvidedRecord;
120
+ ":asset.locations?": AssetDomainLocationsProvidedRecord;
121
+ ":asset.controllers?": AssetDomainControllersProvidedRecord;
122
+ ":asset.embedding?": AssetDomainEmbeddingProvidedRecord;
123
+ ":asset.media?": AssetDomainMediaProvidedRecord;
124
+ ":asset.presence?": AssetDomainPresenceProvidedRecord;
125
+ ":asset.comments?": AssetCommentsRecord;
126
+ }
127
+
128
+ declare interface AssetDomainStatusProvidedRecord {
129
+ messages: Array<{
130
+ id: string;
131
+ msg: string;
132
+ level: number;
133
+ code: string;
134
+ expose?: boolean | null;
135
+ index?: number | null;
136
+ }>;
137
+ }
138
+
139
+ declare interface AssetFileRefsProvidedRecord {
140
+ value?: string[];
141
+ }
142
+
143
+ declare interface AssetModifiedProvidedRecord {
144
+ time?: string;
145
+ user?: string;
146
+ users?: string[];
147
+ }
148
+
149
+ declare interface AssetPermission {
150
+ type: "asset";
151
+ method: string;
152
+ tags?: undefined;
153
+ }
154
+
155
+ declare interface AssetRecords {
156
+ "asset.assignees": {
157
+ value?: Nxtpression<string[], {
158
+ id: string;
159
+ }>;
160
+ dynamic?: Dynamic;
161
+ };
162
+ "asset.clone": {
163
+ rules: CloneRule[];
164
+ };
165
+ "asset.deadlines": {
166
+ value?: Nxtpression<string, {
167
+ id: string;
168
+ }>;
169
+ dynamic?: Dynamic;
170
+ };
171
+ "asset.duration": {
172
+ value?: Nxtpression<number, {
173
+ id: string;
174
+ }>;
175
+ dynamic?: Dynamic;
176
+ };
177
+ "asset.embedding": {
178
+ value?: Nxtpression<string, {
179
+ id: string;
180
+ }>;
181
+ dynamic?: Dynamic;
182
+ };
183
+ "asset.icon": {
184
+ value?: Nxtpression<string, {
185
+ id: string;
186
+ }>;
187
+ dynamic?: Dynamic;
188
+ };
189
+ "asset.locations": {
190
+ value?: Nxtpression<Array<{
191
+ lat: number;
192
+ lon: number;
193
+ }>, {
194
+ id: string;
195
+ }>;
196
+ dynamic?: Dynamic;
197
+ };
198
+ "asset.media": {
199
+ value?: Nxtpression<Record<string, unknown>, {
200
+ id: string;
201
+ }>;
202
+ dynamic?: Dynamic;
203
+ };
204
+ "asset.tags": {
205
+ value?: Nxtpression<string[], {
206
+ id: string;
207
+ }>;
208
+ dynamic?: Dynamic;
209
+ };
210
+ "asset.title": {
211
+ value?: Nxtpression<string, {
212
+ id: string;
213
+ }>;
214
+ dynamic?: Dynamic;
215
+ };
216
+ "asset.types": {
217
+ [type: string]: null | string | {
218
+ priority?: number;
219
+ label: string;
220
+ icon?: string;
221
+ };
222
+ };
223
+ }
224
+
225
+ declare interface AssetRef {
226
+ id: string;
227
+ key: string;
228
+ value: string;
229
+ }
230
+
231
+ declare interface AssetRefsProvidedRecord {
232
+ value?: AssetRef[];
233
+ }
234
+
235
+ declare interface AssetTagsProvidedRecord {
236
+ value?: string[];
237
+ }
238
+
239
+ declare interface AssetTitleProvidedRecord {
240
+ value?: string;
241
+ }
242
+
243
+ declare interface AssetTypesProvidedRecord {
244
+ value?: string[];
245
+ }
246
+
247
+ declare interface BundleDomainRecords {
248
+ [":bundle"]: BundleRecord;
249
+ [":bundle.revisions"]: BundleRevisionsRecord;
250
+ }
251
+
252
+ declare interface BundleRecord {
253
+ user?: string;
254
+ description?: string;
255
+ files: Record<string, string>;
256
+ }
257
+
258
+ declare interface BundleRevisionsRecord {
259
+ [revisionId: string]: BundleRecord;
260
+ }
261
+
262
+ declare interface CloneDomainCloneRecord {
263
+ rules: CloneRule[];
264
+ }
265
+
266
+ declare interface CloneDomainRecords {
267
+ ":clone": CloneDomainCloneRecord;
268
+ }
269
+
270
+ declare interface CloneRule {
271
+ domain: string;
272
+ path?: string | null;
273
+ template?: string | null;
274
+ }
275
+
276
+ declare interface CommentDomainCommentRecord {
277
+ asset?: string;
278
+ content?: SerializedRootNode | null;
279
+ mediaRevisionId?: string | null;
280
+ timecode?: {
281
+ start: number;
282
+ end?: number;
283
+ };
284
+ replyTo?: string;
285
+ }
286
+
287
+ declare interface CommentDomainReadMarksProvidedRecord {
288
+ value?: string[];
289
+ }
290
+
291
+ declare interface CommentDomainRecords {
292
+ ":comment": CommentDomainCommentRecord;
293
+ ":comment.reactions?": CommentReactionsProvidedRecord;
294
+ ":comment.replies?": CommentDomainRepliesProvidedRecord;
295
+ ":comment.readMarks?": CommentDomainReadMarksProvidedRecord;
296
+ }
297
+
298
+ declare interface CommentDomainRepliesProvidedRecord {
299
+ value?: string[];
300
+ }
301
+
302
+ declare interface CommentReactionDomainRecord {
303
+ comment: string;
304
+ user: string;
305
+ reaction: string;
306
+ }
307
+
308
+ declare interface CommentReactionDomainRecords {
309
+ "comment-reaction": CommentReactionDomainRecord;
310
+ }
311
+
312
+ declare interface CommentReactionsProvidedRecord {
313
+ [reaction: string]: Array<{
314
+ id: string;
315
+ user: string;
316
+ }>;
317
+ }
318
+
319
+ declare interface CommentReadMarkDomainRecord {
320
+ comment: string;
321
+ user: string;
322
+ time: string;
323
+ }
324
+
325
+ declare interface CommentReadMarkDomainRecords {
326
+ "comment-read-mark": CommentReadMarkDomainRecord;
327
+ }
328
+
329
+ declare interface ConnectionDomainRecords {
330
+ [":connection"]: ConnectionRecord;
331
+ [":connection.methods?"]: Record<string, object>;
332
+ [":connection.stats?"]: ConnectionStatsRecord;
333
+ }
334
+
335
+ declare type ConnectionRecord = FileConnectionRecord | ReutersConnectionRecord | FacebookConnectionRecord;
336
+
337
+ declare interface ConnectionRecordCommon {
338
+ type: string;
339
+ userNotificationsEnabled?: boolean;
340
+ }
341
+
342
+ declare interface ConnectionStatsRecord {
343
+ status?: string;
344
+ substatus?: string;
345
+ pages?: Array<{
346
+ id: unknown;
347
+ }>;
348
+ }
349
+
350
+ declare interface ContactDomainRecords {
351
+ ":contact": ContactRecord;
352
+ }
353
+
354
+ declare interface ContactRecord {
355
+ title?: string;
356
+ email?: string;
357
+ firstName?: string;
358
+ lastName?: string;
359
+ }
360
+
361
+ declare interface CopyOperation {
362
+ op: 'copy';
363
+ from: string;
364
+ path: string;
365
+ }
366
+
367
+ declare interface DeepstreamDomainRecords {
368
+ ":deepstream.replicate": DeepstreamDomainReplicateRecord;
369
+ }
370
+
371
+ declare interface DeepstreamDomainReplicateRecord {
372
+ synced?: boolean;
373
+ since?: string | 0 | null;
374
+ }
375
+
376
+ declare interface DesignDomainRecord<Id = string, Key = string, Value = unknown> {
377
+ rows: DesignViewRow<Id, Key, Value>[];
378
+ }
379
+
380
+ declare interface DesignDomainRecords {
381
+ ":design": DesignDomainRecord;
382
+ }
383
+
384
+ declare interface DesignViewRow<Id = string, Key = string, Value = void> {
385
+ id: Id;
386
+ key: Key;
387
+ value: Value;
388
+ }
389
+
390
+ declare type DomainRecords = AssetDomainRecords & BundleDomainRecords & CloneDomainRecords & CommentReactionDomainRecords & CommentReadMarkDomainRecords & CommentDomainRecords & ConnectionDomainRecords & ContactDomainRecords & DeepstreamDomainRecords & DesignDomainRecords & EditDomainRecords & EventDomainRecords & FileDomainRecords & GeneralDomainRecords & MediaDomainRecords & PanelDomainRecords & PermissionDomainRecords & PipelinePresetDomainRecords & PipelineDomainRecords & PlanningDomainRecords & PublishDomainRecords & PublishedDomainRecords & RenderPresetDomainRecords & RenderDomainRecords & RevsDomainRecords & RoleDomainRecords & ScriptDomainRecords & SearchDomainRecords & SettingsDomainRecords & StoryboardDomainRecords & SubtitleStyleDomainRecords & SubtitleDomainRecords & TemplateDomainRecords & UserNotificationStatusDomainRecords & UserNotificationDomainRecords & UserDomainRecords;
391
+
392
+ declare interface DomainRows {
393
+ rows: string[];
394
+ }
395
+
396
+ declare type Domains = Exclude<keyof DomainRecords, ":design">;
397
+
398
+ declare type Dynamic = false | string[];
399
+
400
+ declare interface EditDomainRecords {
401
+ ":edit": EditRecord;
402
+ }
403
+
404
+ declare interface EditRecord {
405
+ nodes: object;
406
+ tracks: object[];
407
+ transitions: object;
408
+ active?: boolean;
409
+ changeId?: string;
410
+ }
411
+
412
+ declare interface EventDomainRecords {
413
+ ":event": EventRecord;
414
+ ":event._template?": Record<string, unknown>;
415
+ }
416
+
417
+ declare interface EventRecord {
418
+ start?: number;
419
+ end?: number;
420
+ duration?: number;
421
+ text?: string;
422
+ lang?: string;
423
+ style?: string;
424
+ styleOverrides?: SubtitleEventStyleOverrides;
425
+ }
426
+
427
+ declare interface FacebookConnectionRecord extends ConnectionRecordCommon {
428
+ type: "facebook";
429
+ grantedScopes?: string[];
430
+ }
431
+
432
+ declare interface FacebookPublishRecord extends PublishRecordCommon<"facebook"> {
433
+ pageId?: string;
434
+ }
435
+
436
+ declare interface FacebookPublishStatsRecord extends PublishStatsRecordCommon {
437
+ }
438
+
439
+ declare interface File_2 {
440
+ id: string & Pattern<'^[0-9A-Za-z~][0-9A-Za-z~._: -]*$'>;
441
+ size: (number & Minimum<0> & Type<'uint64'>) | null;
442
+ seekable: boolean;
443
+ deleted: boolean;
444
+ refs: FileRefs;
445
+ tags: string[];
446
+ resumable: string;
447
+ mimeType: string;
448
+ encoding: string;
449
+ hash: string & Pattern<'^([A-Fa-f0-9]{32})?$'>;
450
+ btime: number & Minimum<0> & Type<'uint64'>;
451
+ completed: boolean;
452
+ error: NxtError[] | NxtError | null;
453
+ }
454
+
455
+ declare interface FileConnectionFtpRecord extends FileConnectionRecordCommon {
456
+ protocol: "ftp";
457
+ host: string;
458
+ username?: string;
459
+ password?: string;
460
+ utf8?: boolean;
461
+ timezone?: string;
462
+ }
463
+
464
+ declare type FileConnectionRecord = FileConnectionS3Record | FileConnectionFtpRecord | FileConnectionSmbRecord | FileConnectionSftpRecord;
465
+
466
+ declare interface FileConnectionRecordCommon extends ConnectionRecordCommon {
467
+ type: "file";
468
+ protocol: string;
469
+ host?: string;
470
+ port?: number | string;
471
+ ignoreMissing?: boolean;
472
+ concurrency?: number;
473
+ stabilityThreshold?: number;
474
+ pollInterval?: number;
475
+ listConcurrency?: number;
476
+ metafile?: {
477
+ content: string;
478
+ };
479
+ }
480
+
481
+ declare interface FileConnectionS3Record extends FileConnectionRecordCommon {
482
+ protocol: "s3";
483
+ client?: unknown;
484
+ bucket?: string;
485
+ }
486
+
487
+ declare interface FileConnectionSftpRecord extends FileConnectionRecordCommon {
488
+ protocol: "sftp";
489
+ host: string;
490
+ username?: string;
491
+ password?: string;
492
+ privateKey?: string;
493
+ timezone?: string;
494
+ debug?: boolean;
495
+ root?: string;
496
+ mode?: "libcurl" | "lftp" | "openssh" | "ssh2";
497
+ }
498
+
499
+ declare interface FileConnectionSmbRecord extends FileConnectionRecordCommon {
500
+ protocol: "smb";
501
+ host: string;
502
+ share: string;
503
+ workgroup?: string;
504
+ username?: string;
505
+ password?: string;
506
+ }
507
+
508
+ declare interface FileDomainRecords {
509
+ ":file.replicate": FileReplicateRecord;
510
+ ":file.restrictions": FileRestrictionsRecord;
511
+ ":file.stats?": FileDomainStatsRecord;
512
+ }
513
+
514
+ declare type FileDomainStatsRecord = FileStats;
515
+
516
+ declare interface FilePublishDefaults extends Record<string, unknown> {
517
+ directory: string;
518
+ filename: string;
519
+ renders: Record<string, FilePublishRender>;
520
+ }
521
+
522
+ declare interface FilePublishDraft extends Record<string, unknown> {
523
+ directory?: string;
524
+ filename?: string;
525
+ }
526
+
527
+ declare interface FilePublishPublished extends Record<string, unknown> {
528
+ directory?: string;
529
+ filename: string;
530
+ }
531
+
532
+ declare interface FilePublishRecord extends PublishRecordCommon<"file"> {
533
+ directory?: string;
534
+ filename?: string;
535
+ renders?: Record<string, FilePublishRender>;
536
+ draft?: FilePublishDraft;
537
+ remote?: FilePublishRemote;
538
+ published?: FilePublishPublished;
539
+ }
540
+
541
+ declare interface FilePublishRecordLegacy extends PublishRecordCommon<"file"> {
542
+ directory?: string;
543
+ filename?: string;
544
+ draft?: FilePublishDraft;
545
+ remote?: FilePublishRemoteLegacy;
546
+ published?: FilePublishPublished;
547
+ renders?: undefined;
548
+ }
549
+
550
+ declare interface FilePublishRemote extends Record<string, unknown> {
551
+ directory?: string;
552
+ filename?: string;
553
+ renders?: Record<string, FilePublishRemoteRender>;
554
+ }
555
+
556
+ declare interface FilePublishRemoteLegacy extends Record<string, unknown> {
557
+ id?: string;
558
+ path: string;
559
+ filename: string;
560
+ directory?: string;
561
+ subtitle?: {
562
+ path: string;
563
+ };
564
+ metafile?: {
565
+ path: string;
566
+ };
567
+ }
568
+
569
+ declare interface FilePublishRemoteRender {
570
+ path?: string;
571
+ messages?: Message[];
572
+ query?: unknown;
573
+ size?: number;
574
+ hash?: string;
575
+ source?: string;
576
+ }
577
+
578
+ declare type FilePublishRender = Nxtpression<ResolvedFilePublishRender, {
579
+ publish: FilePublishRecord;
580
+ directory: string;
581
+ name: string;
582
+ }>;
583
+
584
+ declare interface FilePublishRetrieved extends Record<string, unknown> {
585
+ filename?: string;
586
+ directory?: string;
587
+ renders?: Record<string, FilePublishRetrievedRender>;
588
+ }
589
+
590
+ declare interface FilePublishRetrievedRender {
591
+ path: string;
592
+ size?: number;
593
+ hash?: string;
594
+ }
595
+
596
+ declare interface FilePublishStatsRecord extends PublishStatsRecordCommon {
597
+ retrieved?: FilePublishRetrieved;
598
+ defaults?: FilePublishDefaults;
599
+ }
600
+
601
+ declare type FileRef = {
602
+ file?: string;
603
+ offset?: number;
604
+ start?: number;
605
+ end?: number;
606
+ };
607
+
608
+ declare type FileRefs = Array<FileRef>;
609
+
610
+ declare interface FileReplicateRecord {
611
+ replicas: string[];
612
+ error: NxtError | null;
613
+ }
614
+
615
+ declare interface FileRestrictionsRecord {
616
+ [restrictionId: string]: {
617
+ asset: string;
618
+ date: string;
619
+ user: string;
620
+ text: string;
621
+ start: number;
622
+ end: number;
623
+ };
624
+ }
625
+
626
+ declare interface FileStats extends File_2 {
627
+ position: (number & Minimum<0> & Type<'uint64'>) | null;
628
+ uploading: boolean | null;
629
+ zones: string[];
630
+ replicas: string[];
631
+ locations: string[];
632
+ ranges: Array<[
633
+ start: number & Minimum<0>,
634
+ end: number & Minimum<0>
635
+ ]>;
636
+ progress?: number & Minimum<0> & Maximum<1>;
637
+ speed?: number & Minimum<0>;
638
+ }
639
+
640
+ declare interface GeneralCreatedRecord {
641
+ time?: string;
642
+ user?: string;
643
+ origin?: string;
644
+ }
645
+
646
+ declare interface GeneralDescriptionRecord {
647
+ value?: string;
648
+ }
649
+
650
+ declare interface GeneralDomainRecords {
651
+ ":general.title": GeneralTitleRecord;
652
+ ":general.tags": GeneralTagsRecord;
653
+ ":general.created": GeneralCreatedRecord;
654
+ ":general.poster": GeneralPosterRecord;
655
+ ":general.status": GeneralStatusRecord;
656
+ ":general.description": GeneralDescriptionRecord;
657
+ }
658
+
659
+ declare interface GeneralPosterRecord {
660
+ input?: {
661
+ type?: string;
662
+ file?: string;
663
+ };
664
+ preset?: string;
665
+ }
666
+
667
+ declare type GeneralStatusRecord = {
668
+ [messageId: string]: GeneralStatusRecordValue;
669
+ };
670
+
671
+ declare interface GeneralStatusRecordValue {
672
+ expose?: boolean;
673
+ }
674
+
675
+ /**
676
+ * Record holding manually added tags
677
+ */
678
+ declare interface GeneralTagsRecord {
679
+ /**
680
+ * Manually added tags
681
+ */
682
+ value?: string[];
683
+ }
684
+
685
+ declare interface GeneralTitleRecord {
686
+ value?: string;
687
+ }
688
+
689
+ declare type Get<Data, Path extends string> = Path extends keyof Data ? Data[Path] : unknown;
690
+
691
+ export declare const isNxtpressionFetch: (input: unknown) => input is NxtpressionFetch;
692
+
693
+ export declare const isNxtpressionNxt: (input: unknown) => input is NxtpressionNxt;
694
+
695
+ declare type IsoTimestamp = string;
696
+
697
+ declare interface KeymapSetting {
698
+ title: string;
699
+ sequence?: string;
700
+ }
701
+
702
+ declare type LayoutWidget = WidgetType | WidgetItem;
703
+
704
+ declare type Maximum<Value extends number | bigint> = TagBase<{
705
+ target: Value extends number ? "number" : "bigint";
706
+ kind: "maximum";
707
+ value: Value;
708
+ validate: `$input <= ${Numeric_2<Value>}`;
709
+ exclusive: ["maximum", "exclusiveMaximum"];
710
+ schema: Value extends number ? {
711
+ maximum: Value;
712
+ } : undefined;
713
+ }>;
714
+
715
+ declare interface MediaConsolidateRecord {
716
+ source?: unknown;
717
+ target?: unknown;
718
+ preset?: RenderPreset;
719
+ error?: unknown;
720
+ }
721
+
722
+ declare interface MediaDomainRecords {
723
+ ":media.source": MediaSourceRecord;
724
+ ":media.consolidate": MediaConsolidateRecord;
725
+ ":media.renders?": MediaRendersRecord;
726
+ ":media.transcriptChanges": MediaTranscriptChangesRecord;
727
+ ":media.font": MediaFontRecord;
728
+ ":media.restrictions?": MediaRestrictionsRecord;
729
+ ":media.probe?": MediaProbeRecord;
730
+ ":media.updateSubtitles?": Record<string, unknown>;
731
+ ":media.updateGraphics?": Record<string, unknown>;
732
+ }
733
+
734
+ declare interface MediaFontRecord {
735
+ sampleText?: string;
736
+ }
737
+
738
+ declare interface MediaProbeRecord {
739
+ duration?: number | null;
740
+ error: NxtError | null;
741
+ type: MediaType;
742
+ live?: boolean | null;
743
+ url?: string | null;
744
+ subtitle?: {
745
+ codec?: string | null;
746
+ };
747
+ }
748
+
749
+ declare interface MediaRenderRecordValue {
750
+ id?: string;
751
+ title?: string;
752
+ children?: MediaRenderRecordValue[];
753
+ }
754
+
755
+ declare interface MediaRendersRecord {
756
+ children: MediaRenderRecordValue[];
757
+ }
758
+
759
+ declare interface MediaRestrictionsRecord {
760
+ [restrictionId: string]: {
761
+ asset: string;
762
+ date: string;
763
+ user: string;
764
+ text: string;
765
+ start: number;
766
+ end: number;
767
+ file: string;
768
+ };
769
+ }
770
+
771
+ declare type MediaSourceRecord = RenderSceneObject;
772
+
773
+ declare type MediaTranscriptChangesRecord = {
774
+ [patchKey: string]: MediaTranscriptChangesRecordValue;
775
+ };
776
+
777
+ declare interface MediaTranscriptChangesRecordValue {
778
+ patch?: Operation[];
779
+ }
780
+
781
+ declare type MediaType = "audio" | "video" | "image";
782
+
783
+ declare interface Message {
784
+ level: number;
785
+ code: string;
786
+ msg: string;
787
+ }
788
+
789
+ declare type Minimum<Value extends number | bigint> = TagBase<{
790
+ target: Value extends number ? "number" : "bigint";
791
+ kind: "minimum";
792
+ value: Value;
793
+ validate: `${Numeric<Value>} <= $input`;
794
+ exclusive: ["minimum", "exclusiveMinimum"];
795
+ schema: Value extends number ? {
796
+ minimum: Value;
797
+ } : undefined;
798
+ }>;
799
+
800
+ declare interface ModuleTabs {
801
+ [tabId: string]: ModuleTabsSettingsValue;
802
+ settingsPanelStore: SettingsPanelStoreTab;
803
+ }
804
+
805
+ declare interface ModuleTabsSettingsValue {
806
+ activeTab: string;
807
+ }
808
+
809
+ declare interface MoveOperation {
810
+ op: 'move';
811
+ from: string;
812
+ path: string;
813
+ }
814
+
815
+ declare type NotificationReason = "mentioned" | "assigned" | "author" | "participated" | "always";
816
+
817
+ declare type Numeric<Value extends number | bigint> = Value extends number ? Value : `BigInt(${Value})`;
818
+
819
+ declare type Numeric_2<Value extends number | bigint> = Value extends number ? Value : `BigInt(${Value})`;
820
+
821
+ declare interface NxtError {
822
+ message: string;
823
+ type?: string;
824
+ code?: string;
825
+ exitCode?: number;
826
+ signalCode?: number;
827
+ statusCode?: number;
828
+ headers?: Record<string, string>;
829
+ data?: object;
830
+ cause?: NxtError | null;
831
+ errors?: NxtError[] | null;
832
+ }
833
+
834
+ declare type Nxtpression<ReturnValue = string, Context extends object = object> = (String & {
835
+ /**
836
+ * TS-HACK: this property doesn't really exist on the nxtpression string,
837
+ * it is only here to make sure the generic Context won't get stripped.
838
+ */
839
+ __context: Context;
840
+ /**
841
+ * TS-HACK: this property doesn't really exist on the nxtpression string,
842
+ * it is only here to make sure the generic Context won't get stripped.
843
+ */
844
+ __returnValue: ReturnValue;
845
+ }) | string | ReturnValue;
846
+
847
+ export declare interface NxtpressionFetch {
848
+ body: string | null;
849
+ status: number | null;
850
+ headers: Record<string, string>;
851
+ err: any;
852
+ }
853
+
854
+ export declare interface NxtpressionNxt {
855
+ /**
856
+ * HTTP fetch
857
+ */
858
+ fetch(url: string, options?: RequestInit, suspend?: boolean): NxtpressionFetch;
859
+ observe<Value>(observable: Observable<Value>, suspend?: boolean): Value;
860
+ then<Value>(promise: Promise<Value>, suspend?: boolean): Value;
861
+ suspend(): void;
862
+ /**
863
+ * Creates a function which returns the input assetId, only if the asset is of the provided type.
864
+ * @param type Asset type to filter on, e.g. "general" or "media"
865
+ */
866
+ asset: (assetId: string, type: string, state?: number, suspend?: boolean) => (assetId: string) => string | null;
867
+ /**
868
+ * @deprecated
869
+ */
870
+ ds<Name extends keyof Records, Data extends Records[Name] & string>(name: Name, state?: RecordState, suspend?: boolean): Data;
871
+ /**
872
+ * Get a record.
873
+ */
874
+ get<Name extends keyof Records, Data extends Records[Name] = Records[Name], Path extends Paths<Data> | undefined | null = undefined>(name: Name, path?: Path, state?: RecordState, suspend?: boolean): Path extends undefined | null ? Data : Path extends Paths<Data> ? Get<Data, Path> : unknown;
875
+ get<Name extends keyof Records, Data extends Records[Name] = Records[Name]>(name: Name): Partial<Data>;
876
+ /**
877
+ * TODO: what is this doing?
878
+ */
879
+ wrap: <V>(value: V, suspend?: boolean) => unknown;
880
+ timer<V>(dueTime: number, dueValue: V, suspend?: boolean): V;
881
+ hash(value: unknown): string;
882
+ }
883
+
884
+ /**
885
+ * A representation of any set of values over any amount of time. This is the most basic building block
886
+ * of RxJS.
887
+ *
888
+ * @class Observable<T>
889
+ */
890
+ declare class Observable<T> implements Subscribable<T> {
891
+ /**
892
+ * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.
893
+ */
894
+ source: Observable<any> | undefined;
895
+ /**
896
+ * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.
897
+ */
898
+ operator: Operator<any, T> | undefined;
899
+ /**
900
+ * @constructor
901
+ * @param {Function} subscribe the function that is called when the Observable is
902
+ * initially subscribed to. This function is given a Subscriber, to which new values
903
+ * can be `next`ed, or an `error` method can be called to raise an error, or
904
+ * `complete` can be called to notify of a successful completion.
905
+ */
906
+ constructor(subscribe?: (this: Observable<T>, subscriber: Subscriber<T>) => TeardownLogic);
907
+ /**
908
+ * Creates a new Observable by calling the Observable constructor
909
+ * @owner Observable
910
+ * @method create
911
+ * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor
912
+ * @return {Observable} a new observable
913
+ * @nocollapse
914
+ * @deprecated Use `new Observable()` instead. Will be removed in v8.
915
+ */
916
+ static create: (...args: any[]) => any;
917
+ /**
918
+ * Creates a new Observable, with this Observable instance as the source, and the passed
919
+ * operator defined as the new observable's operator.
920
+ * @method lift
921
+ * @param operator the operator defining the operation to take on the observable
922
+ * @return a new observable with the Operator applied
923
+ * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.
924
+ * If you have implemented an operator using `lift`, it is recommended that you create an
925
+ * operator by simply returning `new Observable()` directly. See "Creating new operators from
926
+ * scratch" section here: https://rxjs.dev/guide/operators
927
+ */
928
+ lift<R>(operator?: Operator<T, R>): Observable<R>;
929
+ subscribe(observerOrNext?: Partial<Observer<T>> | ((value: T) => void)): Subscription;
930
+ /** @deprecated Instead of passing separate callback arguments, use an observer argument. Signatures taking separate callback arguments will be removed in v8. Details: https://rxjs.dev/deprecations/subscribe-arguments */
931
+ subscribe(next?: ((value: T) => void) | null, error?: ((error: any) => void) | null, complete?: (() => void) | null): Subscription;
932
+ /**
933
+ * Used as a NON-CANCELLABLE means of subscribing to an observable, for use with
934
+ * APIs that expect promises, like `async/await`. You cannot unsubscribe from this.
935
+ *
936
+ * **WARNING**: Only use this with observables you *know* will complete. If the source
937
+ * observable does not complete, you will end up with a promise that is hung up, and
938
+ * potentially all of the state of an async function hanging out in memory. To avoid
939
+ * this situation, look into adding something like {@link timeout}, {@link take},
940
+ * {@link takeWhile}, or {@link takeUntil} amongst others.
941
+ *
942
+ * #### Example
943
+ *
944
+ * ```ts
945
+ * import { interval, take } from 'rxjs';
946
+ *
947
+ * const source$ = interval(1000).pipe(take(4));
948
+ *
949
+ * async function getTotal() {
950
+ * let total = 0;
951
+ *
952
+ * await source$.forEach(value => {
953
+ * total += value;
954
+ * console.log('observable -> ' + value);
955
+ * });
956
+ *
957
+ * return total;
958
+ * }
959
+ *
960
+ * getTotal().then(
961
+ * total => console.log('Total: ' + total)
962
+ * );
963
+ *
964
+ * // Expected:
965
+ * // 'observable -> 0'
966
+ * // 'observable -> 1'
967
+ * // 'observable -> 2'
968
+ * // 'observable -> 3'
969
+ * // 'Total: 6'
970
+ * ```
971
+ *
972
+ * @param next a handler for each value emitted by the observable
973
+ * @return a promise that either resolves on observable completion or
974
+ * rejects with the handled error
975
+ */
976
+ forEach(next: (value: T) => void): Promise<void>;
977
+ /**
978
+ * @param next a handler for each value emitted by the observable
979
+ * @param promiseCtor a constructor function used to instantiate the Promise
980
+ * @return a promise that either resolves on observable completion or
981
+ * rejects with the handled error
982
+ * @deprecated Passing a Promise constructor will no longer be available
983
+ * in upcoming versions of RxJS. This is because it adds weight to the library, for very
984
+ * little benefit. If you need this functionality, it is recommended that you either
985
+ * polyfill Promise, or you create an adapter to convert the returned native promise
986
+ * to whatever promise implementation you wanted. Will be removed in v8.
987
+ */
988
+ forEach(next: (value: T) => void, promiseCtor: PromiseConstructorLike): Promise<void>;
989
+ pipe(): Observable<T>;
990
+ pipe<A>(op1: OperatorFunction<T, A>): Observable<A>;
991
+ pipe<A, B>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>): Observable<B>;
992
+ pipe<A, B, C>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>): Observable<C>;
993
+ pipe<A, B, C, D>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>, op4: OperatorFunction<C, D>): Observable<D>;
994
+ pipe<A, B, C, D, E>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>, op4: OperatorFunction<C, D>, op5: OperatorFunction<D, E>): Observable<E>;
995
+ pipe<A, B, C, D, E, F>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>, op4: OperatorFunction<C, D>, op5: OperatorFunction<D, E>, op6: OperatorFunction<E, F>): Observable<F>;
996
+ pipe<A, B, C, D, E, F, G>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>, op4: OperatorFunction<C, D>, op5: OperatorFunction<D, E>, op6: OperatorFunction<E, F>, op7: OperatorFunction<F, G>): Observable<G>;
997
+ pipe<A, B, C, D, E, F, G, H>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>, op4: OperatorFunction<C, D>, op5: OperatorFunction<D, E>, op6: OperatorFunction<E, F>, op7: OperatorFunction<F, G>, op8: OperatorFunction<G, H>): Observable<H>;
998
+ pipe<A, B, C, D, E, F, G, H, I>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>, op4: OperatorFunction<C, D>, op5: OperatorFunction<D, E>, op6: OperatorFunction<E, F>, op7: OperatorFunction<F, G>, op8: OperatorFunction<G, H>, op9: OperatorFunction<H, I>): Observable<I>;
999
+ pipe<A, B, C, D, E, F, G, H, I>(op1: OperatorFunction<T, A>, op2: OperatorFunction<A, B>, op3: OperatorFunction<B, C>, op4: OperatorFunction<C, D>, op5: OperatorFunction<D, E>, op6: OperatorFunction<E, F>, op7: OperatorFunction<F, G>, op8: OperatorFunction<G, H>, op9: OperatorFunction<H, I>, ...operations: OperatorFunction<any, any>[]): Observable<unknown>;
1000
+ /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */
1001
+ toPromise(): Promise<T | undefined>;
1002
+ /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */
1003
+ toPromise(PromiseCtor: typeof Promise): Promise<T | undefined>;
1004
+ /** @deprecated Replaced with {@link firstValueFrom} and {@link lastValueFrom}. Will be removed in v8. Details: https://rxjs.dev/deprecations/to-promise */
1005
+ toPromise(PromiseCtor: PromiseConstructorLike): Promise<T | undefined>;
1006
+ }
1007
+
1008
+ /**
1009
+ * An object interface that defines a set of callback functions a user can use to get
1010
+ * notified of any set of {@link Observable}
1011
+ * {@link guide/glossary-and-semantics#notification notification} events.
1012
+ *
1013
+ * For more info, please refer to {@link guide/observer this guide}.
1014
+ */
1015
+ declare interface Observer<T> {
1016
+ /**
1017
+ * A callback function that gets called by the producer during the subscription when
1018
+ * the producer "has" the `value`. It won't be called if `error` or `complete` callback
1019
+ * functions have been called, nor after the consumer has unsubscribed.
1020
+ *
1021
+ * For more info, please refer to {@link guide/glossary-and-semantics#next this guide}.
1022
+ */
1023
+ next: (value: T) => void;
1024
+ /**
1025
+ * A callback function that gets called by the producer if and when it encountered a
1026
+ * problem of any kind. The errored value will be provided through the `err` parameter.
1027
+ * This callback can't be called more than one time, it can't be called if the
1028
+ * `complete` callback function have been called previously, nor it can't be called if
1029
+ * the consumer has unsubscribed.
1030
+ *
1031
+ * For more info, please refer to {@link guide/glossary-and-semantics#error this guide}.
1032
+ */
1033
+ error: (err: any) => void;
1034
+ /**
1035
+ * A callback function that gets called by the producer if and when it has no more
1036
+ * values to provide (by calling `next` callback function). This means that no error
1037
+ * has happened. This callback can't be called more than one time, it can't be called
1038
+ * if the `error` callback function have been called previously, nor it can't be called
1039
+ * if the consumer has unsubscribed.
1040
+ *
1041
+ * For more info, please refer to {@link guide/glossary-and-semantics#complete this guide}.
1042
+ */
1043
+ complete: () => void;
1044
+ }
1045
+
1046
+ declare type Operation = AddOperation | RemoveOperation | ReplaceOperation | MoveOperation | CopyOperation | TestOperation;
1047
+
1048
+ /***
1049
+ * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.
1050
+ */
1051
+ declare interface Operator<T, R> {
1052
+ call(subscriber: Subscriber<R>, source: any): TeardownLogic;
1053
+ }
1054
+
1055
+ declare interface OperatorFunction<T, R> extends UnaryFunction<Observable<T>, Observable<R>> {
1056
+ }
1057
+
1058
+ declare interface PanelDomainPanelRecord {
1059
+ title?: string;
1060
+ supports?: string[] | string;
1061
+ priority?: number;
1062
+ editorPriority?: number;
1063
+ properties?: {
1064
+ [key: string]: PanelProperty;
1065
+ };
1066
+ layout?: {
1067
+ panel?: PanelLayout;
1068
+ editor?: PanelLayout;
1069
+ };
1070
+ filter?: Nxtpression;
1071
+ expand?: Nxtpression;
1072
+ }
1073
+
1074
+ declare interface PanelDomainRecords {
1075
+ ":panel": PanelDomainPanelRecord;
1076
+ }
1077
+
1078
+ declare type PanelLayout = string | PanelLayoutDivider | PanelLayoutItem | PanelLayout[];
1079
+
1080
+ declare interface PanelLayoutDivider {
1081
+ type: "divider";
1082
+ title?: string;
1083
+ }
1084
+
1085
+ declare interface PanelLayoutItem {
1086
+ property: string;
1087
+ width?: string | number;
1088
+ widget?: LayoutWidget;
1089
+ }
1090
+
1091
+ declare interface PanelProperty {
1092
+ /** Specifying what type of data will be entered into the field. */
1093
+ type: "array" | "asset" | "boolean" | "datetime" | "number" | "string" | "object" | "rpc";
1094
+ /** User-friendly title of the property. This will be used as the field's label in the UI. */
1095
+ title?: string;
1096
+ description?: string;
1097
+ domain?: string;
1098
+ path?: string;
1099
+ computed?: Nxtpression<unknown>;
1100
+ /** An object specifying where to index the data. Adding this will effectively make the data searchable. */
1101
+ index?: {
1102
+ /** A string specifying the user-friendly title of the search property. This is what users will see when creating search filters and bookmarks. */
1103
+ label: string;
1104
+ /** A string specifying where to store the data in the search index. Note that this should be a globally unique value in the system. Typically you'd use `{domain}.{path}` and you should prefer English in camel case */
1105
+ path: string;
1106
+ };
1107
+ /** If present, indicates that the user must specify a value for the asset to be treated as valid. */
1108
+ required?: boolean;
1109
+ oneOf?: unknown[];
1110
+ }
1111
+
1112
+ declare type Paths<Data> = keyof Data & string;
1113
+
1114
+ declare type Pattern<Value extends string> = TagBase<{
1115
+ target: "string";
1116
+ kind: "pattern";
1117
+ value: Value;
1118
+ validate: `/${Value}/.test($input)`;
1119
+ exclusive: ["format", "pattern"];
1120
+ schema: {
1121
+ pattern: Value;
1122
+ };
1123
+ }>;
1124
+
1125
+ declare interface PermissionDomainRecords {
1126
+ ":permission?": ProvidedPermissionRecord;
1127
+ ":permission": PermissionRecord;
1128
+ }
1129
+
1130
+ declare type PermissionRecord = PermissionRecordPermisson;
1131
+
1132
+ declare type PermissionRecordPermisson = TagPermission | AssetPermission | RpcPermission;
1133
+
1134
+ declare interface PipelineDomainItemsRecord {
1135
+ value?: string[];
1136
+ }
1137
+
1138
+ declare interface PipelineDomainRecord {
1139
+ dummy?: boolean;
1140
+ assetType?: "pipeline" | "collection";
1141
+ preset?: string;
1142
+ color?: string;
1143
+ tags?: string[];
1144
+ type?: string;
1145
+ bookmarkId?: string;
1146
+ hiddenCreateMenuItems?: Record<string, unknown>;
1147
+ }
1148
+
1149
+ declare interface PipelineDomainRecords {
1150
+ ":pipeline": PipelineDomainRecord;
1151
+ ":pipeline.items": PipelineDomainItemsRecord;
1152
+ }
1153
+
1154
+ declare interface PipelinePresetDomainRecord {
1155
+ createMenuItems?: string[] | null;
1156
+ color?: string;
1157
+ tags?: string[];
1158
+ sortMode?: PipelineSortMode;
1159
+ }
1160
+
1161
+ declare interface PipelinePresetDomainRecords {
1162
+ ":pipeline-preset": PipelinePresetDomainRecord;
1163
+ }
1164
+
1165
+ declare type PipelineSortMode = "default" | "manual" | "az" | "za" | "newest" | "oldest" | "mostrecent" | "leastrecent" | "earliestdeadline" | "latestdeadline";
1166
+
1167
+ declare interface PlanningAssigneesRecord {
1168
+ value?: string[];
1169
+ }
1170
+
1171
+ declare interface PlanningDeadlineRecord {
1172
+ value: string | null;
1173
+ }
1174
+
1175
+ declare interface PlanningDomainRecords {
1176
+ ":planning": PlanningRecord;
1177
+ ":planning.assignees": PlanningAssigneesRecord;
1178
+ ":planning.deadline": PlanningDeadlineRecord;
1179
+ }
1180
+
1181
+ declare interface PlanningRecord {
1182
+ deadline?: string | null;
1183
+ }
1184
+
1185
+ declare interface PromotedTag {
1186
+ name: string | null;
1187
+ icon: string | null;
1188
+ color: string | null;
1189
+ description: string | null;
1190
+ }
1191
+
1192
+ declare interface ProvidedPermissionRecord {
1193
+ permissions: PermissionRecordPermisson[];
1194
+ }
1195
+
1196
+ declare interface PublishDomainAcceptsProvidedRecord {
1197
+ value?: unknown;
1198
+ }
1199
+
1200
+ declare interface PublishDomainRecords {
1201
+ [":publish"]: PublishRecord;
1202
+ [":publish.stats?"]: PublishStatsRecord;
1203
+ [":publish.methods?"]: Record<string, {
1204
+ rpcId: string;
1205
+ rpcData: Record<string, unknown>;
1206
+ }>;
1207
+ [":publish.accepts"]: PublishDomainAcceptsProvidedRecord;
1208
+ }
1209
+
1210
+ declare interface PublishedDomainRecords {
1211
+ [":published"]: PublishedRecord;
1212
+ }
1213
+
1214
+ declare interface PublishedRecord {
1215
+ type: string;
1216
+ parent: string;
1217
+ asset: string[];
1218
+ time: number;
1219
+ connection: string;
1220
+ user?: string;
1221
+ error?: boolean;
1222
+ }
1223
+
1224
+ declare type PublishRecord = YoutubePublishRecord | FacebookPublishRecord | FilePublishRecord | FilePublishRecordLegacy;
1225
+
1226
+ declare interface PublishRecordCommon<Type extends PublishRecord["type"]> {
1227
+ type: Type;
1228
+ asset?: string;
1229
+ connection?: string;
1230
+ render?: PublishRender;
1231
+ draft?: Record<string, unknown>;
1232
+ published?: Record<string, unknown>;
1233
+ remote?: Record<string, unknown>;
1234
+ error?: {
1235
+ method: string;
1236
+ } | null;
1237
+ messages?: Message[];
1238
+ }
1239
+
1240
+ /**
1241
+ * render preset + overrides
1242
+ */
1243
+ declare interface PublishRender {
1244
+ preset?: string;
1245
+ type: string;
1246
+ scene?: RenderSceneObject;
1247
+ profile?: RenderProfileObject;
1248
+ }
1249
+
1250
+ declare type PublishStatsRecord = YoutubePublishStatsRecord | FacebookPublishStatsRecord | FilePublishStatsRecord;
1251
+
1252
+ declare interface PublishStatsRecordCommon {
1253
+ status?: string;
1254
+ substatus?: string;
1255
+ messages?: Message[];
1256
+ retrieved?: Record<string, unknown>;
1257
+ defaults?: Record<string, unknown>;
1258
+ }
1259
+
1260
+ export declare const randomNxtpressionFetch: () => NxtpressionFetch;
1261
+
1262
+ export declare const randomNxtpressionNxt: () => {
1263
+ fetch: never;
1264
+ observe: never;
1265
+ then: never;
1266
+ suspend: never;
1267
+ asset: never;
1268
+ ds: never;
1269
+ get: never;
1270
+ wrap: never;
1271
+ timer: never;
1272
+ hash: never;
1273
+ };
1274
+
1275
+ declare type Records = {
1276
+ [Property in Domains as `${string}${Property}`]: DomainRecords[Property];
1277
+ } & {
1278
+ ":permission": DomainRows;
1279
+ } & {
1280
+ [Property in keyof DesignDomainRecords as `${string}${Property}${string}`]: DesignDomainRecords[Property];
1281
+ } & {
1282
+ "media.subtitles": {
1283
+ languages?: Record<string, string>;
1284
+ fontFaces?: SubtitleFontFace[];
1285
+ };
1286
+ "media.subtitles?": {
1287
+ languages?: Record<string, string>;
1288
+ fontFaces?: SubtitleFontFace[];
1289
+ };
1290
+ "media.transcribe?": {
1291
+ engines: Record<string, string>;
1292
+ languages: Record<string, string>;
1293
+ translate?: {
1294
+ languages: Record<string, string>;
1295
+ };
1296
+ };
1297
+ "media.consolidate": {
1298
+ presets?: {
1299
+ [type in MediaType]: RenderPreset;
1300
+ };
1301
+ };
1302
+ "hub-transcribe:render-profile": {
1303
+ format: string;
1304
+ transcribe: {
1305
+ engine: string;
1306
+ };
1307
+ pick: string[];
1308
+ };
1309
+ } & AssetRecords & {
1310
+ "asset-daemon": {
1311
+ "user-notify"?: boolean;
1312
+ };
1313
+ "asset-daemon:user-notify.state": {
1314
+ since?: string | 0 | null;
1315
+ version?: number;
1316
+ };
1317
+ "deepstream-replicator.stats?": {
1318
+ replicators?: Record<string, {
1319
+ to: {
1320
+ synced?: boolean;
1321
+ since?: string | 0 | null;
1322
+ };
1323
+ from: {
1324
+ since?: string | 0 | null;
1325
+ };
1326
+ }>;
1327
+ synced?: boolean;
1328
+ };
1329
+ };
1330
+
1331
+ declare type RecordState = RecordStateNumber | RecordStateString;
1332
+
1333
+ declare type RecordStateNumber = 0 | 1 | 2 | 3 | 4;
1334
+
1335
+ declare type RecordStateString = "VOID" | "CLIENT" | "SERVER" | "STALE" | "PROVIDER";
1336
+
1337
+ declare interface RemoveOperation {
1338
+ op: 'remove';
1339
+ path: string;
1340
+ }
1341
+
1342
+ declare interface RenderDomainQueryRecord {
1343
+ type: string;
1344
+ title: string;
1345
+ parent?: string;
1346
+ description: {
1347
+ scene: RenderSceneObject;
1348
+ profile: RenderProfileObject;
1349
+ };
1350
+ }
1351
+
1352
+ declare interface RenderDomainRecords {
1353
+ ":render.stats?": RenderDomainStatsRecord;
1354
+ ":render.query?": RenderDomainQueryRecord;
1355
+ ":render.result?": RenderDomainResultRecord;
1356
+ }
1357
+
1358
+ declare interface RenderDomainResultRecord {
1359
+ [key: string]: unknown;
1360
+ url?: string;
1361
+ result?: unknown;
1362
+ error?: null | Record<string, unknown> | Array<Record<string, unknown>>;
1363
+ }
1364
+
1365
+ declare interface RenderDomainStatsRecord {
1366
+ progress?: number | null;
1367
+ error?: Array<Record<string, unknown>> | null;
1368
+ status?: string | null;
1369
+ }
1370
+
1371
+ declare type RenderPreset = RenderPresetObject | string;
1372
+
1373
+ declare interface RenderPresetDomainRecords {
1374
+ ":render-preset": RenderPresetObject;
1375
+ }
1376
+
1377
+ declare interface RenderPresetObject {
1378
+ type: RenderQuery["type"];
1379
+ profile: RenderProfile;
1380
+ }
1381
+
1382
+ declare type RenderProfile = (RenderProfileObject | string) | (RenderProfileObject | string)[];
1383
+
1384
+ declare interface RenderProfileObject {
1385
+ format: string;
1386
+ transcribe?: {
1387
+ engine: string;
1388
+ };
1389
+ translate?: {
1390
+ language: string;
1391
+ };
1392
+ audio?: {
1393
+ pan?: string;
1394
+ };
1395
+ video?: unknown;
1396
+ pick?: string[];
1397
+ subtitle?: SubtitleProfile | SubtitleProfile["lang"];
1398
+ }
1399
+
1400
+ declare interface RenderQuery {
1401
+ type: string;
1402
+ title: string;
1403
+ parent?: string;
1404
+ description?: {
1405
+ scene?: RenderScene;
1406
+ profile?: RenderProfile;
1407
+ };
1408
+ }
1409
+
1410
+ declare type RenderScene = (RenderSceneObject | string) | (RenderSceneObject | string)[];
1411
+
1412
+ declare interface RenderSceneObject {
1413
+ id?: string;
1414
+ preset?: string;
1415
+ input?: {
1416
+ type?: string;
1417
+ file?: string | null;
1418
+ };
1419
+ lang?: string;
1420
+ subtitle?: string;
1421
+ subtitleTracks?: {
1422
+ [trackId: string]: {
1423
+ style?: string | null;
1424
+ styleOverrides?: Omit<SubtitleStyleDomainRecord, "scaledBorderAndShadow" | "futureWordWrapping">;
1425
+ };
1426
+ };
1427
+ video?: {
1428
+ crop?: {
1429
+ x?: number;
1430
+ y?: number;
1431
+ width?: number;
1432
+ height?: number;
1433
+ };
1434
+ };
1435
+ start?: number;
1436
+ end?: number;
1437
+ transcribe?: {
1438
+ language?: string;
1439
+ pan?: number[];
1440
+ };
1441
+ }
1442
+
1443
+ declare interface ReplaceOperation {
1444
+ op: 'replace';
1445
+ path: string;
1446
+ value: any;
1447
+ }
1448
+
1449
+ declare interface ResolvedFilePublishRender extends Omit<PublishRender, "preset"> {
1450
+ preset?: string;
1451
+ name?: string;
1452
+ path: string;
1453
+ collisionStrategy?: "overwrite" | "skip";
1454
+ ignoreEmptyScene?: boolean;
1455
+ }
1456
+
1457
+ declare interface ReutersConnectionRecord extends ConnectionRecordCommon {
1458
+ type: "reuters";
1459
+ clientId?: string;
1460
+ clientSecret?: string;
1461
+ audience?: string;
1462
+ }
1463
+
1464
+ declare interface RevsDomainRecords {
1465
+ ":revs?": RevsRecord;
1466
+ }
1467
+
1468
+ declare interface RevsRecord {
1469
+ value?: string[];
1470
+ }
1471
+
1472
+ declare interface RoleDomainRecords {
1473
+ ":role.tags": RoleTagsRecord;
1474
+ }
1475
+
1476
+ declare interface RoleTagsRecord {
1477
+ value: string[];
1478
+ }
1479
+
1480
+ declare interface RpcPermission {
1481
+ type: "rpc";
1482
+ method: string;
1483
+ tags?: undefined;
1484
+ }
1485
+
1486
+ declare interface ScriptChildrenRecord {
1487
+ value?: string[];
1488
+ }
1489
+
1490
+ declare interface ScriptDomainRecords {
1491
+ ":script.children": ScriptChildrenRecord;
1492
+ }
1493
+
1494
+ declare interface SearchDomainRecords {
1495
+ ":search?": SearchRecord;
1496
+ }
1497
+
1498
+ declare interface SearchRecord {
1499
+ hits: string[];
1500
+ total?: number;
1501
+ relation?: string;
1502
+ error?: string;
1503
+ }
1504
+
1505
+ declare interface SerializedAutoLinkNode {
1506
+ type: "autolink";
1507
+ version: 1;
1508
+ url: string;
1509
+ }
1510
+
1511
+ declare interface SerializedEmojiNode {
1512
+ type: "emoji";
1513
+ version: 1;
1514
+ emojiId: string;
1515
+ }
1516
+
1517
+ declare interface SerializedLineBreakNode {
1518
+ type: "linebreak";
1519
+ version: 1;
1520
+ }
1521
+
1522
+ declare interface SerializedMentionNode {
1523
+ type: "mention";
1524
+ version: 1;
1525
+ detail: number;
1526
+ format: number;
1527
+ mode: string;
1528
+ style: string;
1529
+ text: string;
1530
+ mentionId: string;
1531
+ }
1532
+
1533
+ declare type SerializedNode = SerializedRootNode | SerializedParagraphNode | SerializedTextNode | SerializedLineBreakNode | SerializedMentionNode | SerializedEmojiNode | SerializedAutoLinkNode;
1534
+
1535
+ declare interface SerializedParagraphNode {
1536
+ type: "paragraph";
1537
+ version: 1;
1538
+ direction: "ltr" | "rtl" | null;
1539
+ format: string;
1540
+ indent: number;
1541
+ textFormat: number;
1542
+ textStyle: string;
1543
+ children: SerializedNode[];
1544
+ }
1545
+
1546
+ declare interface SerializedRootNode {
1547
+ type: "root";
1548
+ version: 1;
1549
+ direction: "ltr" | "rtl" | null;
1550
+ format: string;
1551
+ indent: number;
1552
+ children: SerializedNode[];
1553
+ }
1554
+
1555
+ declare interface SerializedTextNode {
1556
+ type: "text";
1557
+ version: 1;
1558
+ detail: number;
1559
+ format: number;
1560
+ mode: string;
1561
+ style: string;
1562
+ text: string;
1563
+ }
1564
+
1565
+ declare interface Settings {
1566
+ autoLogoutTime?: number;
1567
+ permission?: {
1568
+ overrideUserContact: boolean;
1569
+ overrideUserLogin: boolean;
1570
+ };
1571
+ module?: {
1572
+ tabs?: ModuleTabs;
1573
+ };
1574
+ upload?: {
1575
+ defaultGrouping?: "" | "collection" | "stitch";
1576
+ hideStoryboardCollection?: boolean;
1577
+ displayUploadFilesDialog?: "never" | "ifMultipleFiles" | "always";
1578
+ };
1579
+ download?: {
1580
+ displaySaveDialog?: boolean;
1581
+ /**
1582
+ * Whether to prompt the user for each individual file path,
1583
+ * or just the directory.
1584
+ */
1585
+ batchDownloadDialogMode?: "file" | "directory";
1586
+ };
1587
+ browser?: {
1588
+ map: {
1589
+ clustering?: boolean;
1590
+ zoom?: number;
1591
+ center?: {
1592
+ lat: number;
1593
+ lon: number;
1594
+ };
1595
+ };
1596
+ createMenu: {
1597
+ sortOrder: string[];
1598
+ };
1599
+ };
1600
+ toolbarTags?: {
1601
+ exclude: string[];
1602
+ };
1603
+ /**
1604
+ * Controls which tags cannot be used together. When a tag from the group is
1605
+ * manually added to an asset, any other tag from the group will be removed.
1606
+ */
1607
+ exclusiveTagGroups?: string[][];
1608
+ deadlines?: {
1609
+ include: string[];
1610
+ exclude?: string[];
1611
+ };
1612
+ assignees?: {
1613
+ include: string[];
1614
+ exclude?: string[];
1615
+ };
1616
+ comments?: {
1617
+ include?: string[];
1618
+ exclude?: string[];
1619
+ };
1620
+ clock?: {
1621
+ enable: boolean;
1622
+ show24Hours: boolean;
1623
+ showAmPm: boolean;
1624
+ showSeconds: boolean;
1625
+ showDayOfWeek: boolean;
1626
+ showDate: boolean;
1627
+ format?: string;
1628
+ };
1629
+ swarm?: {
1630
+ color?: string;
1631
+ name?: string;
1632
+ };
1633
+ dashboard?: {
1634
+ maxMru: number;
1635
+ maxTabs: number;
1636
+ };
1637
+ script?: {
1638
+ createMenu: {
1639
+ showPreview: boolean;
1640
+ };
1641
+ colorTags: PromotedTag[];
1642
+ };
1643
+ events?: {
1644
+ graphicBaseTemplate?: string;
1645
+ };
1646
+ rundown?: {
1647
+ eventThumbnails: boolean;
1648
+ };
1649
+ gallery?: {
1650
+ dimOnBlur: boolean;
1651
+ };
1652
+ history?: boolean;
1653
+ keymap?: {
1654
+ display: {
1655
+ [actionKey: string]: KeymapSetting;
1656
+ };
1657
+ browser: {
1658
+ [actionKey: string]: KeymapSetting;
1659
+ };
1660
+ gallery: {
1661
+ [actionKey: string]: KeymapSetting;
1662
+ };
1663
+ global: {
1664
+ [actionKey: string]: KeymapSetting;
1665
+ };
1666
+ player: {
1667
+ [actionKey: string]: KeymapSetting;
1668
+ };
1669
+ script: {
1670
+ [actionKey: string]: KeymapSetting;
1671
+ };
1672
+ codeEditor: {
1673
+ [actionKey: string]: KeymapSetting;
1674
+ };
1675
+ bookmarks: {
1676
+ [actionKey: string]: KeymapSetting;
1677
+ };
1678
+ edit: {
1679
+ [actionKey: string]: KeymapSetting;
1680
+ };
1681
+ rundown: {
1682
+ [actionKey: string]: KeymapSetting;
1683
+ };
1684
+ segment: {
1685
+ [actionKey: string]: KeymapSetting;
1686
+ };
1687
+ };
1688
+ media?: {
1689
+ defaultFrameRate: number;
1690
+ placeholder?: string;
1691
+ guide?: {
1692
+ mask?: boolean;
1693
+ actionSafe?: boolean;
1694
+ titleSafe?: boolean;
1695
+ };
1696
+ stepManyFrames: number;
1697
+ liveZoomDuration: number;
1698
+ importTitleTemplate: string;
1699
+ tile: {
1700
+ preview: boolean | "play" | "seek" | "seekplay" | "disabled";
1701
+ showRenderProgress: boolean;
1702
+ };
1703
+ timecodeReference: string;
1704
+ maxSubclipDuration: number;
1705
+ rewindStep: number;
1706
+ forwardStep: number;
1707
+ interlacedPlayback: string;
1708
+ playbackRates: number[];
1709
+ subtitles: {
1710
+ spacing: number;
1711
+ maxCharactersPerLine: number;
1712
+ aspectRatios?: Array<{
1713
+ /** aspect ratio in the form of "width:height" */
1714
+ aspectRatio?: string;
1715
+ style?: string;
1716
+ maxCharactersPerLine?: number;
1717
+ }>;
1718
+ };
1719
+ subtitleTemplateId?: string;
1720
+ initialVolume: string;
1721
+ guides: Array<{
1722
+ label: string;
1723
+ aspectRatio: string;
1724
+ }>;
1725
+ download: boolean;
1726
+ editMode: {
1727
+ enabled: boolean;
1728
+ defaultEnterOption: "edit" | "createNew" | "none";
1729
+ defaultExitOption: "update" | "leave" | "none";
1730
+ };
1731
+ transcribe?: {
1732
+ subtitleDisclaimer?: {
1733
+ isUserConfigurable?: boolean;
1734
+ defaultValue?: {
1735
+ enabled?: false;
1736
+ text?: Array<{
1737
+ language: string;
1738
+ value: string;
1739
+ }>;
1740
+ offset?: number;
1741
+ duration?: number;
1742
+ };
1743
+ };
1744
+ };
1745
+ openCommand?: {
1746
+ url?: string;
1747
+ command?: string;
1748
+ app?: string;
1749
+ args?: string[];
1750
+ } | string;
1751
+ };
1752
+ edit?: {
1753
+ thumbnailView: "filmStrip" | "thumbnail" | "none";
1754
+ voiceOver: {
1755
+ inputDevice?: string;
1756
+ inputGainDb: number;
1757
+ backgroundReductionDb: number;
1758
+ recordMode: "instant" | "punchAndRoll";
1759
+ preRollDuration: number;
1760
+ };
1761
+ };
1762
+ commands?: Array<{
1763
+ title: string;
1764
+ command?: string;
1765
+ args?: string[];
1766
+ }>;
1767
+ predefinedTags?: string[];
1768
+ storyboard?: {
1769
+ folded?: {
1770
+ auto?: boolean;
1771
+ };
1772
+ assets: {
1773
+ story: {
1774
+ excerpt: {
1775
+ maxLines: number;
1776
+ mode: string;
1777
+ };
1778
+ };
1779
+ note?: {
1780
+ maxHeight?: number;
1781
+ };
1782
+ };
1783
+ pipeline: {
1784
+ search: {
1785
+ maxItemsDisplayed: number;
1786
+ };
1787
+ sortMode: PipelineSortMode;
1788
+ };
1789
+ item: {
1790
+ maxHeight: number;
1791
+ };
1792
+ };
1793
+ hiddenPreviews?: Array<{
1794
+ id: string;
1795
+ folded: boolean;
1796
+ }>;
1797
+ plugins?: {
1798
+ adobe: {
1799
+ useProxies: boolean;
1800
+ };
1801
+ rive?: {
1802
+ template?: string;
1803
+ };
1804
+ };
1805
+ crashScreen?: boolean;
1806
+ debug?: boolean;
1807
+ featurePreview?: {
1808
+ collections?: boolean;
1809
+ semanticSearch?: boolean;
1810
+ ameRemoteRendering?: boolean;
1811
+ };
1812
+ flags?: {
1813
+ utils: boolean;
1814
+ history: boolean;
1815
+ refs: boolean;
1816
+ access: boolean;
1817
+ files: boolean;
1818
+ export: boolean;
1819
+ json: boolean;
1820
+ hlsjs: boolean;
1821
+ resetRenders?: boolean;
1822
+ resetReplicas?: boolean;
1823
+ assetStatus?: boolean;
1824
+ consolidateMedia?: boolean;
1825
+ hideInAssetMenu?: boolean;
1826
+ assetRoute?: boolean;
1827
+ devWarnings?: boolean;
1828
+ };
1829
+ notifications?: {
1830
+ events: {
1831
+ comment: NotificationReason[];
1832
+ assigned: NotificationReason[];
1833
+ unassigned: NotificationReason[];
1834
+ publishSucceeded: {
1835
+ [connectionId: string]: NotificationReason[];
1836
+ };
1837
+ };
1838
+ };
1839
+ suppressDeleteAlert?: boolean;
1840
+ }
1841
+
1842
+ declare interface SettingsDomainRecords {
1843
+ ":settings": Settings;
1844
+ }
1845
+
1846
+ declare interface SettingsPanelStoreTab extends ModuleTabsSettingsValue {
1847
+ activeSectionIndex: number;
1848
+ }
1849
+
1850
+ declare interface StoryboardDomainPipelinesRecord {
1851
+ value?: string[];
1852
+ }
1853
+
1854
+ declare interface StoryboardDomainRecords {
1855
+ ":storyboard": Record<string, unknown>;
1856
+ ":storyboard.pipelines": StoryboardDomainPipelinesRecord;
1857
+ }
1858
+
1859
+ export declare const stringifyNxtpressionFetch: (input: NxtpressionFetch) => string;
1860
+
1861
+ export declare const stringifyNxtpressionNxt: (input: NxtpressionNxt) => string;
1862
+
1863
+ /** OBSERVABLE INTERFACES */
1864
+ declare interface Subscribable<T> {
1865
+ subscribe(observer: Partial<Observer<T>>): Unsubscribable;
1866
+ }
1867
+
1868
+ /**
1869
+ * Implements the {@link Observer} interface and extends the
1870
+ * {@link Subscription} class. While the {@link Observer} is the public API for
1871
+ * consuming the values of an {@link Observable}, all Observers get converted to
1872
+ * a Subscriber, in order to provide Subscription-like capabilities such as
1873
+ * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for
1874
+ * implementing operators, but it is rarely used as a public API.
1875
+ *
1876
+ * @class Subscriber<T>
1877
+ */
1878
+ declare class Subscriber<T> extends Subscription implements Observer<T> {
1879
+ /**
1880
+ * A static factory for a Subscriber, given a (potentially partial) definition
1881
+ * of an Observer.
1882
+ * @param next The `next` callback of an Observer.
1883
+ * @param error The `error` callback of an
1884
+ * Observer.
1885
+ * @param complete The `complete` callback of an
1886
+ * Observer.
1887
+ * @return A Subscriber wrapping the (partially defined)
1888
+ * Observer represented by the given arguments.
1889
+ * @nocollapse
1890
+ * @deprecated Do not use. Will be removed in v8. There is no replacement for this
1891
+ * method, and there is no reason to be creating instances of `Subscriber` directly.
1892
+ * If you have a specific use case, please file an issue.
1893
+ */
1894
+ static create<T>(next?: (x?: T) => void, error?: (e?: any) => void, complete?: () => void): Subscriber<T>;
1895
+ /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */
1896
+ protected isStopped: boolean;
1897
+ /** @deprecated Internal implementation detail, do not use directly. Will be made internal in v8. */
1898
+ protected destination: Subscriber<any> | Observer<any>;
1899
+ /**
1900
+ * @deprecated Internal implementation detail, do not use directly. Will be made internal in v8.
1901
+ * There is no reason to directly create an instance of Subscriber. This type is exported for typings reasons.
1902
+ */
1903
+ constructor(destination?: Subscriber<any> | Observer<any>);
1904
+ /**
1905
+ * The {@link Observer} callback to receive notifications of type `next` from
1906
+ * the Observable, with a value. The Observable may call this method 0 or more
1907
+ * times.
1908
+ * @param {T} [value] The `next` value.
1909
+ * @return {void}
1910
+ */
1911
+ next(value?: T): void;
1912
+ /**
1913
+ * The {@link Observer} callback to receive notifications of type `error` from
1914
+ * the Observable, with an attached `Error`. Notifies the Observer that
1915
+ * the Observable has experienced an error condition.
1916
+ * @param {any} [err] The `error` exception.
1917
+ * @return {void}
1918
+ */
1919
+ error(err?: any): void;
1920
+ /**
1921
+ * The {@link Observer} callback to receive a valueless notification of type
1922
+ * `complete` from the Observable. Notifies the Observer that the Observable
1923
+ * has finished sending push-based notifications.
1924
+ * @return {void}
1925
+ */
1926
+ complete(): void;
1927
+ unsubscribe(): void;
1928
+ protected _next(value: T): void;
1929
+ protected _error(err: any): void;
1930
+ protected _complete(): void;
1931
+ }
1932
+
1933
+ /**
1934
+ * Represents a disposable resource, such as the execution of an Observable. A
1935
+ * Subscription has one important method, `unsubscribe`, that takes no argument
1936
+ * and just disposes the resource held by the subscription.
1937
+ *
1938
+ * Additionally, subscriptions may be grouped together through the `add()`
1939
+ * method, which will attach a child Subscription to the current Subscription.
1940
+ * When a Subscription is unsubscribed, all its children (and its grandchildren)
1941
+ * will be unsubscribed as well.
1942
+ *
1943
+ * @class Subscription
1944
+ */
1945
+ declare class Subscription implements SubscriptionLike {
1946
+ private initialTeardown?;
1947
+ /** @nocollapse */
1948
+ static EMPTY: Subscription;
1949
+ /**
1950
+ * A flag to indicate whether this Subscription has already been unsubscribed.
1951
+ */
1952
+ closed: boolean;
1953
+ private _parentage;
1954
+ /**
1955
+ * The list of registered finalizers to execute upon unsubscription. Adding and removing from this
1956
+ * list occurs in the {@link #add} and {@link #remove} methods.
1957
+ */
1958
+ private _finalizers;
1959
+ /**
1960
+ * @param initialTeardown A function executed first as part of the finalization
1961
+ * process that is kicked off when {@link #unsubscribe} is called.
1962
+ */
1963
+ constructor(initialTeardown?: (() => void) | undefined);
1964
+ /**
1965
+ * Disposes the resources held by the subscription. May, for instance, cancel
1966
+ * an ongoing Observable execution or cancel any other type of work that
1967
+ * started when the Subscription was created.
1968
+ * @return {void}
1969
+ */
1970
+ unsubscribe(): void;
1971
+ /**
1972
+ * Adds a finalizer to this subscription, so that finalization will be unsubscribed/called
1973
+ * when this subscription is unsubscribed. If this subscription is already {@link #closed},
1974
+ * because it has already been unsubscribed, then whatever finalizer is passed to it
1975
+ * will automatically be executed (unless the finalizer itself is also a closed subscription).
1976
+ *
1977
+ * Closed Subscriptions cannot be added as finalizers to any subscription. Adding a closed
1978
+ * subscription to a any subscription will result in no operation. (A noop).
1979
+ *
1980
+ * Adding a subscription to itself, or adding `null` or `undefined` will not perform any
1981
+ * operation at all. (A noop).
1982
+ *
1983
+ * `Subscription` instances that are added to this instance will automatically remove themselves
1984
+ * if they are unsubscribed. Functions and {@link Unsubscribable} objects that you wish to remove
1985
+ * will need to be removed manually with {@link #remove}
1986
+ *
1987
+ * @param teardown The finalization logic to add to this subscription.
1988
+ */
1989
+ add(teardown: TeardownLogic): void;
1990
+ /**
1991
+ * Checks to see if a this subscription already has a particular parent.
1992
+ * This will signal that this subscription has already been added to the parent in question.
1993
+ * @param parent the parent to check for
1994
+ */
1995
+ private _hasParent;
1996
+ /**
1997
+ * Adds a parent to this subscription so it can be removed from the parent if it
1998
+ * unsubscribes on it's own.
1999
+ *
2000
+ * NOTE: THIS ASSUMES THAT {@link _hasParent} HAS ALREADY BEEN CHECKED.
2001
+ * @param parent The parent subscription to add
2002
+ */
2003
+ private _addParent;
2004
+ /**
2005
+ * Called on a child when it is removed via {@link #remove}.
2006
+ * @param parent The parent to remove
2007
+ */
2008
+ private _removeParent;
2009
+ /**
2010
+ * Removes a finalizer from this subscription that was previously added with the {@link #add} method.
2011
+ *
2012
+ * Note that `Subscription` instances, when unsubscribed, will automatically remove themselves
2013
+ * from every other `Subscription` they have been added to. This means that using the `remove` method
2014
+ * is not a common thing and should be used thoughtfully.
2015
+ *
2016
+ * If you add the same finalizer instance of a function or an unsubscribable object to a `Subscription` instance
2017
+ * more than once, you will need to call `remove` the same number of times to remove all instances.
2018
+ *
2019
+ * All finalizer instances are removed to free up memory upon unsubscription.
2020
+ *
2021
+ * @param teardown The finalizer to remove from this subscription
2022
+ */
2023
+ remove(teardown: Exclude<TeardownLogic, void>): void;
2024
+ }
2025
+
2026
+ declare interface SubscriptionLike extends Unsubscribable {
2027
+ unsubscribe(): void;
2028
+ readonly closed: boolean;
2029
+ }
2030
+
2031
+ declare interface SubtitleDomainRecord {
2032
+ value?: Array<{
2033
+ lang?: string;
2034
+ start: number;
2035
+ end: number;
2036
+ text?: string;
2037
+ }>;
2038
+ style?: unknown;
2039
+ }
2040
+
2041
+ declare interface SubtitleDomainRecords {
2042
+ ":subtitle": SubtitleDomainRecord;
2043
+ }
2044
+
2045
+ declare interface SubtitleEventStyleOverrides {
2046
+ marginL?: string;
2047
+ marginR?: string;
2048
+ marginV?: string;
2049
+ alignment?: string;
2050
+ fontname?: string;
2051
+ fontsize?: string;
2052
+ primaryColour?: string;
2053
+ secondaryColour?: string;
2054
+ outlineColour?: string;
2055
+ backColour?: string;
2056
+ bold?: string;
2057
+ italic?: string;
2058
+ underline?: string;
2059
+ strikeOut?: string;
2060
+ }
2061
+
2062
+ declare interface SubtitleFontFace {
2063
+ family: string;
2064
+ asset?: string;
2065
+ weight?: "normal" | "bold";
2066
+ style?: "normal" | "italic";
2067
+ }
2068
+
2069
+ declare interface SubtitleProfile {
2070
+ /**
2071
+ * Corresponds to a key in `media.subtitles?#languages`, or '_all' to render all languages.
2072
+ */
2073
+ lang?: string;
2074
+ /**
2075
+ * Will pick styling from the corresponding `${style}:subtitle-style` asset.
2076
+ */
2077
+ style?: string;
2078
+ }
2079
+
2080
+ declare interface SubtitleStyleDomainRecord {
2081
+ name?: string;
2082
+ fontname?: string;
2083
+ fontsize?: string;
2084
+ primaryColour?: string;
2085
+ secondaryColour?: string;
2086
+ outlineColour?: string;
2087
+ backColour?: string;
2088
+ bold?: string;
2089
+ italic?: string;
2090
+ underline?: string;
2091
+ strikeOut?: string;
2092
+ scaleX?: string;
2093
+ scaleY?: string;
2094
+ spacing?: string;
2095
+ angle?: string;
2096
+ borderStyle?: string;
2097
+ outline?: string;
2098
+ shadow?: string;
2099
+ alignment?: string;
2100
+ marginL?: string;
2101
+ marginR?: string;
2102
+ marginV?: string;
2103
+ encoding?: string;
2104
+ scaledBorderAndShadow?: boolean;
2105
+ futureWordWrapping?: boolean;
2106
+ }
2107
+
2108
+ declare interface SubtitleStyleDomainRecords {
2109
+ ":subtitle-style": SubtitleStyleDomainRecord;
2110
+ }
2111
+
2112
+ declare type TagBase<Props extends TagBase.IProps<any, any, any, any, any, any>> = {
2113
+ /**
2114
+ * This is a dummy property for compilation.
2115
+ *
2116
+ * It does not mean anything in runtime.
2117
+ */
2118
+ "typia.tag"?: Props;
2119
+ };
2120
+
2121
+ declare namespace TagBase {
2122
+ interface IProps<Target extends "boolean" | "bigint" | "number" | "string" | "array", Kind extends string, Value extends boolean | bigint | number | string | undefined, Validate extends string | {
2123
+ [key in Target]?: string;
2124
+ }, Exclusive extends boolean | string[], Schema extends object | undefined> {
2125
+ /**
2126
+ * Target type.
2127
+ *
2128
+ * If user tries to adapt this tag to a different type, it would be a compile
2129
+ * error.
2130
+ *
2131
+ * For example, you've configured target type as `string`, but user adapted it
2132
+ * onto a `number` type (`number & YourCustomTag<Value>`), then it would be
2133
+ * blocked by TypeScript compiler.
2134
+ */
2135
+ target: Target;
2136
+ /**
2137
+ * What kind of tag is this?
2138
+ */
2139
+ kind: Kind;
2140
+ /**
2141
+ * Value to be configured by user.
2142
+ */
2143
+ value: Value;
2144
+ /**
2145
+ * Validation script.
2146
+ *
2147
+ * This script would be inserted into the generated validation function.
2148
+ * In here script, target variable name must be `$input`. The variable name
2149
+ * `$input` would be transformed to the suitable when compilation.
2150
+ *
2151
+ * Also, If you've take a mistake on this script, compile error would be
2152
+ * occured. So, define it with confidence. Compiler will block all your
2153
+ * mistakes.
2154
+ */
2155
+ validate?: Validate;
2156
+ /**
2157
+ * Exclusive option.
2158
+ *
2159
+ * If this property configured as `true`, same {@link kind} tag cannot be
2160
+ * duplicated in the target type. Otherwise, if you've configured this
2161
+ * property as string array, all of the {@link kind} value assigned
2162
+ * tags cannot be compatible in the target type.
2163
+ *
2164
+ * @default false
2165
+ */
2166
+ exclusive?: Exclusive | string[];
2167
+ /**
2168
+ * Additional schema info assigned to the {@link IJsonSchema} object.
2169
+ */
2170
+ schema?: Schema;
2171
+ }
2172
+ }
2173
+
2174
+ declare interface TagPermission {
2175
+ type: "tag";
2176
+ method?: undefined;
2177
+ tags: string[];
2178
+ }
2179
+
2180
+ declare type TeardownLogic = Subscription | Unsubscribable | (() => void) | void;
2181
+
2182
+ declare interface TemplateDomainRecords {
2183
+ ":template": TemplateRecord;
2184
+ }
2185
+
2186
+ declare interface TemplateProperty {
2187
+ path?: string;
2188
+ }
2189
+
2190
+ declare interface TemplateRecord {
2191
+ mixin?: string[];
2192
+ properties?: Record<string, TemplateProperty>;
2193
+ }
2194
+
2195
+ declare interface TestOperation {
2196
+ op: 'test';
2197
+ path: string;
2198
+ value: any;
2199
+ }
2200
+
2201
+ declare type Type<Value extends "int32" | "uint32" | "int64" | "uint64" | "float" | "double"> = TagBase<{
2202
+ target: Value extends "int64" | "uint64" ? "bigint" | "number" : "number";
2203
+ kind: "type";
2204
+ value: Value;
2205
+ validate: Value extends "int32" ? `Math.floor($input) === $input && -2147483648 <= $input && $input <= 2147483647` : Value extends "uint32" ? `Math.floor($input) === $input && 0 <= $input && $input <= 4294967295` : Value extends "int64" ? {
2206
+ number: `Math.floor($input) === $input && -9223372036854775808 <= $input && $input <= 9223372036854775807`;
2207
+ bigint: `true`;
2208
+ } : Value extends "uint64" ? {
2209
+ number: `Math.floor($input) === $input && 0 <= $input && $input <= 18446744073709551615`;
2210
+ bigint: `BigInt(0) <= $input`;
2211
+ } : Value extends "float" ? `-1.175494351e38 <= $input && $input <= 3.4028235e38` : `true`;
2212
+ exclusive: true;
2213
+ schema: {
2214
+ type: Value extends "int32" | "uint32" | "int64" | "uint64" ? "integer" : "number";
2215
+ };
2216
+ }>;
2217
+
2218
+ /**
2219
+ * A function type interface that describes a function that accepts one parameter `T`
2220
+ * and returns another parameter `R`.
2221
+ *
2222
+ * Usually used to describe {@link OperatorFunction} - it always takes a single
2223
+ * parameter (the source Observable) and returns another Observable.
2224
+ */
2225
+ declare interface UnaryFunction<T, R> {
2226
+ (source: T): R;
2227
+ }
2228
+
2229
+ declare type _UnaryFunction<T, U> = (arg: T extends null ? never : T) => U;
2230
+
2231
+ export declare interface Underscore {
2232
+ <T>(input: T): T;
2233
+ <T, U>(input: T, fn1: _UnaryFunction<T, U>): U;
2234
+ <T, U, V>(input: T, fn1: _UnaryFunction<T, U>, fn2: _UnaryFunction<U, V>): V;
2235
+ <T, U, V, W>(input: T, fn1: _UnaryFunction<T, U>, fn2: _UnaryFunction<U, V>, fn3: _UnaryFunction<V, W>): W;
2236
+ <T, U, V, W, X>(input: T, fn1: _UnaryFunction<T, U>, fn2: _UnaryFunction<U, V>, fn3: _UnaryFunction<V, W>, fn4: _UnaryFunction<W, X>): X;
2237
+ <T, U, V, W, X, Y>(input: T, fn1: _UnaryFunction<T, U>, fn2: _UnaryFunction<U, V>, fn3: _UnaryFunction<V, W>, fn4: _UnaryFunction<W, X>, fn5: _UnaryFunction<X, Y>): Y;
2238
+ <T, U, V, W, X, Y, Z>(input: T, fn1: _UnaryFunction<T, U>, fn2: _UnaryFunction<U, V>, fn3: _UnaryFunction<V, W>, fn4: _UnaryFunction<W, X>, fn5: _UnaryFunction<X, Y>, fn6: _UnaryFunction<Y, Z>): Z;
2239
+ /**
2240
+ * Creates a function which returns the input assetId, only if the asset is of the provided type.
2241
+ * @param type Asset type to filter on, e.g. "general" or "media"
2242
+ */
2243
+ asset: (type: string, state?: number, suspend?: boolean) => (id: string) => string | null;
2244
+ /**
2245
+ * @deprecated
2246
+ */
2247
+ ds: <Postfix extends keyof DomainRecords, Data extends DomainRecords[Postfix] = DomainRecords[Postfix]>(postfix: Postfix, state?: number, suspend?: boolean) => (assetId: string) => Data;
2248
+ /**
2249
+ * Get a deepstream record
2250
+ *
2251
+ * Takes a postfix (typically a :domain) and optionally record path and/or
2252
+ * desired state. Returns a function which takes a prefix (typically an asset
2253
+ * ID).
2254
+ *
2255
+ * @example
2256
+ * _.get(':contact') // (assetId: string) => ContactRecord
2257
+ *
2258
+ * @example
2259
+ * _.get(':contact', null, 'server') // (assetId: string) => ContactRecord
2260
+ *
2261
+ * @example
2262
+ * _.get(':contact', 'firstName') // (assetId: string) => string | undefined
2263
+ *
2264
+ * @example
2265
+ * _.get(':contact', 'firstName', 'server') // (assetId: string) => string | undefined
2266
+ */
2267
+ get<Postfix extends keyof DomainRecords, Data extends DomainRecords[Postfix] = DomainRecords[Postfix], Path extends Paths<Data> | string | null | undefined = Paths<Data>>(postfix: Postfix, path: Path, state?: RecordState, suspend?: boolean): (assetId: string) => Path extends undefined | null ? Partial<Data> : Path extends Paths<Data> ? Get<Data, Path> | undefined : unknown;
2268
+ get<Postfix extends keyof DomainRecords, Data extends DomainRecords[Postfix] = DomainRecords[Postfix]>(postfix: Postfix): (assetId: string) => Partial<Data>;
2269
+ timer<V>(dueTime: number): (dueValue?: V) => V;
2270
+ fetch(options?: RequestInit, suspend?: boolean): (resource: string) => NxtpressionFetch;
2271
+ }
2272
+
2273
+ declare interface Unsubscribable {
2274
+ unsubscribe(): void;
2275
+ }
2276
+
2277
+ declare interface UserDomainLatestSeenNotificationRecord {
2278
+ value?: string;
2279
+ }
2280
+
2281
+ declare interface UserDomainReceivedNotificationsProvidedRecord {
2282
+ /**
2283
+ * IDs of notifications the user has received.
2284
+ */
2285
+ value?: string[];
2286
+ }
2287
+
2288
+ declare interface UserDomainRecord {
2289
+ username?: string;
2290
+ roles?: string[];
2291
+ }
2292
+
2293
+ declare interface UserDomainRecords {
2294
+ ":user": UserDomainRecord;
2295
+ ":user.latestSeenNotification": UserDomainLatestSeenNotificationRecord;
2296
+ ":user.receivedNotifications?": UserDomainReceivedNotificationsProvidedRecord;
2297
+ ":user.unseenNotifications?": UserDomainUnseenNotificationsRecord;
2298
+ }
2299
+
2300
+ declare interface UserDomainUnseenNotificationsRecord {
2301
+ hasUnseen?: boolean;
2302
+ latestReceived?: string;
2303
+ }
2304
+
2305
+ declare interface UserNotificationAddedToSearch extends UserNotificationCommon {
2306
+ type: "added-to-search";
2307
+ payload: {
2308
+ searchId: string;
2309
+ assetId: string;
2310
+ };
2311
+ }
2312
+
2313
+ declare interface UserNotificationAssigned extends UserNotificationCommon {
2314
+ type: "assigned";
2315
+ payload: {
2316
+ assetId: string;
2317
+ actionBy?: string;
2318
+ };
2319
+ }
2320
+
2321
+ declare interface UserNotificationComment extends UserNotificationCommon {
2322
+ type: "comment";
2323
+ payload: {
2324
+ commentId: string;
2325
+ };
2326
+ }
2327
+
2328
+ declare interface UserNotificationCommon {
2329
+ /** The user that the notification is for. */
2330
+ userId: string;
2331
+ /** The type of the notification, which will determine the shape of the payload. */
2332
+ type: string;
2333
+ /** Type specific data. */
2334
+ payload: object;
2335
+ /** When the notification was created. */
2336
+ timestamp: string;
2337
+ /** For what reasons the notification was created. */
2338
+ reasons: NotificationReason[];
2339
+ /**
2340
+ * Asset that triggered this notification. Not necessarily the same asset that
2341
+ * the notification is mainly about.
2342
+ */
2343
+ triggerId?: string;
2344
+ }
2345
+
2346
+ declare interface UserNotificationDomainReadAtRecord {
2347
+ /**
2348
+ * ISO8601 date string. If set, the user has marked the notification as read at that timestamp.
2349
+ */
2350
+ value?: string;
2351
+ }
2352
+
2353
+ declare interface UserNotificationDomainRecords {
2354
+ ":user-notification": UserNotificationRecord;
2355
+ ":user-notification.readAt": UserNotificationDomainReadAtRecord;
2356
+ }
2357
+
2358
+ declare interface UserNotificationPublishSucceeded extends UserNotificationCommon {
2359
+ type: "publishSucceeded";
2360
+ payload: {
2361
+ /** The user that published the asset. */
2362
+ userId?: string;
2363
+ /** The asset that was published. */
2364
+ assetId: string;
2365
+ /** The publish asset representing the publish. */
2366
+ publishId: string;
2367
+ /** The connection that was used to publish the asset. */
2368
+ connectionId: string;
2369
+ };
2370
+ }
2371
+
2372
+ declare type UserNotificationRecord = UserNotificationAssigned | UserNotificationUnassigned | UserNotificationComment | UserNotificationAddedToSearch | UserNotificationPublishSucceeded;
2373
+
2374
+ declare interface UserNotificationStatusAssignee {
2375
+ /**
2376
+ * Array of user ID:s that was assigned to the assed last time it was
2377
+ * considered for notifications.
2378
+ */
2379
+ value?: string[];
2380
+ }
2381
+
2382
+ declare interface UserNotificationStatusComment {
2383
+ /**
2384
+ * When array of user ID:s: Indicates which users have been considered for
2385
+ * notifications about this comment. When `true`: Indicates that we have
2386
+ * considered this comment for notifications, but we don't know which users
2387
+ * have been notified.
2388
+ */
2389
+ value?: string[] | true;
2390
+ }
2391
+
2392
+ declare interface UserNotificationStatusDomainRecord {
2393
+ assignee?: UserNotificationStatusAssignee;
2394
+ published?: UserNotificationStatusPublished;
2395
+ comment?: UserNotificationStatusComment;
2396
+ }
2397
+
2398
+ declare interface UserNotificationStatusDomainRecords {
2399
+ ":_user-notification-status": UserNotificationStatusDomainRecord;
2400
+ }
2401
+
2402
+ declare interface UserNotificationStatusPublished {
2403
+ /**
2404
+ * If `true`, this published asset has been considered for notifications.
2405
+ */
2406
+ value?: true;
2407
+ }
2408
+
2409
+ declare interface UserNotificationUnassigned extends UserNotificationCommon {
2410
+ type: "unassigned";
2411
+ payload: {
2412
+ assetId: string;
2413
+ actionBy?: string;
2414
+ };
2415
+ }
2416
+
2417
+ declare interface WidgetItem {
2418
+ type: WidgetType;
2419
+ readOnly?: boolean;
2420
+ }
2421
+
2422
+ declare type WidgetType = "default" | "assetTypes" | "assetTags" | "geopoint" | "poster" | "textarea" | "tags";
2423
+
2424
+ declare interface YoutubePublishRecord extends PublishRecordCommon<"youtube"> {
2425
+ draft?: {
2426
+ snippet?: {
2427
+ title?: string;
2428
+ tags?: string[];
2429
+ description?: string;
2430
+ };
2431
+ };
2432
+ }
2433
+
2434
+ declare interface YoutubePublishStatsRecord extends PublishStatsRecordCommon {
2435
+ }
2436
+
2437
+ export { }