@nuclearplayer/plugin-sdk 2.4.1 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.ts +114 -1097
  2. package/dist/index.js +3041 -2868
  3. package/package.json +3 -3
package/dist/index.d.ts CHANGED
@@ -257,17 +257,9 @@ export declare type JsonSerializable = string | number | boolean | null | JsonSe
257
257
  [key: string]: JsonSerializable;
258
258
  };
259
259
 
260
- export declare const legacyConfigSchema: z.ZodEffects<z.ZodObject<{
261
- playlists: z.ZodArray<z.ZodUnknown, "many">;
262
- }, "strip", z.ZodTypeAny, {
263
- playlists: unknown[];
264
- }, {
265
- playlists: unknown[];
266
- }>, {
267
- playlists: unknown[];
268
- }, {
269
- playlists: unknown[];
270
- }>;
260
+ export declare const legacyConfigSchema: z.ZodObject<{
261
+ playlists: z.ZodArray<z.ZodUnknown>;
262
+ }, z.core.$strip>;
271
263
 
272
264
  export declare type LegacyPlaylist = z.infer<typeof legacyPlaylistSchema>;
273
265
 
@@ -279,43 +271,9 @@ export declare const legacyPlaylistSchema: z.ZodObject<{
279
271
  name: z.ZodOptional<z.ZodString>;
280
272
  album: z.ZodOptional<z.ZodString>;
281
273
  thumbnail: z.ZodOptional<z.ZodString>;
282
- duration: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodEffects<z.ZodString, number, string>]>, number, string | number>>;
283
- }, "strip", z.ZodTypeAny, {
284
- thumbnail?: string | undefined;
285
- name?: string | undefined;
286
- uuid?: string | undefined;
287
- artist?: string | undefined;
288
- album?: string | undefined;
289
- duration?: number | undefined;
290
- }, {
291
- thumbnail?: string | undefined;
292
- name?: string | undefined;
293
- uuid?: string | undefined;
294
- artist?: string | undefined;
295
- album?: string | undefined;
296
- duration?: string | number | undefined;
297
- }>, "many">;
298
- }, "strip", z.ZodTypeAny, {
299
- name: string;
300
- tracks: {
301
- thumbnail?: string | undefined;
302
- name?: string | undefined;
303
- uuid?: string | undefined;
304
- artist?: string | undefined;
305
- album?: string | undefined;
306
- duration?: number | undefined;
307
- }[];
308
- }, {
309
- name: string;
310
- tracks: {
311
- thumbnail?: string | undefined;
312
- name?: string | undefined;
313
- uuid?: string | undefined;
314
- artist?: string | undefined;
315
- album?: string | undefined;
316
- duration?: string | number | undefined;
317
- }[];
318
- }>;
274
+ duration: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>>;
275
+ }, z.core.$strip>>;
276
+ }, z.core.$strip>;
319
277
 
320
278
  export declare type LegacyTrack = z.infer<typeof legacyTrackSchema>;
321
279
 
@@ -325,22 +283,8 @@ export declare const legacyTrackSchema: z.ZodObject<{
325
283
  name: z.ZodOptional<z.ZodString>;
326
284
  album: z.ZodOptional<z.ZodString>;
327
285
  thumbnail: z.ZodOptional<z.ZodString>;
328
- duration: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodEffects<z.ZodString, number, string>]>, number, string | number>>;
329
- }, "strip", z.ZodTypeAny, {
330
- thumbnail?: string | undefined;
331
- name?: string | undefined;
332
- uuid?: string | undefined;
333
- artist?: string | undefined;
334
- album?: string | undefined;
335
- duration?: number | undefined;
336
- }, {
337
- thumbnail?: string | undefined;
338
- name?: string | undefined;
339
- uuid?: string | undefined;
340
- artist?: string | undefined;
341
- album?: string | undefined;
342
- duration?: string | number | undefined;
343
- }>;
286
+ duration: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>>;
287
+ }, z.core.$strip>;
344
288
 
345
289
  export declare type LoadedPlugin = {
346
290
  metadata: PluginMetadata;
@@ -404,6 +348,7 @@ export declare type MetadataProvider = ProviderDescriptor<'metadata'> & {
404
348
  searchCapabilities?: SearchCapability[];
405
349
  artistMetadataCapabilities?: ArtistMetadataCapability[];
406
350
  albumMetadataCapabilities?: AlbumMetadataCapability[];
351
+ streamingProviderId?: string;
407
352
  search?: (params: SearchParams) => Promise<SearchResults>;
408
353
  searchArtists?: (params: Omit<SearchParams, 'types'>) => Promise<ArtistRef[]>;
409
354
  searchAlbums?: (params: Omit<SearchParams, 'types'>) => Promise<AlbumRef[]>;
@@ -509,6 +454,14 @@ export declare class PlaybackAPI {
509
454
  toggle(): Promise<void>;
510
455
  seekTo(seconds: number): Promise<void>;
511
456
  subscribe(listener: PlaybackListener): () => void;
457
+ getVolume(): Promise<number>;
458
+ setVolume(volume: number): Promise<void>;
459
+ isMuted(): Promise<boolean>;
460
+ setMuted(muted: boolean): Promise<void>;
461
+ isShuffleEnabled(): Promise<boolean>;
462
+ setShuffleEnabled(enabled: boolean): Promise<void>;
463
+ getRepeatMode(): Promise<RepeatMode>;
464
+ setRepeatMode(mode: RepeatMode): Promise<void>;
512
465
  }
513
466
 
514
467
  export declare type PlaybackHost = {
@@ -519,6 +472,14 @@ export declare type PlaybackHost = {
519
472
  toggle: () => Promise<void>;
520
473
  seekTo: (seconds: number) => Promise<void>;
521
474
  subscribe: (listener: PlaybackListener) => () => void;
475
+ getVolume: () => Promise<number>;
476
+ setVolume: (volume: number) => Promise<void>;
477
+ isMuted: () => Promise<boolean>;
478
+ setMuted: (muted: boolean) => Promise<void>;
479
+ isShuffleEnabled: () => Promise<boolean>;
480
+ setShuffleEnabled: (enabled: boolean) => Promise<void>;
481
+ getRepeatMode: () => Promise<RepeatMode>;
482
+ setRepeatMode: (mode: RepeatMode) => Promise<void>;
522
483
  };
523
484
 
524
485
  export declare type PlaybackListener = (state: PlaybackState) => void;
@@ -558,82 +519,27 @@ export declare const playlistExportSchema: z.ZodObject<{
558
519
  url: z.ZodString;
559
520
  width: z.ZodOptional<z.ZodNumber>;
560
521
  height: z.ZodOptional<z.ZodNumber>;
561
- purpose: z.ZodOptional<z.ZodEnum<["avatar", "cover", "background", "thumbnail"]>>;
522
+ purpose: z.ZodOptional<z.ZodEnum<{
523
+ avatar: "avatar";
524
+ cover: "cover";
525
+ background: "background";
526
+ thumbnail: "thumbnail";
527
+ }>>;
562
528
  source: z.ZodOptional<z.ZodObject<{
563
529
  provider: z.ZodString;
564
530
  id: z.ZodString;
565
531
  url: z.ZodOptional<z.ZodString>;
566
- }, "strip", z.ZodTypeAny, {
567
- id: string;
568
- provider: string;
569
- url?: string | undefined;
570
- }, {
571
- id: string;
572
- provider: string;
573
- url?: string | undefined;
574
- }>>;
575
- }, "strip", z.ZodTypeAny, {
576
- url: string;
577
- width?: number | undefined;
578
- height?: number | undefined;
579
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
580
- source?: {
581
- id: string;
582
- provider: string;
583
- url?: string | undefined;
584
- } | undefined;
585
- }, {
586
- url: string;
587
- width?: number | undefined;
588
- height?: number | undefined;
589
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
590
- source?: {
591
- id: string;
592
- provider: string;
593
- url?: string | undefined;
594
- } | undefined;
595
- }>, "many">;
596
- }, "strip", z.ZodTypeAny, {
597
- items: {
598
- url: string;
599
- width?: number | undefined;
600
- height?: number | undefined;
601
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
602
- source?: {
603
- id: string;
604
- provider: string;
605
- url?: string | undefined;
606
- } | undefined;
607
- }[];
608
- }, {
609
- items: {
610
- url: string;
611
- width?: number | undefined;
612
- height?: number | undefined;
613
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
614
- source?: {
615
- id: string;
616
- provider: string;
617
- url?: string | undefined;
618
- } | undefined;
619
- }[];
620
- }>>;
621
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
532
+ }, z.core.$strip>>;
533
+ }, z.core.$strip>>;
534
+ }, z.core.$strip>>;
535
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
622
536
  createdAtIso: z.ZodString;
623
537
  lastModifiedIso: z.ZodString;
624
538
  origin: z.ZodOptional<z.ZodObject<{
625
539
  provider: z.ZodString;
626
540
  id: z.ZodString;
627
541
  url: z.ZodOptional<z.ZodString>;
628
- }, "strip", z.ZodTypeAny, {
629
- id: string;
630
- provider: string;
631
- url?: string | undefined;
632
- }, {
633
- id: string;
634
- provider: string;
635
- url?: string | undefined;
636
- }>>;
542
+ }, z.core.$strip>>;
637
543
  isReadOnly: z.ZodBoolean;
638
544
  parentId: z.ZodOptional<z.ZodString>;
639
545
  items: z.ZodArray<z.ZodObject<{
@@ -642,417 +548,25 @@ export declare const playlistExportSchema: z.ZodObject<{
642
548
  title: z.ZodString;
643
549
  artists: z.ZodArray<z.ZodObject<{
644
550
  name: z.ZodString;
645
- roles: z.ZodArray<z.ZodString, "many">;
551
+ roles: z.ZodArray<z.ZodString>;
646
552
  source: z.ZodOptional<z.ZodObject<{
647
553
  provider: z.ZodString;
648
554
  id: z.ZodString;
649
555
  url: z.ZodOptional<z.ZodString>;
650
- }, "strip", z.ZodTypeAny, {
651
- id: string;
652
- provider: string;
653
- url?: string | undefined;
654
- }, {
655
- id: string;
656
- provider: string;
657
- url?: string | undefined;
658
- }>>;
659
- }, "strip", z.ZodTypeAny, {
660
- name: string;
661
- roles: string[];
662
- source?: {
663
- id: string;
664
- provider: string;
665
- url?: string | undefined;
666
- } | undefined;
667
- }, {
668
- name: string;
669
- roles: string[];
670
- source?: {
671
- id: string;
672
- provider: string;
673
- url?: string | undefined;
674
- } | undefined;
675
- }>, "many">;
556
+ }, z.core.$strip>>;
557
+ }, z.core.$strip>>;
676
558
  durationMs: z.ZodOptional<z.ZodNumber>;
677
559
  source: z.ZodObject<{
678
560
  provider: z.ZodString;
679
561
  id: z.ZodString;
680
562
  url: z.ZodOptional<z.ZodString>;
681
- }, "strip", z.ZodTypeAny, {
682
- id: string;
683
- provider: string;
684
- url?: string | undefined;
685
- }, {
686
- id: string;
687
- provider: string;
688
- url?: string | undefined;
689
- }>;
690
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
691
- title: z.ZodString;
692
- artists: z.ZodArray<z.ZodObject<{
693
- name: z.ZodString;
694
- roles: z.ZodArray<z.ZodString, "many">;
695
- source: z.ZodOptional<z.ZodObject<{
696
- provider: z.ZodString;
697
- id: z.ZodString;
698
- url: z.ZodOptional<z.ZodString>;
699
- }, "strip", z.ZodTypeAny, {
700
- id: string;
701
- provider: string;
702
- url?: string | undefined;
703
- }, {
704
- id: string;
705
- provider: string;
706
- url?: string | undefined;
707
- }>>;
708
- }, "strip", z.ZodTypeAny, {
709
- name: string;
710
- roles: string[];
711
- source?: {
712
- id: string;
713
- provider: string;
714
- url?: string | undefined;
715
- } | undefined;
716
- }, {
717
- name: string;
718
- roles: string[];
719
- source?: {
720
- id: string;
721
- provider: string;
722
- url?: string | undefined;
723
- } | undefined;
724
- }>, "many">;
725
- durationMs: z.ZodOptional<z.ZodNumber>;
726
- source: z.ZodObject<{
727
- provider: z.ZodString;
728
- id: z.ZodString;
729
- url: z.ZodOptional<z.ZodString>;
730
- }, "strip", z.ZodTypeAny, {
731
- id: string;
732
- provider: string;
733
- url?: string | undefined;
734
- }, {
735
- id: string;
736
- provider: string;
737
- url?: string | undefined;
738
- }>;
739
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
740
- title: z.ZodString;
741
- artists: z.ZodArray<z.ZodObject<{
742
- name: z.ZodString;
743
- roles: z.ZodArray<z.ZodString, "many">;
744
- source: z.ZodOptional<z.ZodObject<{
745
- provider: z.ZodString;
746
- id: z.ZodString;
747
- url: z.ZodOptional<z.ZodString>;
748
- }, "strip", z.ZodTypeAny, {
749
- id: string;
750
- provider: string;
751
- url?: string | undefined;
752
- }, {
753
- id: string;
754
- provider: string;
755
- url?: string | undefined;
756
- }>>;
757
- }, "strip", z.ZodTypeAny, {
758
- name: string;
759
- roles: string[];
760
- source?: {
761
- id: string;
762
- provider: string;
763
- url?: string | undefined;
764
- } | undefined;
765
- }, {
766
- name: string;
767
- roles: string[];
768
- source?: {
769
- id: string;
770
- provider: string;
771
- url?: string | undefined;
772
- } | undefined;
773
- }>, "many">;
774
- durationMs: z.ZodOptional<z.ZodNumber>;
775
- source: z.ZodObject<{
776
- provider: z.ZodString;
777
- id: z.ZodString;
778
- url: z.ZodOptional<z.ZodString>;
779
- }, "strip", z.ZodTypeAny, {
780
- id: string;
781
- provider: string;
782
- url?: string | undefined;
783
- }, {
784
- id: string;
785
- provider: string;
786
- url?: string | undefined;
787
- }>;
788
- }, z.ZodTypeAny, "passthrough">>;
563
+ }, z.core.$strip>;
564
+ }, z.core.$loose>;
789
565
  note: z.ZodOptional<z.ZodString>;
790
566
  addedAtIso: z.ZodString;
791
- }, "strip", z.ZodTypeAny, {
792
- id: string;
793
- track: {
794
- artists: {
795
- name: string;
796
- roles: string[];
797
- source?: {
798
- id: string;
799
- provider: string;
800
- url?: string | undefined;
801
- } | undefined;
802
- }[];
803
- source: {
804
- id: string;
805
- provider: string;
806
- url?: string | undefined;
807
- };
808
- title: string;
809
- durationMs?: number | undefined;
810
- } & {
811
- [k: string]: unknown;
812
- };
813
- addedAtIso: string;
814
- note?: string | undefined;
815
- }, {
816
- id: string;
817
- track: {
818
- artists: {
819
- name: string;
820
- roles: string[];
821
- source?: {
822
- id: string;
823
- provider: string;
824
- url?: string | undefined;
825
- } | undefined;
826
- }[];
827
- source: {
828
- id: string;
829
- provider: string;
830
- url?: string | undefined;
831
- };
832
- title: string;
833
- durationMs?: number | undefined;
834
- } & {
835
- [k: string]: unknown;
836
- };
837
- addedAtIso: string;
838
- note?: string | undefined;
839
- }>, "many">;
840
- }, "strip", z.ZodTypeAny, {
841
- items: {
842
- id: string;
843
- track: {
844
- artists: {
845
- name: string;
846
- roles: string[];
847
- source?: {
848
- id: string;
849
- provider: string;
850
- url?: string | undefined;
851
- } | undefined;
852
- }[];
853
- source: {
854
- id: string;
855
- provider: string;
856
- url?: string | undefined;
857
- };
858
- title: string;
859
- durationMs?: number | undefined;
860
- } & {
861
- [k: string]: unknown;
862
- };
863
- addedAtIso: string;
864
- note?: string | undefined;
865
- }[];
866
- id: string;
867
- name: string;
868
- createdAtIso: string;
869
- lastModifiedIso: string;
870
- isReadOnly: boolean;
871
- artwork?: {
872
- items: {
873
- url: string;
874
- width?: number | undefined;
875
- height?: number | undefined;
876
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
877
- source?: {
878
- id: string;
879
- provider: string;
880
- url?: string | undefined;
881
- } | undefined;
882
- }[];
883
- } | undefined;
884
- description?: string | undefined;
885
- tags?: string[] | undefined;
886
- origin?: {
887
- id: string;
888
- provider: string;
889
- url?: string | undefined;
890
- } | undefined;
891
- parentId?: string | undefined;
892
- }, {
893
- items: {
894
- id: string;
895
- track: {
896
- artists: {
897
- name: string;
898
- roles: string[];
899
- source?: {
900
- id: string;
901
- provider: string;
902
- url?: string | undefined;
903
- } | undefined;
904
- }[];
905
- source: {
906
- id: string;
907
- provider: string;
908
- url?: string | undefined;
909
- };
910
- title: string;
911
- durationMs?: number | undefined;
912
- } & {
913
- [k: string]: unknown;
914
- };
915
- addedAtIso: string;
916
- note?: string | undefined;
917
- }[];
918
- id: string;
919
- name: string;
920
- createdAtIso: string;
921
- lastModifiedIso: string;
922
- isReadOnly: boolean;
923
- artwork?: {
924
- items: {
925
- url: string;
926
- width?: number | undefined;
927
- height?: number | undefined;
928
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
929
- source?: {
930
- id: string;
931
- provider: string;
932
- url?: string | undefined;
933
- } | undefined;
934
- }[];
935
- } | undefined;
936
- description?: string | undefined;
937
- tags?: string[] | undefined;
938
- origin?: {
939
- id: string;
940
- provider: string;
941
- url?: string | undefined;
942
- } | undefined;
943
- parentId?: string | undefined;
944
- }>;
945
- }, "strip", z.ZodTypeAny, {
946
- version: number;
947
- playlist: {
948
- items: {
949
- id: string;
950
- track: {
951
- artists: {
952
- name: string;
953
- roles: string[];
954
- source?: {
955
- id: string;
956
- provider: string;
957
- url?: string | undefined;
958
- } | undefined;
959
- }[];
960
- source: {
961
- id: string;
962
- provider: string;
963
- url?: string | undefined;
964
- };
965
- title: string;
966
- durationMs?: number | undefined;
967
- } & {
968
- [k: string]: unknown;
969
- };
970
- addedAtIso: string;
971
- note?: string | undefined;
972
- }[];
973
- id: string;
974
- name: string;
975
- createdAtIso: string;
976
- lastModifiedIso: string;
977
- isReadOnly: boolean;
978
- artwork?: {
979
- items: {
980
- url: string;
981
- width?: number | undefined;
982
- height?: number | undefined;
983
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
984
- source?: {
985
- id: string;
986
- provider: string;
987
- url?: string | undefined;
988
- } | undefined;
989
- }[];
990
- } | undefined;
991
- description?: string | undefined;
992
- tags?: string[] | undefined;
993
- origin?: {
994
- id: string;
995
- provider: string;
996
- url?: string | undefined;
997
- } | undefined;
998
- parentId?: string | undefined;
999
- };
1000
- }, {
1001
- version: number;
1002
- playlist: {
1003
- items: {
1004
- id: string;
1005
- track: {
1006
- artists: {
1007
- name: string;
1008
- roles: string[];
1009
- source?: {
1010
- id: string;
1011
- provider: string;
1012
- url?: string | undefined;
1013
- } | undefined;
1014
- }[];
1015
- source: {
1016
- id: string;
1017
- provider: string;
1018
- url?: string | undefined;
1019
- };
1020
- title: string;
1021
- durationMs?: number | undefined;
1022
- } & {
1023
- [k: string]: unknown;
1024
- };
1025
- addedAtIso: string;
1026
- note?: string | undefined;
1027
- }[];
1028
- id: string;
1029
- name: string;
1030
- createdAtIso: string;
1031
- lastModifiedIso: string;
1032
- isReadOnly: boolean;
1033
- artwork?: {
1034
- items: {
1035
- url: string;
1036
- width?: number | undefined;
1037
- height?: number | undefined;
1038
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1039
- source?: {
1040
- id: string;
1041
- provider: string;
1042
- url?: string | undefined;
1043
- } | undefined;
1044
- }[];
1045
- } | undefined;
1046
- description?: string | undefined;
1047
- tags?: string[] | undefined;
1048
- origin?: {
1049
- id: string;
1050
- provider: string;
1051
- url?: string | undefined;
1052
- } | undefined;
1053
- parentId?: string | undefined;
1054
- };
1055
- }>;
567
+ }, z.core.$strip>>;
568
+ }, z.core.$strip>;
569
+ }, z.core.$strip>;
1056
570
 
1057
571
  export declare type PlaylistIndexEntry = Pick<Playlist, 'id' | 'name' | 'createdAtIso' | 'lastModifiedIso' | 'isReadOnly' | 'artwork'> & {
1058
572
  itemCount: number;
@@ -1071,114 +585,23 @@ export declare const playlistIndexEntrySchema: z.ZodObject<{
1071
585
  url: z.ZodString;
1072
586
  width: z.ZodOptional<z.ZodNumber>;
1073
587
  height: z.ZodOptional<z.ZodNumber>;
1074
- purpose: z.ZodOptional<z.ZodEnum<["avatar", "cover", "background", "thumbnail"]>>;
588
+ purpose: z.ZodOptional<z.ZodEnum<{
589
+ avatar: "avatar";
590
+ cover: "cover";
591
+ background: "background";
592
+ thumbnail: "thumbnail";
593
+ }>>;
1075
594
  source: z.ZodOptional<z.ZodObject<{
1076
595
  provider: z.ZodString;
1077
596
  id: z.ZodString;
1078
597
  url: z.ZodOptional<z.ZodString>;
1079
- }, "strip", z.ZodTypeAny, {
1080
- id: string;
1081
- provider: string;
1082
- url?: string | undefined;
1083
- }, {
1084
- id: string;
1085
- provider: string;
1086
- url?: string | undefined;
1087
- }>>;
1088
- }, "strip", z.ZodTypeAny, {
1089
- url: string;
1090
- width?: number | undefined;
1091
- height?: number | undefined;
1092
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1093
- source?: {
1094
- id: string;
1095
- provider: string;
1096
- url?: string | undefined;
1097
- } | undefined;
1098
- }, {
1099
- url: string;
1100
- width?: number | undefined;
1101
- height?: number | undefined;
1102
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1103
- source?: {
1104
- id: string;
1105
- provider: string;
1106
- url?: string | undefined;
1107
- } | undefined;
1108
- }>, "many">;
1109
- }, "strip", z.ZodTypeAny, {
1110
- items: {
1111
- url: string;
1112
- width?: number | undefined;
1113
- height?: number | undefined;
1114
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1115
- source?: {
1116
- id: string;
1117
- provider: string;
1118
- url?: string | undefined;
1119
- } | undefined;
1120
- }[];
1121
- }, {
1122
- items: {
1123
- url: string;
1124
- width?: number | undefined;
1125
- height?: number | undefined;
1126
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1127
- source?: {
1128
- id: string;
1129
- provider: string;
1130
- url?: string | undefined;
1131
- } | undefined;
1132
- }[];
1133
- }>>;
598
+ }, z.core.$strip>>;
599
+ }, z.core.$strip>>;
600
+ }, z.core.$strip>>;
1134
601
  itemCount: z.ZodNumber;
1135
602
  totalDurationMs: z.ZodNumber;
1136
- thumbnails: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1137
- }, "strip", z.ZodTypeAny, {
1138
- id: string;
1139
- name: string;
1140
- createdAtIso: string;
1141
- lastModifiedIso: string;
1142
- isReadOnly: boolean;
1143
- itemCount: number;
1144
- totalDurationMs: number;
1145
- thumbnails: string[];
1146
- artwork?: {
1147
- items: {
1148
- url: string;
1149
- width?: number | undefined;
1150
- height?: number | undefined;
1151
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1152
- source?: {
1153
- id: string;
1154
- provider: string;
1155
- url?: string | undefined;
1156
- } | undefined;
1157
- }[];
1158
- } | undefined;
1159
- }, {
1160
- id: string;
1161
- name: string;
1162
- createdAtIso: string;
1163
- lastModifiedIso: string;
1164
- isReadOnly: boolean;
1165
- itemCount: number;
1166
- totalDurationMs: number;
1167
- artwork?: {
1168
- items: {
1169
- url: string;
1170
- width?: number | undefined;
1171
- height?: number | undefined;
1172
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1173
- source?: {
1174
- id: string;
1175
- provider: string;
1176
- url?: string | undefined;
1177
- } | undefined;
1178
- }[];
1179
- } | undefined;
1180
- thumbnails?: string[] | undefined;
1181
- }>;
603
+ thumbnails: z.ZodDefault<z.ZodArray<z.ZodString>>;
604
+ }, z.core.$strip>;
1182
605
 
1183
606
  export declare const playlistIndexSchema: z.ZodArray<z.ZodObject<{
1184
607
  id: z.ZodString;
@@ -1191,114 +614,23 @@ export declare const playlistIndexSchema: z.ZodArray<z.ZodObject<{
1191
614
  url: z.ZodString;
1192
615
  width: z.ZodOptional<z.ZodNumber>;
1193
616
  height: z.ZodOptional<z.ZodNumber>;
1194
- purpose: z.ZodOptional<z.ZodEnum<["avatar", "cover", "background", "thumbnail"]>>;
617
+ purpose: z.ZodOptional<z.ZodEnum<{
618
+ avatar: "avatar";
619
+ cover: "cover";
620
+ background: "background";
621
+ thumbnail: "thumbnail";
622
+ }>>;
1195
623
  source: z.ZodOptional<z.ZodObject<{
1196
624
  provider: z.ZodString;
1197
625
  id: z.ZodString;
1198
626
  url: z.ZodOptional<z.ZodString>;
1199
- }, "strip", z.ZodTypeAny, {
1200
- id: string;
1201
- provider: string;
1202
- url?: string | undefined;
1203
- }, {
1204
- id: string;
1205
- provider: string;
1206
- url?: string | undefined;
1207
- }>>;
1208
- }, "strip", z.ZodTypeAny, {
1209
- url: string;
1210
- width?: number | undefined;
1211
- height?: number | undefined;
1212
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1213
- source?: {
1214
- id: string;
1215
- provider: string;
1216
- url?: string | undefined;
1217
- } | undefined;
1218
- }, {
1219
- url: string;
1220
- width?: number | undefined;
1221
- height?: number | undefined;
1222
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1223
- source?: {
1224
- id: string;
1225
- provider: string;
1226
- url?: string | undefined;
1227
- } | undefined;
1228
- }>, "many">;
1229
- }, "strip", z.ZodTypeAny, {
1230
- items: {
1231
- url: string;
1232
- width?: number | undefined;
1233
- height?: number | undefined;
1234
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1235
- source?: {
1236
- id: string;
1237
- provider: string;
1238
- url?: string | undefined;
1239
- } | undefined;
1240
- }[];
1241
- }, {
1242
- items: {
1243
- url: string;
1244
- width?: number | undefined;
1245
- height?: number | undefined;
1246
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1247
- source?: {
1248
- id: string;
1249
- provider: string;
1250
- url?: string | undefined;
1251
- } | undefined;
1252
- }[];
1253
- }>>;
627
+ }, z.core.$strip>>;
628
+ }, z.core.$strip>>;
629
+ }, z.core.$strip>>;
1254
630
  itemCount: z.ZodNumber;
1255
631
  totalDurationMs: z.ZodNumber;
1256
- thumbnails: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
1257
- }, "strip", z.ZodTypeAny, {
1258
- id: string;
1259
- name: string;
1260
- createdAtIso: string;
1261
- lastModifiedIso: string;
1262
- isReadOnly: boolean;
1263
- itemCount: number;
1264
- totalDurationMs: number;
1265
- thumbnails: string[];
1266
- artwork?: {
1267
- items: {
1268
- url: string;
1269
- width?: number | undefined;
1270
- height?: number | undefined;
1271
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1272
- source?: {
1273
- id: string;
1274
- provider: string;
1275
- url?: string | undefined;
1276
- } | undefined;
1277
- }[];
1278
- } | undefined;
1279
- }, {
1280
- id: string;
1281
- name: string;
1282
- createdAtIso: string;
1283
- lastModifiedIso: string;
1284
- isReadOnly: boolean;
1285
- itemCount: number;
1286
- totalDurationMs: number;
1287
- artwork?: {
1288
- items: {
1289
- url: string;
1290
- width?: number | undefined;
1291
- height?: number | undefined;
1292
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1293
- source?: {
1294
- id: string;
1295
- provider: string;
1296
- url?: string | undefined;
1297
- } | undefined;
1298
- }[];
1299
- } | undefined;
1300
- thumbnails?: string[] | undefined;
1301
- }>, "many">;
632
+ thumbnails: z.ZodDefault<z.ZodArray<z.ZodString>>;
633
+ }, z.core.$strip>>;
1302
634
 
1303
635
  export declare type PlaylistItem<T extends Track = Track> = {
1304
636
  id: string;
@@ -1343,82 +675,27 @@ export declare const playlistSchema: z.ZodObject<{
1343
675
  url: z.ZodString;
1344
676
  width: z.ZodOptional<z.ZodNumber>;
1345
677
  height: z.ZodOptional<z.ZodNumber>;
1346
- purpose: z.ZodOptional<z.ZodEnum<["avatar", "cover", "background", "thumbnail"]>>;
678
+ purpose: z.ZodOptional<z.ZodEnum<{
679
+ avatar: "avatar";
680
+ cover: "cover";
681
+ background: "background";
682
+ thumbnail: "thumbnail";
683
+ }>>;
1347
684
  source: z.ZodOptional<z.ZodObject<{
1348
685
  provider: z.ZodString;
1349
686
  id: z.ZodString;
1350
687
  url: z.ZodOptional<z.ZodString>;
1351
- }, "strip", z.ZodTypeAny, {
1352
- id: string;
1353
- provider: string;
1354
- url?: string | undefined;
1355
- }, {
1356
- id: string;
1357
- provider: string;
1358
- url?: string | undefined;
1359
- }>>;
1360
- }, "strip", z.ZodTypeAny, {
1361
- url: string;
1362
- width?: number | undefined;
1363
- height?: number | undefined;
1364
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1365
- source?: {
1366
- id: string;
1367
- provider: string;
1368
- url?: string | undefined;
1369
- } | undefined;
1370
- }, {
1371
- url: string;
1372
- width?: number | undefined;
1373
- height?: number | undefined;
1374
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1375
- source?: {
1376
- id: string;
1377
- provider: string;
1378
- url?: string | undefined;
1379
- } | undefined;
1380
- }>, "many">;
1381
- }, "strip", z.ZodTypeAny, {
1382
- items: {
1383
- url: string;
1384
- width?: number | undefined;
1385
- height?: number | undefined;
1386
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1387
- source?: {
1388
- id: string;
1389
- provider: string;
1390
- url?: string | undefined;
1391
- } | undefined;
1392
- }[];
1393
- }, {
1394
- items: {
1395
- url: string;
1396
- width?: number | undefined;
1397
- height?: number | undefined;
1398
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1399
- source?: {
1400
- id: string;
1401
- provider: string;
1402
- url?: string | undefined;
1403
- } | undefined;
1404
- }[];
1405
- }>>;
1406
- tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
688
+ }, z.core.$strip>>;
689
+ }, z.core.$strip>>;
690
+ }, z.core.$strip>>;
691
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
1407
692
  createdAtIso: z.ZodString;
1408
693
  lastModifiedIso: z.ZodString;
1409
694
  origin: z.ZodOptional<z.ZodObject<{
1410
695
  provider: z.ZodString;
1411
696
  id: z.ZodString;
1412
697
  url: z.ZodOptional<z.ZodString>;
1413
- }, "strip", z.ZodTypeAny, {
1414
- id: string;
1415
- provider: string;
1416
- url?: string | undefined;
1417
- }, {
1418
- id: string;
1419
- provider: string;
1420
- url?: string | undefined;
1421
- }>>;
698
+ }, z.core.$strip>>;
1422
699
  isReadOnly: z.ZodBoolean;
1423
700
  parentId: z.ZodOptional<z.ZodString>;
1424
701
  items: z.ZodArray<z.ZodObject<{
@@ -1427,306 +704,24 @@ export declare const playlistSchema: z.ZodObject<{
1427
704
  title: z.ZodString;
1428
705
  artists: z.ZodArray<z.ZodObject<{
1429
706
  name: z.ZodString;
1430
- roles: z.ZodArray<z.ZodString, "many">;
1431
- source: z.ZodOptional<z.ZodObject<{
1432
- provider: z.ZodString;
1433
- id: z.ZodString;
1434
- url: z.ZodOptional<z.ZodString>;
1435
- }, "strip", z.ZodTypeAny, {
1436
- id: string;
1437
- provider: string;
1438
- url?: string | undefined;
1439
- }, {
1440
- id: string;
1441
- provider: string;
1442
- url?: string | undefined;
1443
- }>>;
1444
- }, "strip", z.ZodTypeAny, {
1445
- name: string;
1446
- roles: string[];
1447
- source?: {
1448
- id: string;
1449
- provider: string;
1450
- url?: string | undefined;
1451
- } | undefined;
1452
- }, {
1453
- name: string;
1454
- roles: string[];
1455
- source?: {
1456
- id: string;
1457
- provider: string;
1458
- url?: string | undefined;
1459
- } | undefined;
1460
- }>, "many">;
1461
- durationMs: z.ZodOptional<z.ZodNumber>;
1462
- source: z.ZodObject<{
1463
- provider: z.ZodString;
1464
- id: z.ZodString;
1465
- url: z.ZodOptional<z.ZodString>;
1466
- }, "strip", z.ZodTypeAny, {
1467
- id: string;
1468
- provider: string;
1469
- url?: string | undefined;
1470
- }, {
1471
- id: string;
1472
- provider: string;
1473
- url?: string | undefined;
1474
- }>;
1475
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1476
- title: z.ZodString;
1477
- artists: z.ZodArray<z.ZodObject<{
1478
- name: z.ZodString;
1479
- roles: z.ZodArray<z.ZodString, "many">;
1480
- source: z.ZodOptional<z.ZodObject<{
1481
- provider: z.ZodString;
1482
- id: z.ZodString;
1483
- url: z.ZodOptional<z.ZodString>;
1484
- }, "strip", z.ZodTypeAny, {
1485
- id: string;
1486
- provider: string;
1487
- url?: string | undefined;
1488
- }, {
1489
- id: string;
1490
- provider: string;
1491
- url?: string | undefined;
1492
- }>>;
1493
- }, "strip", z.ZodTypeAny, {
1494
- name: string;
1495
- roles: string[];
1496
- source?: {
1497
- id: string;
1498
- provider: string;
1499
- url?: string | undefined;
1500
- } | undefined;
1501
- }, {
1502
- name: string;
1503
- roles: string[];
1504
- source?: {
1505
- id: string;
1506
- provider: string;
1507
- url?: string | undefined;
1508
- } | undefined;
1509
- }>, "many">;
1510
- durationMs: z.ZodOptional<z.ZodNumber>;
1511
- source: z.ZodObject<{
1512
- provider: z.ZodString;
1513
- id: z.ZodString;
1514
- url: z.ZodOptional<z.ZodString>;
1515
- }, "strip", z.ZodTypeAny, {
1516
- id: string;
1517
- provider: string;
1518
- url?: string | undefined;
1519
- }, {
1520
- id: string;
1521
- provider: string;
1522
- url?: string | undefined;
1523
- }>;
1524
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1525
- title: z.ZodString;
1526
- artists: z.ZodArray<z.ZodObject<{
1527
- name: z.ZodString;
1528
- roles: z.ZodArray<z.ZodString, "many">;
707
+ roles: z.ZodArray<z.ZodString>;
1529
708
  source: z.ZodOptional<z.ZodObject<{
1530
709
  provider: z.ZodString;
1531
710
  id: z.ZodString;
1532
711
  url: z.ZodOptional<z.ZodString>;
1533
- }, "strip", z.ZodTypeAny, {
1534
- id: string;
1535
- provider: string;
1536
- url?: string | undefined;
1537
- }, {
1538
- id: string;
1539
- provider: string;
1540
- url?: string | undefined;
1541
- }>>;
1542
- }, "strip", z.ZodTypeAny, {
1543
- name: string;
1544
- roles: string[];
1545
- source?: {
1546
- id: string;
1547
- provider: string;
1548
- url?: string | undefined;
1549
- } | undefined;
1550
- }, {
1551
- name: string;
1552
- roles: string[];
1553
- source?: {
1554
- id: string;
1555
- provider: string;
1556
- url?: string | undefined;
1557
- } | undefined;
1558
- }>, "many">;
712
+ }, z.core.$strip>>;
713
+ }, z.core.$strip>>;
1559
714
  durationMs: z.ZodOptional<z.ZodNumber>;
1560
715
  source: z.ZodObject<{
1561
716
  provider: z.ZodString;
1562
717
  id: z.ZodString;
1563
718
  url: z.ZodOptional<z.ZodString>;
1564
- }, "strip", z.ZodTypeAny, {
1565
- id: string;
1566
- provider: string;
1567
- url?: string | undefined;
1568
- }, {
1569
- id: string;
1570
- provider: string;
1571
- url?: string | undefined;
1572
- }>;
1573
- }, z.ZodTypeAny, "passthrough">>;
719
+ }, z.core.$strip>;
720
+ }, z.core.$loose>;
1574
721
  note: z.ZodOptional<z.ZodString>;
1575
722
  addedAtIso: z.ZodString;
1576
- }, "strip", z.ZodTypeAny, {
1577
- id: string;
1578
- track: {
1579
- artists: {
1580
- name: string;
1581
- roles: string[];
1582
- source?: {
1583
- id: string;
1584
- provider: string;
1585
- url?: string | undefined;
1586
- } | undefined;
1587
- }[];
1588
- source: {
1589
- id: string;
1590
- provider: string;
1591
- url?: string | undefined;
1592
- };
1593
- title: string;
1594
- durationMs?: number | undefined;
1595
- } & {
1596
- [k: string]: unknown;
1597
- };
1598
- addedAtIso: string;
1599
- note?: string | undefined;
1600
- }, {
1601
- id: string;
1602
- track: {
1603
- artists: {
1604
- name: string;
1605
- roles: string[];
1606
- source?: {
1607
- id: string;
1608
- provider: string;
1609
- url?: string | undefined;
1610
- } | undefined;
1611
- }[];
1612
- source: {
1613
- id: string;
1614
- provider: string;
1615
- url?: string | undefined;
1616
- };
1617
- title: string;
1618
- durationMs?: number | undefined;
1619
- } & {
1620
- [k: string]: unknown;
1621
- };
1622
- addedAtIso: string;
1623
- note?: string | undefined;
1624
- }>, "many">;
1625
- }, "strip", z.ZodTypeAny, {
1626
- items: {
1627
- id: string;
1628
- track: {
1629
- artists: {
1630
- name: string;
1631
- roles: string[];
1632
- source?: {
1633
- id: string;
1634
- provider: string;
1635
- url?: string | undefined;
1636
- } | undefined;
1637
- }[];
1638
- source: {
1639
- id: string;
1640
- provider: string;
1641
- url?: string | undefined;
1642
- };
1643
- title: string;
1644
- durationMs?: number | undefined;
1645
- } & {
1646
- [k: string]: unknown;
1647
- };
1648
- addedAtIso: string;
1649
- note?: string | undefined;
1650
- }[];
1651
- id: string;
1652
- name: string;
1653
- createdAtIso: string;
1654
- lastModifiedIso: string;
1655
- isReadOnly: boolean;
1656
- artwork?: {
1657
- items: {
1658
- url: string;
1659
- width?: number | undefined;
1660
- height?: number | undefined;
1661
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1662
- source?: {
1663
- id: string;
1664
- provider: string;
1665
- url?: string | undefined;
1666
- } | undefined;
1667
- }[];
1668
- } | undefined;
1669
- description?: string | undefined;
1670
- tags?: string[] | undefined;
1671
- origin?: {
1672
- id: string;
1673
- provider: string;
1674
- url?: string | undefined;
1675
- } | undefined;
1676
- parentId?: string | undefined;
1677
- }, {
1678
- items: {
1679
- id: string;
1680
- track: {
1681
- artists: {
1682
- name: string;
1683
- roles: string[];
1684
- source?: {
1685
- id: string;
1686
- provider: string;
1687
- url?: string | undefined;
1688
- } | undefined;
1689
- }[];
1690
- source: {
1691
- id: string;
1692
- provider: string;
1693
- url?: string | undefined;
1694
- };
1695
- title: string;
1696
- durationMs?: number | undefined;
1697
- } & {
1698
- [k: string]: unknown;
1699
- };
1700
- addedAtIso: string;
1701
- note?: string | undefined;
1702
- }[];
1703
- id: string;
1704
- name: string;
1705
- createdAtIso: string;
1706
- lastModifiedIso: string;
1707
- isReadOnly: boolean;
1708
- artwork?: {
1709
- items: {
1710
- url: string;
1711
- width?: number | undefined;
1712
- height?: number | undefined;
1713
- purpose?: "avatar" | "cover" | "background" | "thumbnail" | undefined;
1714
- source?: {
1715
- id: string;
1716
- provider: string;
1717
- url?: string | undefined;
1718
- } | undefined;
1719
- }[];
1720
- } | undefined;
1721
- description?: string | undefined;
1722
- tags?: string[] | undefined;
1723
- origin?: {
1724
- id: string;
1725
- provider: string;
1726
- url?: string | undefined;
1727
- } | undefined;
1728
- parentId?: string | undefined;
1729
- }>;
723
+ }, z.core.$strip>>;
724
+ }, z.core.$strip>;
1730
725
 
1731
726
  export declare type PlaylistsHost = {
1732
727
  getIndex: () => Promise<PlaylistIndexEntry[]>;
@@ -1802,22 +797,24 @@ declare class Providers {
1802
797
  register<T extends ProviderDescriptor>(p: T): string;
1803
798
  unregister(id: string): boolean;
1804
799
  list<K extends ProviderKind = ProviderKind>(kind?: K): ProviderDescriptor<K>[];
1805
- get<T extends ProviderDescriptor>(id: string, kind: ProviderKind): T | undefined;
800
+ get<T extends ProviderDescriptor>(id: string | undefined, kind: ProviderKind): T | undefined;
801
+ subscribe(listener: () => void): () => void;
1806
802
  }
1807
803
 
1808
804
  export declare type ProvidersHost = {
1809
805
  register<T extends ProviderDescriptor>(provider: T): string;
1810
806
  unregister(providerId: string): boolean;
1811
807
  list<K extends ProviderKind = ProviderKind>(kind?: K): ProviderDescriptor<K>[];
1812
- get<T extends ProviderDescriptor>(providerId: string, kind: ProviderKind): T | undefined;
808
+ get<T extends ProviderDescriptor>(providerId: string | undefined, kind: ProviderKind): T | undefined;
1813
809
  clear(): void;
810
+ getActive(kind: ProviderKind): string | undefined;
811
+ setActive(kind: ProviderKind, providerId: string): void;
812
+ subscribe(listener: () => void): () => void;
1814
813
  };
1815
814
 
1816
815
  export declare type Queue = {
1817
816
  items: QueueItem[];
1818
817
  currentIndex: number;
1819
- repeatMode: RepeatMode;
1820
- shuffleEnabled: boolean;
1821
818
  };
1822
819
 
1823
820
  declare class QueueAPI {
@@ -1837,8 +834,6 @@ declare class QueueAPI {
1837
834
  goToPrevious(): Promise<void>;
1838
835
  goToIndex(index: number): Promise<void>;
1839
836
  goToId(id: string): Promise<void>;
1840
- setRepeatMode(mode: RepeatMode): Promise<void>;
1841
- setShuffleEnabled(enabled: boolean): Promise<void>;
1842
837
  subscribe(listener: (queue: Queue) => void): () => void;
1843
838
  subscribeToCurrentItem(listener: (item: QueueItem | undefined) => void): () => void;
1844
839
  }
@@ -1858,8 +853,6 @@ export declare type QueueHost = {
1858
853
  goToPrevious: () => Promise<void>;
1859
854
  goToIndex: (index: number) => Promise<void>;
1860
855
  goToId: (id: string) => Promise<void>;
1861
- setRepeatMode: (mode: RepeatMode) => Promise<void>;
1862
- setShuffleEnabled: (enabled: boolean) => Promise<void>;
1863
856
  subscribe: (listener: QueueListener) => () => void;
1864
857
  subscribeToCurrentItem: (listener: QueueItemListener) => () => void;
1865
858
  };
@@ -2067,11 +1060,27 @@ export declare class YtdlpAPI {
2067
1060
  get available(): boolean;
2068
1061
  search(query: string, maxResults?: number): Promise<YtdlpSearchResult[]>;
2069
1062
  getStream(videoId: string): Promise<YtdlpStreamInfo>;
1063
+ getPlaylist(url: string): Promise<YtdlpPlaylistInfo>;
2070
1064
  }
2071
1065
 
2072
1066
  export declare type YtdlpHost = {
2073
1067
  search: (query: string, maxResults?: number) => Promise<YtdlpSearchResult[]>;
2074
1068
  getStream: (videoId: string) => Promise<YtdlpStreamInfo>;
1069
+ getPlaylist: (url: string) => Promise<YtdlpPlaylistInfo>;
1070
+ };
1071
+
1072
+ export declare type YtdlpPlaylistEntry = {
1073
+ id: string;
1074
+ title: string;
1075
+ duration: number | null;
1076
+ thumbnails: YtdlpThumbnail[];
1077
+ channel: string | null;
1078
+ };
1079
+
1080
+ export declare type YtdlpPlaylistInfo = {
1081
+ id: string;
1082
+ title: string;
1083
+ entries: YtdlpPlaylistEntry[];
2075
1084
  };
2076
1085
 
2077
1086
  export declare type YtdlpSearchResult = {
@@ -2085,6 +1094,14 @@ export declare type YtdlpStreamInfo = {
2085
1094
  stream_url: string;
2086
1095
  duration: number | null;
2087
1096
  title: string | null;
1097
+ container: string | null;
1098
+ codec: string | null;
1099
+ };
1100
+
1101
+ export declare type YtdlpThumbnail = {
1102
+ url: string;
1103
+ width: number | null;
1104
+ height: number | null;
2088
1105
  };
2089
1106
 
2090
1107
  export { }