@dcl/schemas 7.3.3 → 7.3.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.
@@ -0,0 +1,2219 @@
1
+ import Ajv from 'ajv';
2
+ import { ErrorObject } from 'ajv';
3
+ import { JSONSchemaType } from 'ajv';
4
+ import { KeywordDefinition } from 'ajv';
5
+
6
+ /**
7
+ * Common structure to use types as values in TS.
8
+ * @public
9
+ */
10
+ export declare type AbstractTypedSchema<T> = {
11
+ schema: JSONSchema<T>;
12
+ validate: ValidateFunction<T>;
13
+ };
14
+
15
+ export declare type Account = {
16
+ id: string;
17
+ address: string;
18
+ sales: number;
19
+ purchases: number;
20
+ spent: string;
21
+ earned: string;
22
+ royalties: string;
23
+ collections: number;
24
+ };
25
+
26
+ export declare namespace Account {
27
+ const schema: JSONSchema<Account>;
28
+ const validate: ValidateFunction<Account>;
29
+ }
30
+
31
+ export declare type AccountFilters = {
32
+ first?: number;
33
+ skip?: number;
34
+ sortBy?: AccountSortBy;
35
+ id?: string;
36
+ address?: string[];
37
+ network?: Network;
38
+ };
39
+
40
+ export declare enum AccountSortBy {
41
+ MOST_SALES = "most_sales",
42
+ MOST_PURCHASES = "most_purchases",
43
+ MOST_SPENT = "most_spent",
44
+ MOST_EARNED = "most_earned",
45
+ MOST_ROYALTIES = "most_royalties",
46
+ MOST_COLLECTIONS = "most_collections"
47
+ }
48
+
49
+ /** @public */
50
+ declare type Actions = typeof SCENE_UPDATE | typeof UPDATE;
51
+
52
+ export { Ajv }
53
+
54
+ export declare type AnalyticsDayData = {
55
+ id: string;
56
+ date: number;
57
+ sales: number;
58
+ volume: string;
59
+ creatorsEarnings: string;
60
+ daoEarnings: string;
61
+ };
62
+
63
+ export declare type AnalyticsDayDataFilters = {
64
+ from?: number;
65
+ network?: Network;
66
+ };
67
+
68
+ export declare enum AnalyticsDayDataSortBy {
69
+ DATE = "date",
70
+ MOST_SALES = "most_sales"
71
+ }
72
+
73
+ /**
74
+ * AuthChain is an array of elements used to create and verify signatures
75
+ * and ephemeral keys.
76
+ *
77
+ * @public
78
+ */
79
+ export declare type AuthChain = AuthLink[];
80
+
81
+ /** @public */
82
+ export declare namespace AuthChain {
83
+ const schema: JSONSchema<AuthChain>;
84
+ const validate: ValidateFunction<AuthChain>;
85
+ }
86
+
87
+ /**
88
+ * @public
89
+ */
90
+ export declare type AuthLink = {
91
+ type: AuthLinkType;
92
+ payload: string;
93
+ signature?: string;
94
+ };
95
+
96
+ /**
97
+ * @public
98
+ */
99
+ export declare namespace AuthLink {
100
+ const schema: JSONSchema<AuthLink>;
101
+ const validate: ValidateFunction<AuthLink>;
102
+ }
103
+
104
+ /**
105
+ * @public
106
+ */
107
+ export declare enum AuthLinkType {
108
+ 'SIGNER' = "SIGNER",
109
+ 'ECDSA_PERSONAL_EPHEMERAL' = "ECDSA_EPHEMERAL",
110
+ 'ECDSA_PERSONAL_SIGNED_ENTITY' = "ECDSA_SIGNED_ENTITY",
111
+ /**
112
+ * See https://github.com/ethereum/EIPs/issues/1654
113
+ */
114
+ 'ECDSA_EIP_1654_EPHEMERAL' = "ECDSA_EIP_1654_EPHEMERAL",
115
+ /**
116
+ * See https://github.com/ethereum/EIPs/issues/1654
117
+ */
118
+ 'ECDSA_EIP_1654_SIGNED_ENTITY' = "ECDSA_EIP_1654_SIGNED_ENTITY"
119
+ }
120
+
121
+ /**
122
+ * Avatar represents a profile avatar. Used both for comms, internal state of the
123
+ * explorer and the deployed profiles.
124
+ * @alpha
125
+ */
126
+ export declare type Avatar = {
127
+ userId: string;
128
+ name: string;
129
+ description: string;
130
+ links?: Link[];
131
+ ethAddress: EthAddress;
132
+ version: number;
133
+ tutorialStep: number;
134
+ email?: string;
135
+ blocked?: string[];
136
+ muted?: string[];
137
+ interests?: string[];
138
+ hasClaimedName: boolean;
139
+ avatar: AvatarInfo;
140
+ /**
141
+ * Whether the player has connected web3 wallet or is a guest user.
142
+ * This is always true for deployed profiles.
143
+ */
144
+ hasConnectedWeb3?: boolean;
145
+ };
146
+
147
+ /**
148
+ * Avatar
149
+ * @alpha
150
+ */
151
+ export declare namespace Avatar {
152
+ const schema: JSONSchema<Avatar>;
153
+ const validate: ValidateFunction<Avatar>;
154
+ }
155
+
156
+ /**
157
+ * AvatarInfo
158
+ * @alpha
159
+ */
160
+ export declare type AvatarInfo = {
161
+ bodyShape: WearableId;
162
+ eyes: {
163
+ color: Color3;
164
+ };
165
+ hair: {
166
+ color: Color3;
167
+ };
168
+ skin: {
169
+ color: Color3;
170
+ };
171
+ wearables: WearableId[];
172
+ forceRender?: WearableCategory[];
173
+ emotes?: {
174
+ slot: number;
175
+ urn: string;
176
+ }[];
177
+ snapshots: Snapshots;
178
+ };
179
+
180
+ /**
181
+ * AvatarInfo
182
+ * @alpha
183
+ */
184
+ export declare namespace AvatarInfo {
185
+ const schema: JSONSchema<AvatarInfo>;
186
+ const validate: ValidateFunction<AvatarInfo>;
187
+ }
188
+
189
+ /**
190
+ * @public
191
+ *
192
+ * Describes common properties to an item of a collection.
193
+ */
194
+ declare type BaseItem = DisplayableDeployment & {
195
+ id: string;
196
+ name: string;
197
+ description: string;
198
+ i18n: I18N[];
199
+ thumbnail: string;
200
+ image: string;
201
+ metrics?: Metrics;
202
+ };
203
+
204
+ export declare type Bid = {
205
+ id: string;
206
+ bidAddress: string;
207
+ bidder: string;
208
+ seller: string;
209
+ price: string;
210
+ fingerprint: string;
211
+ status: ListingStatus;
212
+ blockchainId: string;
213
+ blockNumber: string;
214
+ expiresAt: number;
215
+ createdAt: number;
216
+ updatedAt: number;
217
+ contractAddress: string;
218
+ tokenId: string;
219
+ network: Network;
220
+ chainId: ChainId;
221
+ };
222
+
223
+ export declare namespace Bid {
224
+ const schema: JSONSchema<Bid>;
225
+ const validate: ValidateFunction<Bid>;
226
+ }
227
+
228
+ export declare type BidFilters = {
229
+ first?: number;
230
+ skip?: number;
231
+ sortBy?: BidSortBy;
232
+ bidAddress?: string;
233
+ bidder?: string;
234
+ seller?: string;
235
+ contractAddress?: string;
236
+ tokenId?: string;
237
+ status?: ListingStatus;
238
+ network?: Network;
239
+ };
240
+
241
+ export declare enum BidSortBy {
242
+ RECENTLY_OFFERED = "recently_offered",
243
+ RECENTLY_UPDATED = "recently_updated",
244
+ MOST_EXPENSIVE = "most_expensive"
245
+ }
246
+
247
+ /** @alpha */
248
+ export declare enum BodyShape {
249
+ MALE = "urn:decentraland:off-chain:base-avatars:BaseMale",
250
+ FEMALE = "urn:decentraland:off-chain:base-avatars:BaseFemale"
251
+ }
252
+
253
+ /** @alpha */
254
+ export declare namespace BodyShape {
255
+ const schema: JSONSchema<BodyShape>;
256
+ const validate: ValidateFunction<BodyShape>;
257
+ }
258
+
259
+ /**
260
+ * All the possible Marketplace's catalog filters.
261
+ * @public
262
+ */
263
+ export declare type CatalogFilters = Pick<ItemFilters, 'ids' | 'first' | 'skip' | 'category' | 'creator' | 'isSoldOut' | 'isOnSale' | 'search' | 'isWearableHead' | 'isWearableSmart' | 'isWearableAccessory' | 'isWearableAccessory' | 'wearableCategory' | 'rarities' | 'wearableGenders' | 'emoteCategory' | 'emoteGenders' | 'emotePlayMode' | 'contractAddresses' | 'itemId' | 'network' | 'minPrice' | 'maxPrice'> & {
264
+ onlyMinting?: boolean;
265
+ onlyListing?: boolean;
266
+ sortBy?: CatalogSortBy;
267
+ sortDirection?: CatalogSortDirection;
268
+ limit?: number;
269
+ offset?: number;
270
+ };
271
+
272
+ /**
273
+ * All the possible sort options for the Marketplace's catalog.
274
+ * @public
275
+ */
276
+ export declare enum CatalogSortBy {
277
+ NEWEST = "newest",
278
+ RECENTLY_SOLD = "recently_sold",
279
+ CHEAPEST = "cheapest",
280
+ MOST_EXPENSIVE = "most_expensive",
281
+ RECENTLY_LISTED = "recently_listed"
282
+ }
283
+
284
+ /**
285
+ * All the possible sort directions.
286
+ * @public
287
+ */
288
+ export declare enum CatalogSortDirection {
289
+ ASC = "asc",
290
+ DESC = "desc"
291
+ }
292
+
293
+ /**
294
+ * Different supported chain ids
295
+ * @alpha
296
+ */
297
+ export declare enum ChainId {
298
+ ETHEREUM_MAINNET = 1,
299
+ ETHEREUM_ROPSTEN = 3,
300
+ ETHEREUM_RINKEBY = 4,
301
+ ETHEREUM_GOERLI = 5,
302
+ ETHEREUM_KOVAN = 42,
303
+ MATIC_MAINNET = 137,
304
+ MATIC_MUMBAI = 80001
305
+ }
306
+
307
+ /**
308
+ * @alpha
309
+ */
310
+ export declare namespace ChainId {
311
+ const schema: JSONSchema<ChainId>;
312
+ const validate: ValidateFunction<ChainId>;
313
+ }
314
+
315
+ /**
316
+ * Different supported chain names
317
+ * @alpha
318
+ */
319
+ export declare enum ChainName {
320
+ ETHEREUM_MAINNET = "Ethereum Mainnet",
321
+ ETHEREUM_ROPSTEN = "Ropsten",
322
+ ETHEREUM_RINKEBY = "Rinkeby",
323
+ ETHEREUM_GOERLI = "Goerli",
324
+ ETHEREUM_KOVAN = "Kovan",
325
+ MATIC_MAINNET = "Polygon",
326
+ MATIC_MUMBAI = "Mumbai"
327
+ }
328
+
329
+ /**
330
+ * @alpha
331
+ */
332
+ export declare namespace ChainName {
333
+ const schema: JSONSchema<ChainName>;
334
+ const validate: ValidateFunction<ChainName>;
335
+ }
336
+
337
+ export declare type Collection = {
338
+ urn: string;
339
+ name: string;
340
+ creator: string;
341
+ contractAddress: string;
342
+ isOnSale: boolean;
343
+ size: number;
344
+ createdAt: number;
345
+ updatedAt: number;
346
+ reviewedAt: number;
347
+ network: Network;
348
+ chainId: ChainId;
349
+ /** The timestamp in seconds since epoch when the collection was listed for sale for the first time */
350
+ firstListedAt: number | null;
351
+ };
352
+
353
+ export declare namespace Collection {
354
+ const schema: JSONSchema<Collection>;
355
+ const validate: ValidateFunction<Collection>;
356
+ }
357
+
358
+ export declare type CollectionFilters = {
359
+ first?: number;
360
+ skip?: number;
361
+ sortBy?: CollectionSortBy;
362
+ name?: string;
363
+ search?: string;
364
+ creator?: string;
365
+ contractAddress?: string;
366
+ urn?: string;
367
+ isOnSale?: boolean;
368
+ network?: Network;
369
+ };
370
+
371
+ export declare enum CollectionSortBy {
372
+ NEWEST = "newest",
373
+ NAME = "name",
374
+ RECENTLY_REVIEWED = "recently_reviewed",
375
+ RECENTLY_LISTED = "recently_listed",
376
+ SIZE = "size"
377
+ }
378
+
379
+ /**
380
+ * Color3 is a data type that describes a color using R, G and B components
381
+ * @alpha
382
+ */
383
+ export declare type Color3 = {
384
+ r: number;
385
+ g: number;
386
+ b: number;
387
+ };
388
+
389
+ /**
390
+ * Color3
391
+ * @alpha
392
+ */
393
+ export declare namespace Color3 {
394
+ const schema: JSONSchema<Color3>;
395
+ const validate: ValidateFunction<Color3>;
396
+ }
397
+
398
+ /**
399
+ * Represents a content mapping. The Decentraland file system is
400
+ * case-insensitive. `file` must be lower cased.
401
+ *
402
+ * Duplicated files will throw a validation error.
403
+ *
404
+ * .file is a relative path
405
+ * .hash is a valid IPFS hash.
406
+ *
407
+ * @public
408
+ */
409
+ export declare type ContentMapping = {
410
+ file: string;
411
+ hash: IPFSv1 | IPFSv2;
412
+ };
413
+
414
+ /** @public */
415
+ export declare namespace ContentMapping {
416
+ const schema: JSONSchema<ContentMapping>;
417
+ const validate: ValidateFunction<ContentMapping>;
418
+ }
419
+
420
+ export declare type Contract = {
421
+ name: string;
422
+ address: string;
423
+ category: NFTCategory;
424
+ network: Network;
425
+ chainId: ChainId;
426
+ };
427
+
428
+ export declare namespace Contract {
429
+ const schema: JSONSchema<Contract>;
430
+ const validate: ValidateFunction<Contract>;
431
+ }
432
+
433
+ export declare type ContractFilters = {
434
+ category?: NFTCategory;
435
+ network?: Network;
436
+ };
437
+
438
+ export declare enum ContractSortBy {
439
+ NAME = "name"
440
+ }
441
+
442
+ /**
443
+ * This type describes the minimum deployment + AuthChain needed to synchronize
444
+ * a deployed entity across catalysts.
445
+ * @public @deprecated
446
+ */
447
+ export declare type DeploymentWithAuthChain = {
448
+ entityId: string;
449
+ entityType: string;
450
+ pointers: string[];
451
+ localTimestamp: number;
452
+ authChain: AuthChain;
453
+ };
454
+
455
+ /**
456
+ * @public
457
+ * @deprecated use SyncDeployment instead
458
+ */
459
+ export declare namespace DeploymentWithAuthChain {
460
+ const schema: JSONSchema<DeploymentWithAuthChain>;
461
+ const validate: ValidateFunction<DeploymentWithAuthChain>;
462
+ }
463
+
464
+ /**
465
+ * @public
466
+ *
467
+ * Describes common properties to display deployments.
468
+ */
469
+ export declare type DisplayableDeployment = {
470
+ /** Name of the file used as icon for the MenuBar */
471
+ menuBarIcon?: string;
472
+ };
473
+
474
+ /**
475
+ * Configuration for deploying a DreamSpace
476
+ *
477
+ * @alpha
478
+ */
479
+ export declare type DreamSpaceConfiguration = {
480
+ name: string;
481
+ miniMapConfig?: MiniMapConfiguration;
482
+ skyboxConfig?: SkyboxConfiguration;
483
+ fixedAdapter?: string;
484
+ placesConfig?: {
485
+ optOut?: boolean;
486
+ };
487
+ };
488
+
489
+ /** @alpha */
490
+ export declare namespace DreamSpaceConfiguration {
491
+ const schema: JSONSchema<DreamSpaceConfiguration>;
492
+ const validate: ValidateFunction<DreamSpaceConfiguration>;
493
+ }
494
+
495
+ /** @alpha */
496
+ export declare type Emote = EmoteADR74;
497
+
498
+ /** @alpha */
499
+ export declare namespace Emote {
500
+ const schema: JSONSchema<Emote>;
501
+ const validate: ValidateFunction<EmoteADR74>;
502
+ }
503
+
504
+ declare type EmoteADR74 = BaseItem & (StandardProps | ThirdPartyProps) & {
505
+ emoteDataADR74: EmoteDataADR74;
506
+ };
507
+
508
+ export declare enum EmoteCategory {
509
+ DANCE = "dance",
510
+ STUNT = "stunt",
511
+ GREETINGS = "greetings",
512
+ FUN = "fun",
513
+ POSES = "poses",
514
+ REACTIONS = "reactions",
515
+ HORROR = "horror",
516
+ MISCELLANEOUS = "miscellaneous"
517
+ }
518
+
519
+ export declare namespace EmoteCategory {
520
+ const schema: JSONSchema<EmoteCategory>;
521
+ const validate: ValidateFunction<EmoteCategory>;
522
+ }
523
+
524
+ export declare type EmoteDataADR74 = {
525
+ category: EmoteCategory;
526
+ representations: EmoteRepresentationADR74[];
527
+ tags: string[];
528
+ loop: boolean;
529
+ };
530
+
531
+ export declare namespace EmoteDataADR74 {
532
+ const schema: JSONSchema<EmoteDataADR74>;
533
+ const validate: ValidateFunction<EmoteDataADR74>;
534
+ }
535
+
536
+ export declare type EmoteDefinition = Omit<Emote, 'emoteDataADR74'> & {
537
+ emoteDataADR74: Omit<Emote['emoteDataADR74'], 'representations'> & {
538
+ representations: EmoteRepresentationDefinition[];
539
+ };
540
+ };
541
+
542
+ declare type EmoteEventPayload<T extends PreviewEmoteEventType> = T extends PreviewEmoteEventType.ANIMATION_PLAYING ? {
543
+ length: number;
544
+ } : undefined;
545
+
546
+ export declare enum EmotePlayMode {
547
+ SIMPLE = "simple",
548
+ LOOP = "loop"
549
+ }
550
+
551
+ export declare namespace EmotePlayMode {
552
+ const schema: JSONSchema<EmotePlayMode>;
553
+ const validate: ValidateFunction<EmotePlayMode>;
554
+ }
555
+
556
+ /** @alpha */
557
+ export declare type EmoteRepresentationADR74 = {
558
+ bodyShapes: BodyShape[];
559
+ mainFile: string;
560
+ contents: string[];
561
+ };
562
+
563
+ /** @alpha */
564
+ export declare namespace EmoteRepresentationADR74 {
565
+ const schema: JSONSchema<EmoteRepresentationADR74>;
566
+ const validate: ValidateFunction<EmoteRepresentationADR74>;
567
+ }
568
+
569
+ /** @alpha */
570
+ export declare type EmoteRepresentationDefinition = Omit<EmoteRepresentationADR74, 'contents'> & {
571
+ contents: {
572
+ key: string;
573
+ url: string;
574
+ }[];
575
+ };
576
+
577
+ /** @alpha */
578
+ export declare type EmoteRepresentationWithBlobs = Omit<EmoteRepresentationDefinition, 'contents'> & {
579
+ contents: {
580
+ key: string;
581
+ blob: any;
582
+ }[];
583
+ };
584
+
585
+ /** @alpha */
586
+ export declare type EmoteWithBlobs = Omit<EmoteDefinition, 'emoteDataADR74'> & {
587
+ emoteDataADR74: Omit<EmoteDefinition['emoteDataADR74'], 'representations'> & {
588
+ representations: EmoteRepresentationWithBlobs[];
589
+ };
590
+ };
591
+
592
+ /**
593
+ * Internal representation of an entity in the catalyst.
594
+ *
595
+ * This Entity's content mappings adhere to ADR45.
596
+ *
597
+ * @public
598
+ */
599
+ export declare type Entity = {
600
+ /** @deprecated ADR45 removed entity versions. */
601
+ version: string;
602
+ id: IPFSv1 | IPFSv2;
603
+ type: EntityType;
604
+ pointers: string[];
605
+ timestamp: number;
606
+ content: ContentMapping[];
607
+ metadata?: any;
608
+ };
609
+
610
+ /** @public */
611
+ export declare namespace Entity {
612
+ const schema: JSONSchema<Entity>;
613
+ const validate: ValidateFunction<Entity>;
614
+ }
615
+
616
+ /**
617
+ * Non-exhaustive list of EntityTypes.
618
+ * @public
619
+ */
620
+ export declare enum EntityType {
621
+ SCENE = "scene",
622
+ PROFILE = "profile",
623
+ WEARABLE = "wearable",
624
+ STORE = "store",
625
+ EMOTE = "emote",
626
+ OUTFITS = "outfits"
627
+ }
628
+
629
+ /**
630
+ * EthAddress is a data type that describes an Ethereum address
631
+ * @alpha
632
+ */
633
+ export declare type EthAddress = string;
634
+
635
+ /**
636
+ * EthAddress
637
+ * @alpha
638
+ */
639
+ export declare namespace EthAddress {
640
+ const schema: JSONSchema<EthAddress>;
641
+ const validate: ValidateFunction<EthAddress>;
642
+ }
643
+
644
+ /** @alpha */
645
+ export declare type FeatureToggles = Record<string, 'enabled' | 'disabled'>;
646
+
647
+ /** @alpha */
648
+ export declare namespace FeatureToggles {
649
+ const schema: JSONSchema<FeatureToggles>;
650
+ const validate: ValidateFunction<FeatureToggles>;
651
+ }
652
+
653
+ export declare enum GenderFilterOption {
654
+ MALE = "male",
655
+ FEMALE = "female",
656
+ UNISEX = "unisex"
657
+ }
658
+
659
+ /**
660
+ * Generates a validator for a specific JSON schema of a type T
661
+ * @public
662
+ */
663
+ export declare function generateLazyValidator<T>(schema: JSONSchema<T>, keywordDefinitions?: KeywordDefinition[]): ValidateFunction<T>;
664
+
665
+ /**
666
+ * Get chain id by chain name
667
+ * @alpha
668
+ */
669
+ export declare function getChainId(chainName: ChainName): ChainId | null;
670
+
671
+ /**
672
+ * Get the chain name by chain id
673
+ * @alpha
674
+ */
675
+ export declare function getChainName(chainId: ChainId): ChainName | null;
676
+
677
+ /**
678
+ * Get the chain name by chain id
679
+ * @alpha
680
+ */
681
+ export declare function getURNProtocol(chainId: ChainId): string;
682
+
683
+ /**
684
+ * Get World
685
+ * @alpha
686
+ */
687
+ export declare function getWorld(): World;
688
+
689
+ /** @alpha */
690
+ export declare type I18N = {
691
+ code: Locale;
692
+ text: string;
693
+ };
694
+
695
+ /** @alpha */
696
+ export declare namespace I18N {
697
+ const schema: JSONSchema<I18N>;
698
+ const validate: ValidateFunction<I18N>;
699
+ }
700
+
701
+ export declare interface IEmoteController {
702
+ getLength(): Promise<number>;
703
+ isPlaying(): Promise<boolean>;
704
+ goTo(seconds: number): Promise<void>;
705
+ play(): Promise<void>;
706
+ pause(): Promise<void>;
707
+ stop(): Promise<void>;
708
+ events: any;
709
+ }
710
+
711
+ /**
712
+ * @public
713
+ */
714
+ export declare type IPFSv1 = string;
715
+
716
+ /**
717
+ * IPFSv1
718
+ * @public
719
+ */
720
+ export declare namespace IPFSv1 {
721
+ const schema: JSONSchema<IPFSv1>;
722
+ const validate: ValidateFunction<IPFSv1>;
723
+ }
724
+
725
+ /**
726
+ * IPFSv2 is a data type that describes an IPFS v2 hash
727
+ * @public
728
+ */
729
+ export declare type IPFSv2 = string;
730
+
731
+ /**
732
+ * IPFSv2
733
+ * @public
734
+ */
735
+ export declare namespace IPFSv2 {
736
+ const schema: JSONSchema<IPFSv2>;
737
+ const validate: ValidateFunction<IPFSv2>;
738
+ }
739
+
740
+ export declare interface IPreviewController {
741
+ scene: ISceneController;
742
+ emote: IEmoteController;
743
+ }
744
+
745
+ export declare interface ISceneController {
746
+ getScreenshot(width: number, height: number): Promise<string>;
747
+ getMetrics(): Promise<Metrics>;
748
+ changeZoom(zoom: number): Promise<void>;
749
+ panCamera(offset: {
750
+ x?: number;
751
+ y?: number;
752
+ z?: number;
753
+ }): Promise<void>;
754
+ changeCameraPosition(position: {
755
+ alpha?: number;
756
+ beta?: number;
757
+ radius?: number;
758
+ }): Promise<void>;
759
+ }
760
+
761
+ /**
762
+ * Check if is inside World Limits
763
+ * @alpha
764
+ */
765
+ export declare function isInsideWorldLimits(x: number, y: number): boolean;
766
+
767
+ export declare function isStandard<T extends BaseItem>(item: T): item is T & StandardProps;
768
+
769
+ export declare function isThirdParty<T extends BaseItem>(item: T): item is T & ThirdPartyProps;
770
+
771
+ export declare type Item = {
772
+ id: string;
773
+ name: string;
774
+ thumbnail: string;
775
+ url: string;
776
+ category: NFTCategory;
777
+ contractAddress: string;
778
+ itemId: string;
779
+ rarity: Rarity;
780
+ price: string;
781
+ available: number;
782
+ isOnSale: boolean;
783
+ creator: string;
784
+ beneficiary: string | null;
785
+ createdAt: number;
786
+ updatedAt: number;
787
+ reviewedAt: number;
788
+ soldAt: number;
789
+ data: NFT['data'];
790
+ network: Network;
791
+ chainId: ChainId;
792
+ /** The timestamp in seconds since epoch when the item was listed for sale for the first time */
793
+ firstListedAt: number | null;
794
+ picks?: {
795
+ pickedByUser?: boolean;
796
+ count: number;
797
+ };
798
+ /** The following fields are for the items for the Marketplace's catalog */
799
+ minPrice?: string;
800
+ minListingPrice?: string | null;
801
+ maxListingPrice?: string | null;
802
+ listings?: number | null;
803
+ owners?: number | null;
804
+ };
805
+
806
+ export declare namespace Item {
807
+ const schema: JSONSchema<Item>;
808
+ const validate: ValidateFunction<Item>;
809
+ }
810
+
811
+ export declare type ItemFilters = {
812
+ first?: number;
813
+ skip?: number;
814
+ sortBy?: ItemSortBy;
815
+ category?: NFTCategory;
816
+ /** The address or the addresses of the creators to filter for */
817
+ creator?: string | string[];
818
+ rarities?: Rarity[];
819
+ isSoldOut?: boolean;
820
+ isOnSale?: boolean;
821
+ search?: string;
822
+ isWearableHead?: boolean;
823
+ isWearableAccessory?: boolean;
824
+ isWearableSmart?: boolean;
825
+ wearableCategory?: WearableCategory;
826
+ wearableGenders?: (WearableGender | GenderFilterOption)[];
827
+ emoteCategory?: EmoteCategory;
828
+ emoteGenders?: (WearableGender | GenderFilterOption)[];
829
+ emotePlayMode?: EmotePlayMode | EmotePlayMode[];
830
+ ids?: string[];
831
+ contractAddresses?: string[];
832
+ itemId?: string;
833
+ network?: Network;
834
+ /**
835
+ * Returns items whose price is greater or equal to this value
836
+ */
837
+ minPrice?: string;
838
+ /**
839
+ * Returns items whose price is smaller or equal to this value
840
+ */
841
+ maxPrice?: string;
842
+ urns?: string[];
843
+ };
844
+
845
+ export declare enum ItemSortBy {
846
+ NAME = "name",
847
+ NEWEST = "newest",
848
+ RECENTLY_REVIEWED = "recently_reviewed",
849
+ RECENTLY_SOLD = "recently_sold",
850
+ RECENTLY_LISTED = "recently_listed",
851
+ CHEAPEST = "cheapest"
852
+ }
853
+
854
+ /**
855
+ * This type alias exist only to avoid accidental refactors involving names of ajv
856
+ * @public
857
+ */
858
+ export declare type JSONSchema<T> = JSONSchemaType<T>;
859
+
860
+ /**
861
+ * Link
862
+ * @alpha
863
+ */
864
+ export declare type Link = {
865
+ title: string;
866
+ url: LinkUrl;
867
+ };
868
+
869
+ /**
870
+ * Link
871
+ * @alpha
872
+ */
873
+ export declare namespace Link {
874
+ const schema: JSONSchema<Link>;
875
+ }
876
+
877
+ /**
878
+ * LinkUrl
879
+ * @alpha
880
+ */
881
+ export declare type LinkUrl = string;
882
+
883
+ /**
884
+ * LinkUrl
885
+ * @alpha
886
+ */
887
+ export declare namespace LinkUrl {
888
+ const schema: JSONSchema<LinkUrl>;
889
+ const validate: ValidateFunction<LinkUrl>;
890
+ }
891
+
892
+ export declare enum ListingStatus {
893
+ OPEN = "open",
894
+ SOLD = "sold",
895
+ CANCELLED = "cancelled"
896
+ }
897
+
898
+ export declare namespace ListingStatus {
899
+ const schema: JSONSchema<ListingStatus>;
900
+ const validate: ValidateFunction<ListingStatus>;
901
+ }
902
+
903
+ /** @alpha */
904
+ export declare enum Locale {
905
+ EN = "en",
906
+ ES = "es"
907
+ }
908
+
909
+ /** @alpha */
910
+ export declare namespace Locale {
911
+ const schema: JSONSchema<Locale>;
912
+ const validate: ValidateFunction<Locale>;
913
+ }
914
+
915
+ /**
916
+ * Merkle Proof
917
+ * @alpha
918
+ */
919
+ export declare type MerkleProof = {
920
+ proof: string[];
921
+ index: number;
922
+ hashingKeys: string[];
923
+ entityHash: string;
924
+ };
925
+
926
+ /**
927
+ * Merkle Proof
928
+ * @alpha
929
+ */
930
+ export declare namespace MerkleProof {
931
+ const schema: JSONSchema<MerkleProof>;
932
+ const validate: ValidateFunction<MerkleProof>;
933
+ }
934
+
935
+ /** @public */
936
+ declare type Messages = SceneUpdate | Update;
937
+
938
+ /**
939
+ * Meta-transaction to be relayed
940
+ * @alpha
941
+ */
942
+ export declare type MetaTransaction = {
943
+ from: string;
944
+ params: [string, string];
945
+ };
946
+
947
+ /**
948
+ * @alpha
949
+ */
950
+ export declare namespace MetaTransaction {
951
+ const schema: JSONSchema<MetaTransaction>;
952
+ const validate: ValidateFunction<MetaTransaction>;
953
+ }
954
+
955
+ /** @alpha */
956
+ export declare type Metrics = {
957
+ triangles: number;
958
+ materials: number;
959
+ textures: number;
960
+ meshes: number;
961
+ bodies: number;
962
+ entities: number;
963
+ };
964
+
965
+ /** @alpha */
966
+ export declare namespace Metrics {
967
+ const schema: JSONSchema<Metrics>;
968
+ const validate: ValidateFunction<Metrics>;
969
+ }
970
+
971
+ /** @alpha */
972
+ export declare type MiniMapConfiguration = {
973
+ visible?: boolean;
974
+ dataImage?: string;
975
+ estateImage?: string;
976
+ };
977
+
978
+ export declare type Mint = {
979
+ id: string;
980
+ creator: string;
981
+ beneficiary: string;
982
+ minter: string;
983
+ itemId: string;
984
+ tokenId: string;
985
+ issuedId: string;
986
+ contractAddress: string;
987
+ price: string | null;
988
+ timestamp: number;
989
+ network: Network;
990
+ chainId: ChainId;
991
+ };
992
+
993
+ export declare namespace Mint {
994
+ const schema: JSONSchema<Mint>;
995
+ const validate: ValidateFunction<Mint>;
996
+ }
997
+
998
+ export declare type MintFilters = {
999
+ first?: number;
1000
+ skip?: number;
1001
+ sortBy?: MintSortBy;
1002
+ creator?: string;
1003
+ beneficiary?: string;
1004
+ minter?: string;
1005
+ contractAddress?: string;
1006
+ itemId?: string;
1007
+ tokenId?: string;
1008
+ issuedId?: string;
1009
+ isSale?: boolean;
1010
+ network?: Network;
1011
+ };
1012
+
1013
+ export declare enum MintSortBy {
1014
+ RECENTLY_MINTED = "recently_minted",
1015
+ MOST_EXPENSIVE = "most_expensive"
1016
+ }
1017
+
1018
+ declare type MultiPosition = {
1019
+ x: number[];
1020
+ y: number[];
1021
+ z: number[];
1022
+ };
1023
+
1024
+ /**
1025
+ * Different supported networks
1026
+ * @alpha
1027
+ */
1028
+ export declare enum Network {
1029
+ ETHEREUM = "ETHEREUM",
1030
+ MATIC = "MATIC"
1031
+ }
1032
+
1033
+ /**
1034
+ * @alpha
1035
+ */
1036
+ export declare namespace Network {
1037
+ const schema: JSONSchema<Network>;
1038
+ const validate: ValidateFunction<Network>;
1039
+ }
1040
+
1041
+ export declare type NFT = {
1042
+ id: string;
1043
+ contractAddress: string;
1044
+ tokenId: string;
1045
+ activeOrderId: string | null;
1046
+ /** The ID of the open rental listing associated with the NFT */
1047
+ openRentalId: string | null;
1048
+ owner: string;
1049
+ name: string;
1050
+ category: NFTCategory;
1051
+ image: string;
1052
+ url: string;
1053
+ issuedId: string | null;
1054
+ itemId: string | null;
1055
+ data: {
1056
+ parcel?: {
1057
+ x: string;
1058
+ y: string;
1059
+ description: string | null;
1060
+ estate: {
1061
+ tokenId: string;
1062
+ name: string;
1063
+ } | null;
1064
+ };
1065
+ estate?: {
1066
+ size: number;
1067
+ parcels: {
1068
+ x: number;
1069
+ y: number;
1070
+ }[];
1071
+ description: string | null;
1072
+ };
1073
+ wearable?: {
1074
+ description: string;
1075
+ category: WearableCategory;
1076
+ rarity: Rarity;
1077
+ bodyShapes: BodyShape[];
1078
+ isSmart: boolean;
1079
+ };
1080
+ ens?: {
1081
+ subdomain: string;
1082
+ };
1083
+ emote?: {
1084
+ description: string;
1085
+ category: EmoteCategory;
1086
+ rarity: Rarity;
1087
+ bodyShapes: BodyShape[];
1088
+ loop: boolean;
1089
+ };
1090
+ };
1091
+ network: Network;
1092
+ chainId: ChainId;
1093
+ createdAt: number;
1094
+ updatedAt: number;
1095
+ soldAt: number;
1096
+ };
1097
+
1098
+ export declare namespace NFT {
1099
+ const schema: JSONSchema<NFT>;
1100
+ const validate: ValidateFunction<NFT>;
1101
+ }
1102
+
1103
+ export declare enum NFTCategory {
1104
+ PARCEL = "parcel",
1105
+ ESTATE = "estate",
1106
+ WEARABLE = "wearable",
1107
+ ENS = "ens",
1108
+ EMOTE = "emote"
1109
+ }
1110
+
1111
+ export declare namespace NFTCategory {
1112
+ const schema: JSONSchema<NFTCategory>;
1113
+ const validate: ValidateFunction<NFTCategory>;
1114
+ }
1115
+
1116
+ export declare type NFTFilters = {
1117
+ first?: number;
1118
+ skip?: number;
1119
+ sortBy?: NFTSortBy;
1120
+ category?: NFTCategory;
1121
+ owner?: string;
1122
+ isOnSale?: boolean;
1123
+ isOnRent?: boolean;
1124
+ search?: string;
1125
+ itemRarities?: Rarity[];
1126
+ isLand?: boolean;
1127
+ isWearableHead?: boolean;
1128
+ isWearableAccessory?: boolean;
1129
+ isWearableSmart?: boolean;
1130
+ wearableCategory?: WearableCategory;
1131
+ wearableGenders?: (WearableGender | GenderFilterOption)[];
1132
+ emoteCategory?: EmoteCategory;
1133
+ emoteGenders?: (WearableGender | GenderFilterOption)[];
1134
+ emotePlayMode?: EmotePlayMode | EmotePlayMode[];
1135
+ contractAddresses?: string[];
1136
+ creator?: string | string[];
1137
+ tokenId?: string;
1138
+ itemId?: string;
1139
+ network?: Network;
1140
+ rentalStatus?: RentalsListingsFilterBy['status'];
1141
+ ids?: string[];
1142
+ minPrice?: string;
1143
+ maxPrice?: string;
1144
+ /** Filter NFTs with a min estate size */
1145
+ minEstateSize?: number;
1146
+ /** Filter NFTs with a max estate size */
1147
+ maxEstateSize?: number;
1148
+ /** Filter NFTs with at least this distance to a plaza */
1149
+ minDistanceToPlaza?: number;
1150
+ /** Filter NFTs with at most this distance to a plaza */
1151
+ maxDistanceToPlaza?: number;
1152
+ /** Filter NFTs that are next to a road */
1153
+ adjacentToRoad?: boolean;
1154
+ /** Filter NFTs by rentals that have periods that include any of the rental days */
1155
+ rentalDays?: number[];
1156
+ } & Pick<RentalsListingsFilterBy, 'tenant'>;
1157
+
1158
+ export declare enum NFTSortBy {
1159
+ NAME = "name",
1160
+ NEWEST = "newest",
1161
+ RECENTLY_LISTED = "recently_listed",
1162
+ RECENTLY_SOLD = "recently_sold",
1163
+ CHEAPEST = "cheapest",
1164
+ RENTAL_LISTING_DATE = "rental_listing_date",
1165
+ RENTAL_DATE = "rented_date",
1166
+ MAX_RENTAL_PRICE = "max_rental_price",
1167
+ MIN_RENTAL_PRICE = "min_rental_price"
1168
+ }
1169
+
1170
+ export declare type Order = {
1171
+ id: string;
1172
+ marketplaceAddress: string;
1173
+ contractAddress: string;
1174
+ tokenId: string;
1175
+ owner: string;
1176
+ buyer: string | null;
1177
+ price: string;
1178
+ status: ListingStatus;
1179
+ expiresAt: number;
1180
+ createdAt: number;
1181
+ updatedAt: number;
1182
+ network: Network;
1183
+ chainId: ChainId;
1184
+ issuedId: string;
1185
+ };
1186
+
1187
+ export declare namespace Order {
1188
+ const schema: JSONSchema<Order>;
1189
+ const validate: ValidateFunction<Order>;
1190
+ }
1191
+
1192
+ export declare type OrderFilters = {
1193
+ first?: number;
1194
+ skip?: number;
1195
+ sortBy?: OrderSortBy;
1196
+ marketplaceAddress?: string;
1197
+ owner?: string;
1198
+ buyer?: string;
1199
+ contractAddress?: string;
1200
+ tokenId?: string;
1201
+ status?: ListingStatus;
1202
+ network?: Network;
1203
+ itemId?: string;
1204
+ nftName?: string;
1205
+ };
1206
+
1207
+ export declare enum OrderSortBy {
1208
+ RECENTLY_LISTED = "recently_listed",
1209
+ RECENTLY_UPDATED = "recently_updated",
1210
+ CHEAPEST = "cheapest",
1211
+ ISSUED_ID_ASC = "issued_id_asc",
1212
+ ISSUED_ID_DESC = "issued_id_desc",
1213
+ OLDEST = "oldest"
1214
+ }
1215
+
1216
+ /**
1217
+ * @alpha
1218
+ */
1219
+ export declare type Outfit = {
1220
+ bodyShape: WearableId;
1221
+ eyes: {
1222
+ color: Color3;
1223
+ };
1224
+ hair: {
1225
+ color: Color3;
1226
+ };
1227
+ skin: {
1228
+ color: Color3;
1229
+ };
1230
+ wearables: WearableId[];
1231
+ forceRender?: WearableCategory[];
1232
+ };
1233
+
1234
+ /**
1235
+ * Outfit
1236
+ * @alpha
1237
+ */
1238
+ export declare namespace Outfit {
1239
+ const schema: JSONSchema<Outfit>;
1240
+ const validate: ValidateFunction<Outfit>;
1241
+ }
1242
+
1243
+ /**
1244
+ * @alpha
1245
+ */
1246
+ export declare type Outfits = {
1247
+ outfits: {
1248
+ slot: number;
1249
+ outfit: Outfit;
1250
+ }[];
1251
+ namesForExtraSlots: string[];
1252
+ };
1253
+
1254
+ /**
1255
+ * Outfits
1256
+ * @alpha
1257
+ */
1258
+ export declare namespace Outfits {
1259
+ const schema: JSONSchema<Outfits>;
1260
+ const validate: ValidateFunction<Outfits>;
1261
+ }
1262
+
1263
+ /**
1264
+ * The input that is required to create a rental listing period.
1265
+ */
1266
+ export declare type PeriodCreation = {
1267
+ /** The minimum amount of days of the period */
1268
+ minDays: number;
1269
+ /** The maximum amount of days of the period */
1270
+ maxDays: number;
1271
+ /** The price per day */
1272
+ pricePerDay: string;
1273
+ };
1274
+
1275
+ export declare namespace PeriodCreation {
1276
+ const schema: JSONSchemaType<PeriodCreation>;
1277
+ const validate: ValidateFunction<PeriodCreation>;
1278
+ }
1279
+
1280
+ /**
1281
+ * This type describes deployment + AuthChain needed to synchronize
1282
+ * a deployed entity across catalysts from the old snapshots and /pointer-changes endpoint.
1283
+ * @public
1284
+ */
1285
+ export declare type PointerChangesSyncDeployment = SnapshotSyncDeployment & {
1286
+ localTimestamp: number;
1287
+ };
1288
+
1289
+ /**
1290
+ * @public
1291
+ */
1292
+ export declare namespace PointerChangesSyncDeployment {
1293
+ const schema: JSONSchema<PointerChangesSyncDeployment>;
1294
+ const validate: ValidateFunction<PointerChangesSyncDeployment>;
1295
+ }
1296
+
1297
+ export declare enum PreviewCamera {
1298
+ STATIC = "static",
1299
+ INTERACTIVE = "interactive"
1300
+ }
1301
+
1302
+ /** @alpha */
1303
+ export declare namespace PreviewCamera {
1304
+ const schema: JSONSchema<PreviewCamera>;
1305
+ const validate: ValidateFunction<PreviewCamera>;
1306
+ }
1307
+
1308
+ export declare type PreviewConfig = {
1309
+ item?: WearableDefinition | EmoteDefinition;
1310
+ wearables: WearableDefinition[];
1311
+ bodyShape: BodyShape;
1312
+ skin: string;
1313
+ hair: string;
1314
+ eyes: string;
1315
+ zoom: number;
1316
+ type: PreviewType;
1317
+ face: boolean;
1318
+ background: {
1319
+ image?: string;
1320
+ color: string;
1321
+ transparent: boolean;
1322
+ };
1323
+ emote: PreviewEmote | null;
1324
+ camera: PreviewCamera;
1325
+ projection: PreviewProjection;
1326
+ autoRotateSpeed: number;
1327
+ centerBoundingBox: boolean;
1328
+ fadeEffect: boolean;
1329
+ showSceneBoundaries?: boolean;
1330
+ showThumbnailBoundaries?: boolean;
1331
+ offsetX: number;
1332
+ offsetY: number;
1333
+ offsetZ: number;
1334
+ cameraX: number;
1335
+ cameraY: number;
1336
+ cameraZ: number;
1337
+ wheelZoom: number;
1338
+ wheelPrecision: number;
1339
+ wheelStart: number;
1340
+ };
1341
+
1342
+ export declare enum PreviewEmote {
1343
+ IDLE = "idle",
1344
+ CLAP = "clap",
1345
+ DAB = "dab",
1346
+ DANCE = "dance",
1347
+ FASHION = "fashion",
1348
+ FASHION_2 = "fashion-2",
1349
+ FASHION_3 = "fashion-3",
1350
+ FASHION_4 = "fashion-4",
1351
+ LOVE = "love",
1352
+ MONEY = "money",
1353
+ FIST_PUMP = "fist-pump",
1354
+ HEAD_EXPLODE = "head-explode"
1355
+ }
1356
+
1357
+ /** @alpha */
1358
+ export declare namespace PreviewEmote {
1359
+ const schema: JSONSchema<PreviewEmote>;
1360
+ const validate: ValidateFunction<PreviewEmote>;
1361
+ }
1362
+
1363
+ export declare enum PreviewEmoteEventType {
1364
+ ANIMATION_PLAY = "animation_play",
1365
+ ANIMATION_PAUSE = "animation_pause",
1366
+ ANIMATION_LOOP = "animation_loop",
1367
+ ANIMATION_END = "animation_end",
1368
+ ANIMATION_PLAYING = "animation_playing"
1369
+ }
1370
+
1371
+ /** @alpha */
1372
+ export declare namespace PreviewEmoteEventType {
1373
+ const schema: JSONSchema<PreviewEmoteEventType>;
1374
+ const validate: ValidateFunction<PreviewEmoteEventType>;
1375
+ }
1376
+
1377
+ export declare type PreviewMessagePayload<T extends PreviewMessageType> = T extends PreviewMessageType.READY ? null : T extends PreviewMessageType.LOAD ? null : T extends PreviewMessageType.ERROR ? {
1378
+ message: string;
1379
+ } : T extends PreviewMessageType.UPDATE ? {
1380
+ options: PreviewOptions;
1381
+ } : T extends PreviewMessageType.CONTROLLER_REQUEST ? {
1382
+ id: string;
1383
+ namespace: 'scene' | 'emote';
1384
+ method: 'getScreenshot' | 'getMetrics' | 'changeZoom' | 'changeCameraPosition' | 'panCamera' | 'getLength' | 'isPlaying' | 'play' | 'pause' | 'stop' | 'goTo';
1385
+ params: any[];
1386
+ } : T extends PreviewMessageType.CONTROLLER_RESPONSE ? {
1387
+ id: string;
1388
+ ok: true;
1389
+ result: any;
1390
+ } | {
1391
+ id: string;
1392
+ ok: false;
1393
+ error: string;
1394
+ } : T extends PreviewMessageType.EMOTE_EVENT ? {
1395
+ type: PreviewEmoteEventType;
1396
+ payload: EmoteEventPayload<PreviewEmoteEventType>;
1397
+ } : unknown;
1398
+
1399
+ export declare enum PreviewMessageType {
1400
+ READY = "ready",
1401
+ LOAD = "load",
1402
+ ERROR = "error",
1403
+ UPDATE = "update",
1404
+ CONTROLLER_REQUEST = "controller_request",
1405
+ CONTROLLER_RESPONSE = "controller_response",
1406
+ EMOTE_EVENT = "emote_event"
1407
+ }
1408
+
1409
+ /** @alpha */
1410
+ export declare namespace PreviewMessageType {
1411
+ const schema: JSONSchema<PreviewMessageType>;
1412
+ const validate: ValidateFunction<PreviewMessageType>;
1413
+ }
1414
+
1415
+ /** @alpha */
1416
+ export declare type PreviewOptions = {
1417
+ contractAddress?: string | null;
1418
+ tokenId?: string | null;
1419
+ itemId?: string | null;
1420
+ profile?: string | null;
1421
+ bodyShape?: BodyShape | null;
1422
+ type?: PreviewType | null;
1423
+ skin?: string | null;
1424
+ hair?: string | null;
1425
+ eyes?: string | null;
1426
+ urns?: string[] | null;
1427
+ urls?: string[] | null;
1428
+ base64s?: string[] | null;
1429
+ blob?: WearableWithBlobs | EmoteWithBlobs | null;
1430
+ zoom?: number | null;
1431
+ emote?: PreviewEmote | null;
1432
+ camera?: PreviewCamera | null;
1433
+ projection?: PreviewProjection | null;
1434
+ autoRotateSpeed?: number | null;
1435
+ offsetX?: number | null;
1436
+ offsetY?: number | null;
1437
+ offsetZ?: number | null;
1438
+ cameraX?: number | null;
1439
+ cameraY?: number | null;
1440
+ cameraZ?: number | null;
1441
+ wheelZoom?: number | null;
1442
+ wheelPrecision?: number | null;
1443
+ wheelStart?: number | null;
1444
+ background?: string | null;
1445
+ disableBackground?: boolean | null;
1446
+ disableAutoCenter?: boolean | null;
1447
+ disableAutoRotate?: boolean | null;
1448
+ disableFace?: boolean | null;
1449
+ disableDefaultWearables?: boolean | null;
1450
+ disableDefaultEmotes?: boolean | null;
1451
+ disableFadeEffect?: boolean | null;
1452
+ showSceneBoundaries?: boolean;
1453
+ showThumbnailBoundaries?: boolean;
1454
+ peerUrl?: string | null;
1455
+ nftServerUrl?: string | null;
1456
+ };
1457
+
1458
+ export declare enum PreviewProjection {
1459
+ ORTHOGRAPHIC = "orthographic",
1460
+ PERSPECTIVE = "perspective"
1461
+ }
1462
+
1463
+ export declare namespace PreviewProjection {
1464
+ const schema: JSONSchema<PreviewProjection>;
1465
+ const validate: ValidateFunction<PreviewProjection>;
1466
+ }
1467
+
1468
+ /** @alpha */
1469
+ export declare enum PreviewType {
1470
+ TEXTURE = "texture",
1471
+ WEARABLE = "wearable",
1472
+ AVATAR = "avatar"
1473
+ }
1474
+
1475
+ /** @alpha */
1476
+ export declare namespace PreviewType {
1477
+ const schema: JSONSchema<PreviewType>;
1478
+ const validate: ValidateFunction<PreviewType>;
1479
+ }
1480
+
1481
+ /**
1482
+ * Profile containing one or multiple avatars
1483
+ * @alpha
1484
+ */
1485
+ export declare type Profile = {
1486
+ avatars: Avatar[];
1487
+ };
1488
+
1489
+ /**
1490
+ * Profile
1491
+ * @alpha
1492
+ */
1493
+ export declare namespace Profile {
1494
+ const schema: JSONSchema<Profile>;
1495
+ const validate: ValidateFunction<Profile>;
1496
+ }
1497
+
1498
+ /** @public */
1499
+ declare enum ProjectType {
1500
+ SCENE = "scene",
1501
+ SMART_ITEM = "smart-item",
1502
+ PORTABLE_EXPERIENCE = "portable-experience",
1503
+ LIBRARY = "library"
1504
+ }
1505
+
1506
+ /** @public */
1507
+ declare namespace ProjectType {
1508
+ const schema: JSONSchema<ProjectType>;
1509
+ const validate: ValidateFunction<ProjectType>;
1510
+ }
1511
+
1512
+ /**
1513
+ * Different supported providers
1514
+ * @alpha
1515
+ */
1516
+ export declare enum ProviderType {
1517
+ INJECTED = "injected",
1518
+ FORTMATIC = "formatic",
1519
+ NETWORK = "network",
1520
+ WALLET_CONNECT = "wallet_connect",
1521
+ WALLET_CONNECT_V2 = "wallet_connect_v2",
1522
+ WALLET_LINK = "wallet_link",
1523
+ METAMASK_MOBILE = "metamask_mobile"
1524
+ }
1525
+
1526
+ /**
1527
+ * @alpha
1528
+ */
1529
+ export declare namespace ProviderType {
1530
+ const schema: JSONSchema<ProviderType>;
1531
+ const validate: ValidateFunction<ProviderType>;
1532
+ }
1533
+
1534
+ export declare enum Rarity {
1535
+ UNIQUE = "unique",
1536
+ MYTHIC = "mythic",
1537
+ LEGENDARY = "legendary",
1538
+ EPIC = "epic",
1539
+ RARE = "rare",
1540
+ UNCOMMON = "uncommon",
1541
+ COMMON = "common"
1542
+ }
1543
+
1544
+ export declare namespace Rarity {
1545
+ const schema: JSONSchema<Rarity>;
1546
+ const validate: ValidateFunction<Rarity>;
1547
+ export function getMaxSupply(rarity: Rarity): number;
1548
+ export function getColor(rarity: Rarity): string;
1549
+ export function getGradient(rarity: Rarity): [string, string];
1550
+ }
1551
+
1552
+ /**
1553
+ * A rental listing.
1554
+ */
1555
+ export declare type RentalListing = {
1556
+ /** The ID of the rental listing in the signature server */
1557
+ id: string;
1558
+ /** The NFT token ID */
1559
+ nftId: string;
1560
+ /** The category of the NFT being rented */
1561
+ category: NFTCategory;
1562
+ /** The blockchain search text of the NFT asset */
1563
+ searchText: string;
1564
+ /** The network where the asset being rented is on */
1565
+ network: Network;
1566
+ /** The chain id where the asset being rented is on */
1567
+ chainId: ChainId;
1568
+ /** UTC timestamp in milliseconds since epoch of the signature's expiration */
1569
+ expiration: number;
1570
+ /** A hex string representation of the rental signature */
1571
+ signature: string;
1572
+ /** A string representation of the nonces, the first nonce is the contract's nonce, the second one is the signer's nonce and the third is the asset's nonce */
1573
+ nonces: string[];
1574
+ /** The NFT token id */
1575
+ tokenId: string;
1576
+ /** The contract address of the NFT */
1577
+ contractAddress: string;
1578
+ /** The contract address of the rentals contract */
1579
+ rentalContractAddress: string;
1580
+ /** The address of the lessor */
1581
+ lessor: string | null;
1582
+ /** The address of the tenant */
1583
+ tenant: string | null;
1584
+ /** The status of the rental */
1585
+ status: RentalStatus;
1586
+ /** UTC timestamp in milliseconds since epoch of the time the signature was created */
1587
+ createdAt: number;
1588
+ /** UTC timestamp in milliseconds since epoch of the time the signature was updated */
1589
+ updatedAt: number;
1590
+ /** UTC timestamp in milliseconds since epoch of the time the rental started */
1591
+ startedAt: number | null;
1592
+ /** The periods of the rental */
1593
+ periods: RentalListingPeriod[];
1594
+ /** The target address that can use the signature. If no target is wanted, the zero address will be used */
1595
+ target: string;
1596
+ /** The amount of days the land was rented for. NULL if it's in open or cancel status */
1597
+ rentedDays: number | null;
1598
+ };
1599
+
1600
+ /**
1601
+ * The input that is required to create a rental listing.
1602
+ */
1603
+ export declare type RentalListingCreation = {
1604
+ /** The network where the asset being rented is on */
1605
+ network: Network;
1606
+ /** The chain id where the asset being rented is on */
1607
+ chainId: ChainId;
1608
+ /** UTC timestamp in milliseconds since epoch of the signature's expiration */
1609
+ expiration: number;
1610
+ /** A hex string representation of the rental signature */
1611
+ signature: string;
1612
+ /** The NFT token id */
1613
+ tokenId: string;
1614
+ /** The contract address of the NFT */
1615
+ contractAddress: string;
1616
+ /** The contract address of the rentals contract */
1617
+ rentalContractAddress: string;
1618
+ /** A string representation of the nonces, the first nonce is the contract's nonce, the second one is the signer's nonce and the third is the asset's nonce */
1619
+ nonces: string[];
1620
+ /** The periods of the rental */
1621
+ periods: PeriodCreation[];
1622
+ /** The target address that can use the signature. If no target is wanted, use the zero address */
1623
+ target: string;
1624
+ };
1625
+
1626
+ export declare namespace RentalListingCreation {
1627
+ const schema: JSONSchema<RentalListingCreation>;
1628
+ const validate: ValidateFunction<RentalListingCreation>;
1629
+ }
1630
+
1631
+ /**
1632
+ * A period of a rental listing.
1633
+ */
1634
+ export declare type RentalListingPeriod = {
1635
+ /** The minimum amount of days of the period */
1636
+ minDays: number;
1637
+ /** The maximum amount of days of the period */
1638
+ maxDays: number;
1639
+ /** The price per day */
1640
+ pricePerDay: string;
1641
+ };
1642
+
1643
+ /**
1644
+ * All the possible parameters that a rental can be filtered for.
1645
+ */
1646
+ export declare type RentalsListingsFilterBy = {
1647
+ /** The category of the NFT being rented */
1648
+ category?: RentalsListingsFilterByCategory;
1649
+ /** The blockchain search text of the NFT asset */
1650
+ text?: string;
1651
+ /** The listing status or statuses of the NFT asset rental */
1652
+ status?: RentalStatus | RentalStatus[];
1653
+ /** The periods of the rental listings the NFT assets where put for rent */
1654
+ periods?: RentalsListingsFilterByPeriod;
1655
+ /** The address of the lessor who put the NFT asset for rent */
1656
+ lessor?: string;
1657
+ /** The address of the tenant who rented the NFT asset */
1658
+ tenant?: string;
1659
+ /** The token id of the NFT asset that was put for rent */
1660
+ tokenId?: string;
1661
+ /** The contract address of the NFT asset that was put for rent */
1662
+ contractAddresses?: string[];
1663
+ /** The network of the NFT that was put for rent */
1664
+ network?: Network;
1665
+ /** The NFT ids of the NFT assets that were put for rent */
1666
+ nftIds?: string[];
1667
+ /** The UTC timestamp in milliseconds since epoch to get the rentals that were updated after it */
1668
+ updatedAfter?: number;
1669
+ /** The target address of the rental. The default value is the address zero (everyone). */
1670
+ target?: string;
1671
+ /** The minimum price per day of the rental */
1672
+ minPricePerDay?: string;
1673
+ /** The maximun price per day of the rental */
1674
+ maxPricePerDay?: string;
1675
+ /** The minimum amount of parcels to a plaza */
1676
+ minDistanceToPlaza?: number;
1677
+ /**
1678
+ * The maxiumum amount of parcels to a plaza. If this value is more than 10, it will only bring those that
1679
+ * are less than 10 as those are the ones which distances were calculated
1680
+ */
1681
+ maxDistanceToPlaza?: number;
1682
+ /** The minimum amount of parcels in the estate */
1683
+ minEstateSize?: number;
1684
+ /** The maxiumum amount of parcels in the estate */
1685
+ maxEstateSize?: number;
1686
+ /** If true, it will fetch all parcels and estates that are next to a road */
1687
+ adjacentToRoad?: boolean;
1688
+ /** The days that a rental should be available */
1689
+ rentalDays?: number[];
1690
+ };
1691
+
1692
+ /**
1693
+ * All the possible NFT categories of a rental listing.
1694
+ */
1695
+ export declare enum RentalsListingsFilterByCategory {
1696
+ PARCEL = "parcel",
1697
+ ESTATE = "estate"
1698
+ }
1699
+
1700
+ /**
1701
+ * All the possible parameters that a rental can be filtered for based on their periods.
1702
+ */
1703
+ export declare type RentalsListingsFilterByPeriod = {
1704
+ /** The minimum amount of days of the period */
1705
+ minDays: number;
1706
+ /** The maximum amount of days of the period */
1707
+ maxDays: number;
1708
+ /** The price per day */
1709
+ pricePerDay?: number;
1710
+ };
1711
+
1712
+ /**
1713
+ * All the possible sort directions.
1714
+ */
1715
+ export declare enum RentalsListingSortDirection {
1716
+ ASC = "asc",
1717
+ DESC = "desc"
1718
+ }
1719
+
1720
+ /**
1721
+ * All the possible parameters that a rental listing can be sorted by.
1722
+ */
1723
+ export declare enum RentalsListingsSortBy {
1724
+ /** Order by created at of the listing's metadata */
1725
+ LAND_CREATION_DATE = "land_creation_date",
1726
+ /** Order by created at of the listing */
1727
+ RENTAL_LISTING_DATE = "rental_listing_date",
1728
+ /** Order by rented at of the listing */
1729
+ RENTAL_DATE = "rented_date",
1730
+ /** Order by search text of the listing's metadata */
1731
+ NAME = "name",
1732
+ /** Order by maximum rental price per day of the listing */
1733
+ MAX_RENTAL_PRICE = "max_rental_price",
1734
+ /** Order by minimum rental price per day of the listing */
1735
+ MIN_RENTAL_PRICE = "min_rental_price"
1736
+ }
1737
+
1738
+ /**
1739
+ * All the possible rental statuses.
1740
+ * (This will be merged into ListingStatus eventually)
1741
+ */
1742
+ export declare enum RentalStatus {
1743
+ OPEN = "open",
1744
+ CANCELLED = "cancelled",
1745
+ EXECUTED = "executed",
1746
+ CLAIMED = "claimed"
1747
+ }
1748
+
1749
+ export declare type Sale = {
1750
+ id: string;
1751
+ type: SaleType;
1752
+ buyer: string;
1753
+ seller: string;
1754
+ itemId: string | null;
1755
+ tokenId: string;
1756
+ contractAddress: string;
1757
+ price: string;
1758
+ timestamp: number;
1759
+ txHash: string;
1760
+ network: Network;
1761
+ chainId: ChainId;
1762
+ };
1763
+
1764
+ export declare namespace Sale {
1765
+ const schema: JSONSchema<Sale>;
1766
+ const validate: ValidateFunction<Sale>;
1767
+ }
1768
+
1769
+ export declare type SaleFilters = {
1770
+ first?: number;
1771
+ skip?: number;
1772
+ sortBy?: SaleSortBy;
1773
+ type?: SaleType;
1774
+ categories?: NFTCategory[];
1775
+ buyer?: string;
1776
+ seller?: string;
1777
+ contractAddress?: string;
1778
+ itemId?: string;
1779
+ tokenId?: string;
1780
+ from?: number;
1781
+ to?: number;
1782
+ minPrice?: string;
1783
+ maxPrice?: string;
1784
+ network?: Network;
1785
+ };
1786
+
1787
+ export declare enum SaleSortBy {
1788
+ RECENTLY_SOLD = "recently_sold",
1789
+ MOST_EXPENSIVE = "most_expensive"
1790
+ }
1791
+
1792
+ export declare enum SaleType {
1793
+ ORDER = "order",
1794
+ BID = "bid",
1795
+ MINT = "mint"
1796
+ }
1797
+
1798
+ export declare namespace SaleType {
1799
+ const schema: JSONSchema<SaleType>;
1800
+ const validate: ValidateFunction<SaleType>;
1801
+ }
1802
+
1803
+ /** @alpha */
1804
+ export declare type Scene = DisplayableDeployment & {
1805
+ main: string;
1806
+ scene: SceneParcels;
1807
+ display?: {
1808
+ title?: string;
1809
+ /** @deprecated use menuBarIcon instead */
1810
+ favicon?: string;
1811
+ description?: string;
1812
+ navmapThumbnail?: string;
1813
+ };
1814
+ owner?: string;
1815
+ contact?: {
1816
+ name?: string;
1817
+ email?: string;
1818
+ im?: string;
1819
+ url?: string;
1820
+ };
1821
+ tags?: string[];
1822
+ source?: Source;
1823
+ spawnPoints?: SpawnPoint[];
1824
+ requiredPermissions?: string[];
1825
+ featureToggles?: FeatureToggles;
1826
+ worldConfiguration?: WorldConfiguration;
1827
+ dreamSpaceConfiguration?: DreamSpaceConfiguration;
1828
+ allowedMediaHostnames?: string[];
1829
+ };
1830
+
1831
+ /** @alpha */
1832
+ export declare namespace Scene {
1833
+ const schema: JSONSchema<Scene>;
1834
+ const validate: ValidateFunction<Scene>;
1835
+ }
1836
+
1837
+ /** @public */
1838
+ declare const SCENE_UPDATE = "SCENE_UPDATE";
1839
+
1840
+ /** @alpha */
1841
+ export declare type SceneParcels = {
1842
+ base: string;
1843
+ parcels: string[];
1844
+ };
1845
+
1846
+ /** @alpha */
1847
+ export declare namespace SceneParcels {
1848
+ const schema: JSONSchema<SceneParcels>;
1849
+ const schemaValidator: ValidateFunction<SceneParcels>;
1850
+ const validate: ValidateFunction<SceneParcels>;
1851
+ }
1852
+
1853
+ /** @public */
1854
+ declare type SceneUpdate = {
1855
+ type: typeof SCENE_UPDATE;
1856
+ payload: {
1857
+ sceneId: string;
1858
+ sceneType: string;
1859
+ };
1860
+ };
1861
+
1862
+ /** @public */
1863
+ declare namespace SceneUpdate {
1864
+ const schema: JSONSchema<SceneUpdate>;
1865
+ const validate: ValidateFunction<SceneUpdate>;
1866
+ }
1867
+
1868
+ declare namespace sdk {
1869
+ export {
1870
+ Actions,
1871
+ Messages,
1872
+ SCENE_UPDATE,
1873
+ SceneUpdate,
1874
+ UPDATE,
1875
+ Update,
1876
+ ProjectType,
1877
+ WearableJson
1878
+ }
1879
+ }
1880
+ export { sdk }
1881
+
1882
+ export declare const sendMessage: <T extends PreviewMessageType>(window: {
1883
+ postMessage(event: any, targetOrigin: string): any;
1884
+ }, type: T, payload: PreviewMessagePayload<T>, targetOrigin?: string) => void;
1885
+
1886
+ declare type SinglePosition = {
1887
+ x: number;
1888
+ y: number;
1889
+ z: number;
1890
+ };
1891
+
1892
+ /** @alpha */
1893
+ export declare type SkyboxConfiguration = {
1894
+ fixedTime?: number;
1895
+ textures?: string[];
1896
+ };
1897
+
1898
+ /**
1899
+ * Snapshots
1900
+ * @alpha
1901
+ */
1902
+ export declare type Snapshots = {
1903
+ face256: IPFSv2;
1904
+ body: IPFSv2;
1905
+ };
1906
+
1907
+ /**
1908
+ * Snapshots
1909
+ * @alpha
1910
+ */
1911
+ export declare namespace Snapshots {
1912
+ const schema: JSONSchema<Snapshots>;
1913
+ const validate: ValidateFunction<Snapshots>;
1914
+ }
1915
+
1916
+ /**
1917
+ * This type describes deployment + AuthChain needed to synchronize
1918
+ * a deployed entity across catalysts from the snapshots.
1919
+ * @public
1920
+ */
1921
+ export declare type SnapshotSyncDeployment = {
1922
+ entityId: IPFSv1 | IPFSv2;
1923
+ entityType: string;
1924
+ pointers: string[];
1925
+ authChain: AuthChain;
1926
+ entityTimestamp: number;
1927
+ };
1928
+
1929
+ /**
1930
+ * @public
1931
+ */
1932
+ export declare namespace SnapshotSyncDeployment {
1933
+ const schema: JSONSchema<SnapshotSyncDeployment>;
1934
+ const validate: ValidateFunction<SnapshotSyncDeployment>;
1935
+ }
1936
+
1937
+ /** @alpha */
1938
+ export declare type Source = {
1939
+ version?: number;
1940
+ origin: string;
1941
+ projectId: string;
1942
+ point?: {
1943
+ x: number;
1944
+ y: number;
1945
+ };
1946
+ rotation?: 'north' | 'east' | 'south' | 'west';
1947
+ layout?: {
1948
+ rows: number;
1949
+ cols: number;
1950
+ };
1951
+ isEmpty?: boolean;
1952
+ };
1953
+
1954
+ /** @alpha */
1955
+ export declare namespace Source {
1956
+ const schema: JSONSchema<Source>;
1957
+ const validate: ValidateFunction<Source>;
1958
+ }
1959
+
1960
+ /** @alpha */
1961
+ export declare type SpawnPoint = {
1962
+ name?: string;
1963
+ position: SinglePosition | MultiPosition;
1964
+ default?: boolean;
1965
+ cameraTarget?: SinglePosition;
1966
+ };
1967
+
1968
+ /** @alpha */
1969
+ export declare namespace SpawnPoint {
1970
+ const schema: JSONSchema<SpawnPoint>;
1971
+ const validate: ValidateFunction<SpawnPoint>;
1972
+ }
1973
+
1974
+ export declare type StandardProps = {
1975
+ collectionAddress: string;
1976
+ rarity: Rarity;
1977
+ };
1978
+
1979
+ export declare type Store = {
1980
+ id: string;
1981
+ owner: string;
1982
+ description: string;
1983
+ links: {
1984
+ name: string;
1985
+ url: string;
1986
+ }[];
1987
+ images: {
1988
+ name: string;
1989
+ file: string;
1990
+ }[];
1991
+ version: number;
1992
+ };
1993
+
1994
+ export declare namespace Store {
1995
+ const schema: JSONSchema<Store>;
1996
+ const validate: ValidateFunction<Store>;
1997
+ }
1998
+
1999
+ export declare type SyncDeployment = SnapshotSyncDeployment | PointerChangesSyncDeployment;
2000
+
2001
+ export declare type ThirdPartyProps = {
2002
+ merkleProof: MerkleProof;
2003
+ content: Record<string, string>;
2004
+ };
2005
+
2006
+ /** @public @deprecated */
2007
+ declare const UPDATE = "update";
2008
+
2009
+ /** @public @deprecated */
2010
+ declare type Update = {
2011
+ type: typeof UPDATE;
2012
+ };
2013
+
2014
+ /** @public @deprecated */
2015
+ declare namespace Update {
2016
+ const schema: JSONSchema<Update>;
2017
+ const validate: ValidateFunction<Update>;
2018
+ }
2019
+
2020
+ /**
2021
+ * This type is a subset of AJV's ValidateFunction, it exists to make
2022
+ * .d.ts bundles smaller and to not expose all of AJV context to the
2023
+ * world.
2024
+ * @public
2025
+ */
2026
+ export declare interface ValidateFunction<T = unknown> {
2027
+ (this: any, data: any, dataCxt?: any): data is T;
2028
+ errors?: null | ErrorObject[];
2029
+ }
2030
+
2031
+ /**
2032
+ * Validates a type with a schema in a functional way.
2033
+ * @public
2034
+ */
2035
+ export declare function validateType<T>(theType: Pick<AbstractTypedSchema<T>, 'validate'>, value: T): boolean;
2036
+
2037
+ /**
2038
+ * World Range
2039
+ * @alpha
2040
+ */
2041
+ export declare type ValidWorldRange = {
2042
+ xMin: number;
2043
+ yMin: number;
2044
+ xMax: number;
2045
+ yMax: number;
2046
+ };
2047
+
2048
+ /** @alpha */
2049
+ export declare type Wearable = BaseItem & {
2050
+ data: {
2051
+ replaces: WearableCategory[];
2052
+ hides: WearableCategory[];
2053
+ tags: string[];
2054
+ representations: WearableRepresentation[];
2055
+ category: WearableCategory;
2056
+ };
2057
+ } & (StandardProps | ThirdPartyProps);
2058
+
2059
+ /** @alpha */
2060
+ export declare namespace Wearable {
2061
+ const schema: JSONSchema<Wearable>;
2062
+ /**
2063
+ * Validates that the wearable metadata complies with the standard or third party wearable, and doesn't have repeated locales.
2064
+ * Some fields are defined as optional but those are validated to be present as standard XOR third party:
2065
+ * Standard Wearables should contain:
2066
+ * - collectionAddress
2067
+ * - rarity
2068
+ * Third Party Wearables should contain:
2069
+ * - merkleProof
2070
+ * - content
2071
+ */
2072
+ const validate: ValidateFunction<Wearable>;
2073
+ }
2074
+
2075
+ export declare enum WearableCategory {
2076
+ EYEBROWS = "eyebrows",
2077
+ EYES = "eyes",
2078
+ FACIAL_HAIR = "facial_hair",
2079
+ HAIR = "hair",
2080
+ HEAD = "head",
2081
+ BODY_SHAPE = "body_shape",
2082
+ MOUTH = "mouth",
2083
+ UPPER_BODY = "upper_body",
2084
+ LOWER_BODY = "lower_body",
2085
+ FEET = "feet",
2086
+ EARRING = "earring",
2087
+ EYEWEAR = "eyewear",
2088
+ HAT = "hat",
2089
+ HELMET = "helmet",
2090
+ MASK = "mask",
2091
+ TIARA = "tiara",
2092
+ TOP_HEAD = "top_head",
2093
+ SKIN = "skin"
2094
+ }
2095
+
2096
+ export declare namespace WearableCategory {
2097
+ const schema: JSONSchema<WearableCategory>;
2098
+ const validate: ValidateFunction<WearableCategory>;
2099
+ }
2100
+
2101
+ /** @alpha */
2102
+ export declare type WearableDefinition = Omit<Wearable, 'data'> & {
2103
+ data: Omit<Wearable['data'], 'representations'> & {
2104
+ representations: WearableRepresentationDefinition[];
2105
+ };
2106
+ };
2107
+
2108
+ export declare enum WearableGender {
2109
+ MALE = "male",
2110
+ FEMALE = "female"
2111
+ }
2112
+
2113
+ export declare namespace WearableGender {
2114
+ const schema: JSONSchema<WearableGender>;
2115
+ const validate: ValidateFunction<WearableGender>;
2116
+ }
2117
+
2118
+ /**
2119
+ * @alpha
2120
+ */
2121
+ export declare type WearableId = string;
2122
+
2123
+ /**
2124
+ * @alpha
2125
+ */
2126
+ declare type WearableJson = Pick<Wearable, 'data' | 'name' | 'description'> & {
2127
+ rarity: Rarity;
2128
+ };
2129
+
2130
+ /**
2131
+ * @alpha
2132
+ */
2133
+ declare namespace WearableJson {
2134
+ const schema: JSONSchema<WearableJson>;
2135
+ const validate: ValidateFunction<WearableJson>;
2136
+ }
2137
+
2138
+ /** @alpha */
2139
+ export declare type WearableRepresentation = {
2140
+ bodyShapes: BodyShape[];
2141
+ mainFile: string;
2142
+ contents: string[];
2143
+ overrideHides: WearableCategory[];
2144
+ overrideReplaces: WearableCategory[];
2145
+ };
2146
+
2147
+ /** @alpha */
2148
+ export declare namespace WearableRepresentation {
2149
+ const schema: JSONSchema<WearableRepresentation>;
2150
+ const validate: ValidateFunction<WearableRepresentation>;
2151
+ }
2152
+
2153
+ /** @alpha */
2154
+ export declare type WearableRepresentationDefinition = Omit<WearableRepresentation, 'contents'> & {
2155
+ contents: {
2156
+ key: string;
2157
+ url: string;
2158
+ }[];
2159
+ };
2160
+
2161
+ /** @alpha */
2162
+ export declare type WearableRepresentationWithBlobs = Omit<WearableRepresentationDefinition, 'contents'> & {
2163
+ contents: {
2164
+ key: string;
2165
+ blob: any;
2166
+ }[];
2167
+ };
2168
+
2169
+ /** @alpha */
2170
+ export declare type WearableWithBlobs = Omit<WearableDefinition, 'data'> & {
2171
+ data: Omit<WearableDefinition['data'], 'representations'> & {
2172
+ representations: WearableRepresentationWithBlobs[];
2173
+ };
2174
+ };
2175
+
2176
+ /**
2177
+ * World
2178
+ * @alpha
2179
+ */
2180
+ export declare type World = {
2181
+ validWorldRanges: Array<ValidWorldRange>;
2182
+ };
2183
+
2184
+ /**
2185
+ * @alpha
2186
+ */
2187
+ export declare namespace World {
2188
+ const schema: JSONSchema<World>;
2189
+ const validate: ValidateFunction<World>;
2190
+ }
2191
+
2192
+ /**
2193
+ * @deprecated Use `DreamSpaceConfiguration` instead.
2194
+ * @alpha
2195
+ */
2196
+ export declare type WorldConfiguration = {
2197
+ name?: string;
2198
+ /** @alpha @deprecated Use `skyboxConfig.fixedTime` instead */
2199
+ skybox?: number;
2200
+ /** @alpha @deprecated Use `miniMapConfig.visible` instead */
2201
+ minimapVisible?: boolean;
2202
+ miniMapConfig?: MiniMapConfiguration;
2203
+ skyboxConfig?: SkyboxConfiguration;
2204
+ fixedAdapter?: string;
2205
+ placesConfig?: {
2206
+ optOut?: boolean;
2207
+ };
2208
+ };
2209
+
2210
+ /**
2211
+ * @deprecated Use `DreamSpaceConfiguration` instead.
2212
+ * @alpha
2213
+ */
2214
+ export declare namespace WorldConfiguration {
2215
+ const schema: JSONSchema<WorldConfiguration>;
2216
+ const validate: ValidateFunction<WorldConfiguration>;
2217
+ }
2218
+
2219
+ export { }