@nxtedition/types 23.1.3 → 23.1.4

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.
@@ -58,6 +58,7 @@ declare interface AssetCreatedProvidedRecord {
58
58
 
59
59
  declare interface AssetDaemonRecord {
60
60
  "user-notify"?: boolean;
61
+ validate?: boolean;
61
62
  }
62
63
 
63
64
  declare interface AssetDaemonUserNotifyStateRecord {
@@ -65,6 +66,11 @@ declare interface AssetDaemonUserNotifyStateRecord {
65
66
  version?: number;
66
67
  }
67
68
 
69
+ declare interface AssetDaemonValidateStateRecord {
70
+ since?: string | 0 | null;
71
+ version?: number;
72
+ }
73
+
68
74
  declare interface AssetDeadlinesRecord {
69
75
  value?: Nxtpression<string, {
70
76
  id: string;
@@ -687,7 +693,7 @@ declare interface DeviceDomainStatusRecord {
687
693
  version?: string;
688
694
  }
689
695
 
690
- declare interface DomainRecords extends AssetDomainRecords, AuthDomainRecords, BundleDomainRecords, CalendarEventDomainRecords, CloneDomainRecords, CommentReactionDomainRecords, CommentReadMarkDomainRecords, CommentDomainRecords, ConditionDomainRecords, ConnectionDomainRecords, ContactDomainRecords, DeepstreamDomainRecords, DesignDomainRecords, DeviceDomainRecords, EditDomainRecords, EventDomainRecords, FileDomainRecords, FolderDomainRecords, GeneralDomainRecords, HarvestDomainRecords, IngestclipDomainRecords, IngestScheduleDomainRecords, MediaDomainRecords, MonitorDomainRecords, NoteDomainRecords, PanelDomainRecords, PermissionDomainRecords, PipelinePresetDomainRecords, PipelineDomainRecords, PlanningDomainRecords, PrompterDomainRecords, PublishDomainRecords, PublishedDomainRecords, RenderPresetDomainRecords, RenderDomainRecords, RevsDomainRecords, RoleDomainRecords, SchemaDomainRecords, ScriptDomainRecords, SearchDomainRecords, SettingsDomainRecords, ShotboxDomainRecords, StoryboardDomainRecords, StreamDomainRecords, SubtitleStyleDomainRecords, SubtitleDomainRecords, TemplateDomainRecords, UserNotificationStatusDomainRecords, UserNotificationDomainRecords, UserDomainRecords, UsernameDomainRecords {
696
+ declare interface DomainRecords extends AssetDomainRecords, AuthDomainRecords, BundleDomainRecords, CalendarEventDomainRecords, CloneDomainRecords, CommentReactionDomainRecords, CommentReadMarkDomainRecords, CommentDomainRecords, ConditionDomainRecords, ConnectionDomainRecords, ContactDomainRecords, DeepstreamDomainRecords, DesignDomainRecords, DeviceDomainRecords, EditDomainRecords, EventDomainRecords, FileDomainRecords, FolderDomainRecords, GalleryDomainRecords, GeneralDomainRecords, HarvestDomainRecords, IngestclipDomainRecords, IngestScheduleDomainRecords, MediaDomainRecords, MonitorDomainRecords, NoteDomainRecords, PanelDomainRecords, PermissionDomainRecords, PipelinePresetDomainRecords, PipelineDomainRecords, PlanningDomainRecords, PrompterDomainRecords, PublishDomainRecords, PublishedDomainRecords, RenderPresetDomainRecords, RenderDomainRecords, RevsDomainRecords, RoleDomainRecords, SchemaDomainRecords, ScriptDomainRecords, SearchDomainRecords, SettingsDomainRecords, ShotboxDomainRecords, StorageDomainRecords, StoryboardDomainRecords, StreamDomainRecords, SubtitleStyleDomainRecords, SubtitleDomainRecords, TemplateDomainRecords, UserNotificationStatusDomainRecords, UserNotificationDomainRecords, UserDomainRecords, UsernameDomainRecords {
691
697
  }
692
698
 
693
699
  declare type Dynamic = false | string[];
@@ -761,8 +767,11 @@ declare type EmptyObject = {
761
767
 
762
768
  // With `EmptyObject` only the first case is valid.
763
769
  const bar1: EmptyObject = {}; // Pass
764
- const bar2: EmptyObject = 42; // Fail
765
- const bar3: EmptyObject = []; // Fail
770
+ // @ts-expect-error
771
+ const bar2: EmptyObject = []; // Fail
772
+ // @ts-expect-error
773
+ const bar3: EmptyObject = 42; // Fail
774
+ // @ts-expect-error
766
775
  const bar4: EmptyObject = {a: 1}; // Fail
767
776
  ```
768
777
 
@@ -807,6 +816,7 @@ declare interface EventDomainRecords {
807
816
  ":event.duration?": EventDurationRecord;
808
817
  ":event.children?": EventChildrenRecord;
809
818
  ":event.props?": EventPropsRecord;
819
+ ":event.stats?": EventStatsRecord;
810
820
  }
811
821
 
812
822
  declare interface EventDurationRecord {
@@ -832,6 +842,7 @@ declare interface EventOverlayRecord {
832
842
  declare type EventProps = {
833
843
  source?: string;
834
844
  cueCard?: boolean | string;
845
+ printRundownColor?: string;
835
846
  startTime?: number;
836
847
  shotboxGroup?: string | string[];
837
848
  shotboxVisible?: boolean;
@@ -843,12 +854,17 @@ declare interface EventRecord {
843
854
  start?: number | null;
844
855
  end?: number | null;
845
856
  duration?: number | null;
857
+ position?: string;
846
858
  text?: string;
847
859
  lang?: string;
848
860
  style?: string;
849
861
  styleOverrides?: SubtitleEventStyleOverrides;
850
862
  }
851
863
 
864
+ declare interface EventStatsRecord {
865
+ type?: string;
866
+ }
867
+
852
868
  declare interface EventTemplateRecord {
853
869
  mixin?: string[];
854
870
  properties?: object;
@@ -1010,9 +1026,11 @@ declare interface FileConnectionSmbRecord extends FileConnectionBase {
1010
1026
  protocol?: "smb";
1011
1027
  host?: string;
1012
1028
  share?: string;
1029
+ root?: string;
1013
1030
  workgroup?: string;
1014
1031
  username?: string;
1015
1032
  password?: string;
1033
+ createFolders?: boolean;
1016
1034
  }
1017
1035
 
1018
1036
  declare interface FileDomainRecords {
@@ -1184,6 +1202,16 @@ declare interface FormattedTextNodeContent {
1184
1202
  format?: number;
1185
1203
  }
1186
1204
 
1205
+ declare interface GalleryDomainRecord {
1206
+ sources?: {
1207
+ program?: string;
1208
+ };
1209
+ }
1210
+
1211
+ declare interface GalleryDomainRecords {
1212
+ ":gallery": GalleryDomainRecord;
1213
+ }
1214
+
1187
1215
  declare interface GeneralAssetRecord {
1188
1216
  title?: string;
1189
1217
  tags?: string;
@@ -1358,7 +1386,7 @@ declare interface HttpConnectionResponseHandler<ResOutput = undefined> {
1358
1386
 
1359
1387
  @example
1360
1388
  ```
1361
- import {If} from 'type-fest';
1389
+ import type {If} from 'type-fest';
1362
1390
 
1363
1391
  type A = If<true, 'yes', 'no'>;
1364
1392
  //=> 'yes'
@@ -1378,7 +1406,7 @@ declare interface HttpConnectionResponseHandler<ResOutput = undefined> {
1378
1406
 
1379
1407
  @example
1380
1408
  ```
1381
- import {If, IsAny, IsNever} from 'type-fest';
1409
+ import type {If, IsAny, IsNever} from 'type-fest';
1382
1410
 
1383
1411
  type A = If<IsAny<unknown>, 'is any', 'not any'>;
1384
1412
  //=> 'not any'
@@ -1389,7 +1417,7 @@ declare interface HttpConnectionResponseHandler<ResOutput = undefined> {
1389
1417
 
1390
1418
  @example
1391
1419
  ```
1392
- import {If, IsEqual} from 'type-fest';
1420
+ import type {If, IsEqual} from 'type-fest';
1393
1421
 
1394
1422
  type IfEqual<T, U, IfBranch, ElseBranch> = If<IsEqual<T, U>, IfBranch, ElseBranch>;
1395
1423
 
@@ -1400,6 +1428,41 @@ declare interface HttpConnectionResponseHandler<ResOutput = undefined> {
1400
1428
  //=> 'not equal'
1401
1429
  ```
1402
1430
 
1431
+ Note: Sometimes using the `If` type can make an implementation non–tail-recursive, which can impact performance. In such cases, it’s better to use a conditional directly. Refer to the following example:
1432
+
1433
+ @example
1434
+ ```
1435
+ import type {If, IsEqual, StringRepeat} from 'type-fest';
1436
+
1437
+ type HundredZeroes = StringRepeat<'0', 100>;
1438
+
1439
+ // The following implementation is not tail recursive
1440
+ type Includes<S extends string, Char extends string> =
1441
+ S extends `${infer First}${infer Rest}`
1442
+ ? If<IsEqual<First, Char>,
1443
+ 'found',
1444
+ Includes<Rest, Char>>
1445
+ : 'not found';
1446
+
1447
+ // Hence, instantiations with long strings will fail
1448
+ // @ts-expect-error
1449
+ type Fails = Includes<HundredZeroes, '1'>;
1450
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1451
+ // Error: Type instantiation is excessively deep and possibly infinite.
1452
+
1453
+ // However, if we use a simple conditional instead of `If`, the implementation becomes tail-recursive
1454
+ type IncludesWithoutIf<S extends string, Char extends string> =
1455
+ S extends `${infer First}${infer Rest}`
1456
+ ? IsEqual<First, Char> extends true
1457
+ ? 'found'
1458
+ : IncludesWithoutIf<Rest, Char>
1459
+ : 'not found';
1460
+
1461
+ // Now, instantiations with long strings will work
1462
+ type Works = IncludesWithoutIf<HundredZeroes, '1'>;
1463
+ //=> 'not found'
1464
+ ```
1465
+
1403
1466
  @category Type Guard
1404
1467
  @category Utilities
1405
1468
  */
@@ -1483,7 +1546,7 @@ declare type InternalIsUnion<T, U = T> =
1483
1546
  IsNever<T> extends true
1484
1547
  ? false
1485
1548
  : T extends any
1486
- ? [U] extends [T]
1549
+ ? IsEqual<U, T> extends true
1487
1550
  ? false
1488
1551
  : true
1489
1552
  : never
@@ -1503,15 +1566,54 @@ declare type InternalIsUnion<T, U = T> =
1503
1566
  import type {IsEmptyObject} from 'type-fest';
1504
1567
 
1505
1568
  type Pass = IsEmptyObject<{}>; //=> true
1506
- type Fail = IsEmptyObject<[]>; //=> false
1507
- type Fail = IsEmptyObject<null>; //=> false
1569
+ type Fail1 = IsEmptyObject<[]>; //=> false
1570
+ type Fail2 = IsEmptyObject<null>; //=> false
1508
1571
  ```
1509
1572
 
1510
- @see EmptyObject
1573
+ @see {@link EmptyObject}
1511
1574
  @category Object
1512
1575
  */
1513
1576
  declare type IsEmptyObject<T> = T extends EmptyObject_2 ? true : false;
1514
1577
 
1578
+ /**
1579
+ Returns a boolean for whether the two given types are equal.
1580
+
1581
+ @link https://github.com/microsoft/TypeScript/issues/27024#issuecomment-421529650
1582
+ @link https://stackoverflow.com/questions/68961864/how-does-the-equals-work-in-typescript/68963796#68963796
1583
+
1584
+ Use-cases:
1585
+ - If you want to make a conditional branch based on the result of a comparison of two types.
1586
+
1587
+ @example
1588
+ ```
1589
+ import type {IsEqual} from 'type-fest';
1590
+
1591
+ // This type returns a boolean for whether the given array includes the given item.
1592
+ // `IsEqual` is used to compare the given array at position 0 and the given item and then return true if they are equal.
1593
+ type Includes<Value extends readonly any[], Item> =
1594
+ Value extends readonly [Value[0], ...infer rest]
1595
+ ? IsEqual<Value[0], Item> extends true
1596
+ ? true
1597
+ : Includes<rest, Item>
1598
+ : false;
1599
+ ```
1600
+
1601
+ @category Type Guard
1602
+ @category Utilities
1603
+ */
1604
+ declare type IsEqual<A, B> =
1605
+ [A] extends [B]
1606
+ ? [B] extends [A]
1607
+ ? _IsEqual<A, B>
1608
+ : false
1609
+ : false;
1610
+
1611
+ declare type _IsEqual<A, B> =
1612
+ (<G>() => G extends A & G | G ? 1 : 2) extends
1613
+ (<G>() => G extends B & G | G ? 1 : 2)
1614
+ ? true
1615
+ : false;
1616
+
1515
1617
  /**
1516
1618
  Returns a boolean for whether the given type is `never`.
1517
1619
 
@@ -1525,29 +1627,41 @@ declare type IsEmptyObject<T> = T extends EmptyObject_2 ? true : false;
1525
1627
  ```
1526
1628
  import type {IsNever, And} from 'type-fest';
1527
1629
 
1528
- // https://github.com/andnp/SimplyTyped/blob/master/src/types/strings.ts
1529
- type AreStringsEqual<A extends string, B extends string> =
1530
- And<
1531
- IsNever<Exclude<A, B>> extends true ? true : false,
1532
- IsNever<Exclude<B, A>> extends true ? true : false
1533
- >;
1534
-
1535
- type EndIfEqual<I extends string, O extends string> =
1536
- AreStringsEqual<I, O> extends true
1537
- ? never
1538
- : void;
1539
-
1540
- function endIfEqual<I extends string, O extends string>(input: I, output: O): EndIfEqual<I, O> {
1541
- if (input === output) {
1542
- process.exit(0);
1543
- }
1544
- }
1545
-
1546
- endIfEqual('abc', 'abc');
1630
+ type A = IsNever<never>;
1631
+ //=> true
1632
+
1633
+ type B = IsNever<any>;
1634
+ //=> false
1635
+
1636
+ type C = IsNever<unknown>;
1637
+ //=> false
1638
+
1639
+ type D = IsNever<never[]>;
1640
+ //=> false
1641
+
1642
+ type E = IsNever<object>;
1643
+ //=> false
1644
+
1645
+ type F = IsNever<string>;
1646
+ //=> false
1647
+ ```
1648
+
1649
+ @example
1650
+ ```
1651
+ import type {IsNever} from 'type-fest';
1652
+
1653
+ type IsTrue<T> = T extends true ? true : false;
1654
+
1655
+ // When a distributive conditional is instantiated with `never`, the entire conditional results in `never`.
1656
+ type A = IsTrue<never>;
1547
1657
  //=> never
1548
1658
 
1549
- endIfEqual('abc', '123');
1550
- //=> void
1659
+ // If you don't want that behaviour, you can explicitly add an `IsNever` check before the distributive conditional.
1660
+ type IsTrueFixed<T> =
1661
+ IsNever<T> extends true ? false : T extends true ? true : false;
1662
+
1663
+ type B = IsTrueFixed<never>;
1664
+ //=> false
1551
1665
  ```
1552
1666
 
1553
1667
  @category Type Guard
@@ -1821,6 +1935,7 @@ declare type Minimum<Value extends number | bigint> = TagBase<{
1821
1935
  declare interface MiscRecords {
1822
1936
  "asset-daemon": AssetDaemonRecord;
1823
1937
  "asset-daemon:user-notify.state": AssetDaemonUserNotifyStateRecord;
1938
+ "asset-daemon:validate.state": AssetDaemonValidateStateRecord;
1824
1939
  "deepstream-replicator.stats?": DeepstreamReplicatorStatsRecord;
1825
1940
  }
1826
1941
 
@@ -2000,7 +2115,7 @@ declare interface NxtError {
2000
2115
  errors?: NxtError[] | null;
2001
2116
  }
2002
2117
 
2003
- declare type Nxtpression<ReturnValue = unknown, Context extends object = object> = {
2118
+ declare type Nxtpression<ReturnValue = unknown, Context extends Record<string, unknown> = Record<string, unknown>> = {
2004
2119
  /**
2005
2120
  * TS-HACK: this property doesn't really exist on the nxtpression string,
2006
2121
  * it is only here to make sure the generic Context won't get stripped.
@@ -2060,6 +2175,7 @@ declare interface NxtStatusMessage {
2060
2175
  title: string;
2061
2176
  url: string;
2062
2177
  };
2178
+ data?: unknown;
2063
2179
  }
2064
2180
 
2065
2181
  declare interface NxtStatusNode extends NxtStatusObject {
@@ -2278,6 +2394,10 @@ declare interface Operator<T, R> {
2278
2394
  declare interface OperatorFunction<T, R> extends UnaryFunction<Observable<T>, Observable<R>> {
2279
2395
  }
2280
2396
 
2397
+ declare type PageOrientation = "landscape" | "portrait";
2398
+
2399
+ declare type PageSize = "A5" | "A4" | "A3";
2400
+
2281
2401
  declare interface PanelDomainPanelRecord {
2282
2402
  title?: string;
2283
2403
  /**
@@ -2399,6 +2519,39 @@ declare interface PlanningRecord {
2399
2519
  deadline?: string | null;
2400
2520
  }
2401
2521
 
2522
+ declare type PrintOptionalScriptNodes = "event" | "event-data" | "comment" | "heading" | "list" | "quote" | "paragraph" | "horizontalrule";
2523
+
2524
+ declare type PrintOptions = PrintScriptOptions | PrintRundownOptions;
2525
+
2526
+ declare interface PrintOptionsBase {
2527
+ title: string;
2528
+ horizontalMargin: number;
2529
+ pageSize: PageSize;
2530
+ orientation: PageOrientation;
2531
+ fontSize: number;
2532
+ fontFamily?: string;
2533
+ hide: PrintOptionalScriptNodes[];
2534
+ }
2535
+
2536
+ declare interface PrintRundownColumn {
2537
+ key: "id" | "title" | "time" | "duration" | "position" | "accDuration" | "type";
2538
+ label: string;
2539
+ width: string;
2540
+ textAlign: "right" | "left" | "center";
2541
+ }
2542
+
2543
+ declare interface PrintRundownOptions extends PrintOptionsBase {
2544
+ type: "rundown";
2545
+ columns: PrintRundownColumn[];
2546
+ rangeStart?: number;
2547
+ rangeEnd?: number;
2548
+ hide: Exclude<PrintOptionalScriptNodes, "event-data">[];
2549
+ }
2550
+
2551
+ declare interface PrintScriptOptions extends PrintOptionsBase {
2552
+ type: "script";
2553
+ }
2554
+
2402
2555
  declare interface PromotedTag {
2403
2556
  name: string | null;
2404
2557
  icon: string | null;
@@ -2834,6 +2987,7 @@ declare interface RenderSceneObject {
2834
2987
  transcribe?: {
2835
2988
  language?: string;
2836
2989
  pan?: number[];
2990
+ diarization?: boolean;
2837
2991
  };
2838
2992
  /** @deprecated Use video.crop instead */
2839
2993
  crop?: RenderSceneCrop;
@@ -2898,13 +3052,23 @@ declare interface RevsRecord {
2898
3052
  }
2899
3053
 
2900
3054
  declare interface RoleDomainRecords {
3055
+ ":role": RoleRecord;
3056
+ ":role.users?": RoleUsersRecord;
2901
3057
  ":role.tags": RoleTagsRecord;
2902
3058
  }
2903
3059
 
3060
+ declare type RoleRecord = {
3061
+ permissions?: Record<string, string[]>;
3062
+ };
3063
+
2904
3064
  declare interface RoleTagsRecord {
2905
3065
  value: string[];
2906
3066
  }
2907
3067
 
3068
+ declare type RoleUsersRecord = {
3069
+ value?: string[];
3070
+ };
3071
+
2908
3072
  declare interface RpcPermission {
2909
3073
  type: "rpc";
2910
3074
  method: string;
@@ -3251,6 +3415,7 @@ declare interface Settings {
3251
3415
  sortBy?: "index" | "title";
3252
3416
  showPreview?: boolean;
3253
3417
  };
3418
+ contentMaxWidth?: number;
3254
3419
  colorTags?: PromotedTag[];
3255
3420
  readType?: "characters" | "words" | "wordsPerMinute";
3256
3421
  readRate?: number;
@@ -3436,6 +3601,7 @@ declare interface Settings {
3436
3601
  };
3437
3602
  print?: {
3438
3603
  fontFamilies?: string[];
3604
+ presets?: Array<PrintOptions>;
3439
3605
  };
3440
3606
  hiddenPreviews?: Array<{
3441
3607
  id?: string;
@@ -3451,6 +3617,7 @@ declare interface Settings {
3451
3617
  downloadPath?: string;
3452
3618
  renderPath?: string;
3453
3619
  renderPresetPath?: string;
3620
+ renderPresets?: string[];
3454
3621
  videoRenderPreset?: string;
3455
3622
  imageRenderPreset?: string;
3456
3623
  audioRenderPreset?: string;
@@ -3461,6 +3628,9 @@ declare interface Settings {
3461
3628
  template?: string;
3462
3629
  };
3463
3630
  };
3631
+ ograf?: {
3632
+ template?: string;
3633
+ };
3464
3634
  rive?: {
3465
3635
  template?: string;
3466
3636
  };
@@ -3536,8 +3706,10 @@ declare interface Settings {
3536
3706
  layout?: string;
3537
3707
  };
3538
3708
  performance?: {
3539
- /** List of message identifiers to ignore in overall health aggregation (format: "serviceName:messageText") */
3540
- ignoredMessages?: string[];
3709
+ /** List of message identifiers to ignore warnings (format: "serviceName:messageText") */
3710
+ ignoredWarnings?: string[];
3711
+ /** List of message identifiers to ignore errors (format: "serviceName:messageText") */
3712
+ ignoredErrors?: string[];
3541
3713
  };
3542
3714
  app?: {
3543
3715
  enableUpdate?: boolean;
@@ -3622,16 +3794,12 @@ declare interface ShotboxStreamGroup {
3622
3794
  ```
3623
3795
  import type {SingleKeyObject} from 'type-fest';
3624
3796
 
3625
- const someFunction = <T>(parameter: SingleKeyObject<T>) => {};
3797
+ declare function someFunction<T>(parameter: SingleKeyObject<T>): void;
3626
3798
 
3627
- someFunction({
3628
- value: true
3629
- });
3799
+ someFunction({value: true});
3630
3800
 
3631
- someFunction({
3632
- value: true,
3633
- otherKey: true
3634
- });
3801
+ // @ts-expect-error
3802
+ someFunction({value: true, otherKey: true});
3635
3803
  // Error: Argument of type '{value: boolean; otherKey: boolean}' is not assignable to parameter of type 'never'.ts(2345)
3636
3804
  ```
3637
3805
 
@@ -3646,6 +3814,48 @@ declare type Spread<T1, T2> = Omit<T2, keyof T1> & T1;
3646
3814
 
3647
3815
  declare type StatsRecord = Union["stats"];
3648
3816
 
3817
+ declare interface StorageDomainRecord {
3818
+ zone: string;
3819
+ hostname: string | null;
3820
+ port?: number | null;
3821
+ location?: string;
3822
+ cache?: boolean | null;
3823
+ allows?: string[];
3824
+ capacity?: number | null;
3825
+ rxBytesSecMax?: number | null;
3826
+ txBytesSecMax?: number | null;
3827
+ rxBytesSecLimit?: number | null;
3828
+ txBytesSecLimit?: number | null;
3829
+ }
3830
+
3831
+ declare interface StorageDomainRecords {
3832
+ ":storage": StorageDomainRecord;
3833
+ ":storage.stats": StorageStatsDomainRecord;
3834
+ ":storage-zone": StorageZoneDomainRecord;
3835
+ }
3836
+
3837
+ declare interface StorageFsStats {
3838
+ concurrency?: number;
3839
+ path?: string;
3840
+ snapshot?: number | null;
3841
+ available?: number;
3842
+ free?: number;
3843
+ used?: number;
3844
+ size?: number;
3845
+ state?: string;
3846
+ [key: string]: unknown;
3847
+ }
3848
+
3849
+ declare interface StorageIoQueues {
3850
+ highest: number;
3851
+ higher: number;
3852
+ high: number;
3853
+ normal: number;
3854
+ low: number;
3855
+ lower: number;
3856
+ lowest: number;
3857
+ }
3858
+
3649
3859
  declare interface StorageLocationsRecord {
3650
3860
  [key: string]: StorageLocationsRecordEntry;
3651
3861
  }
@@ -3675,6 +3885,58 @@ declare interface StorageRecords {
3675
3885
  "storage.zones?": StorageZonesRecord;
3676
3886
  }
3677
3887
 
3888
+ declare interface StorageS3Stats {
3889
+ bucket?: string;
3890
+ region?: string;
3891
+ endpoint?: string;
3892
+ path?: string;
3893
+ storageClass?: string;
3894
+ [key: string]: unknown;
3895
+ }
3896
+
3897
+ declare interface StorageStatsDomainRecord {
3898
+ id: string;
3899
+ location: string;
3900
+ timestamp: string;
3901
+ type: string;
3902
+ zone: string;
3903
+ origin: string;
3904
+ free: number | null;
3905
+ size: number | null;
3906
+ available: number | null;
3907
+ cache: boolean | null;
3908
+ capacity: number | null;
3909
+ limiter: {
3910
+ readBytesPerSecond: number | undefined;
3911
+ writeBytesPerSecond: number | undefined;
3912
+ };
3913
+ http: {
3914
+ downstreamConnected: number;
3915
+ upstreamConnected: number;
3916
+ pending: number;
3917
+ completed: number;
3918
+ failed: number;
3919
+ };
3920
+ io: {
3921
+ read: {
3922
+ bytesPerSecond: number;
3923
+ pending: number;
3924
+ queues: StorageIoQueues;
3925
+ };
3926
+ write: {
3927
+ bytesPerSecond: number;
3928
+ pending: number;
3929
+ queues: StorageIoQueues;
3930
+ };
3931
+ };
3932
+ fs?: StorageFsStats;
3933
+ s3?: StorageS3Stats;
3934
+ }
3935
+
3936
+ declare interface StorageZoneDomainRecord {
3937
+ priority?: number;
3938
+ }
3939
+
3678
3940
  declare interface StorageZonesRecord {
3679
3941
  [key: string]: {
3680
3942
  priority: number;
@@ -4159,6 +4421,39 @@ declare interface TemplateDomainRecords {
4159
4421
 
4160
4422
  declare interface TemplateProperty {
4161
4423
  path?: string;
4424
+ type?: string;
4425
+ label?: string;
4426
+ defaultValue?: string;
4427
+ widget?: {
4428
+ type: string;
4429
+ };
4430
+ properties?: object;
4431
+ items?: {
4432
+ properties?: Record<string, TemplatePropertySchema>;
4433
+ };
4434
+ render?: {
4435
+ type: "image";
4436
+ profile?: {
4437
+ format?: string;
4438
+ video?: {
4439
+ width: number;
4440
+ height: number;
4441
+ fit: "cover";
4442
+ };
4443
+ };
4444
+ };
4445
+ }
4446
+
4447
+ declare interface TemplatePropertySchema {
4448
+ path?: string;
4449
+ type?: string;
4450
+ label?: string;
4451
+ defaultValue?: string;
4452
+ widget?: {
4453
+ type: string;
4454
+ };
4455
+ items?: TemplatePropertySchema;
4456
+ properties?: Record<string, TemplatePropertySchema>;
4162
4457
  }
4163
4458
 
4164
4459
  declare interface TemplateRecord {
@@ -3,7 +3,9 @@ export interface FileConnectionSmbRecord extends FileConnectionBase {
3
3
  protocol?: "smb";
4
4
  host?: string;
5
5
  share?: string;
6
+ root?: string;
6
7
  workgroup?: string;
7
8
  username?: string;
8
9
  password?: string;
10
+ createFolders?: boolean;
9
11
  }
@@ -10,11 +10,13 @@ export interface EventDomainRecords {
10
10
  ":event.duration?": EventDurationRecord;
11
11
  ":event.children?": EventChildrenRecord;
12
12
  ":event.props?": EventPropsRecord;
13
+ ":event.stats?": EventStatsRecord;
13
14
  }
14
15
  export interface EventRecord {
15
16
  start?: number | null;
16
17
  end?: number | null;
17
18
  duration?: number | null;
19
+ position?: string;
18
20
  text?: string;
19
21
  lang?: string;
20
22
  style?: string;
@@ -40,11 +42,15 @@ export interface EventChildrenRecord {
40
42
  type EventProps = {
41
43
  source?: string;
42
44
  cueCard?: boolean | string;
45
+ printRundownColor?: string;
43
46
  startTime?: number;
44
47
  shotboxGroup?: string | string[];
45
48
  shotboxVisible?: boolean;
46
49
  };
47
50
  export type EventPropsRecord = EventProps & Record<Exclude<string, keyof EventProps>, JsonValue>;
51
+ export interface EventStatsRecord {
52
+ type?: string;
53
+ }
48
54
  export interface EventOverlayRecord {
49
55
  [eventId: string]: {
50
56
  data: EventPropsRecord;
@@ -0,0 +1,8 @@
1
+ export interface GalleryDomainRecords {
2
+ ":gallery": GalleryDomainRecord;
3
+ }
4
+ export interface GalleryDomainRecord {
5
+ sources?: {
6
+ program?: string;
7
+ };
8
+ }
@@ -0,0 +1 @@
1
+ export {};