roavatar-renderer 1.0.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.
@@ -0,0 +1,2217 @@
1
+ import { EffectComposer } from 'three/examples/jsm/Addons.js';
2
+ import { OrbitControls } from 'three/examples/jsm/Addons.js';
3
+ import * as THREE from 'three';
4
+
5
+ export declare const AbbreviationToFaceControlProperty: {
6
+ [K in string]: string;
7
+ };
8
+
9
+ export declare const AccessoryAssetTypes: string[];
10
+
11
+ export declare class AccessoryDescriptionWrapper extends InstanceWrapper {
12
+ static className: string;
13
+ static requiredProperties: string[];
14
+ setup(): void;
15
+ }
16
+
17
+ export declare const accessoryRefinementLowerBounds: {
18
+ [K in string]: {
19
+ "position": {
20
+ [K in string]: number;
21
+ };
22
+ "rotation": {
23
+ [K in string]: number;
24
+ };
25
+ "scale": {
26
+ [K in string]: number;
27
+ };
28
+ };
29
+ };
30
+
31
+ export declare const accessoryRefinementTypes: number[];
32
+
33
+ export declare const accessoryRefinementUpperBounds: typeof accessoryRefinementLowerBounds;
34
+
35
+ export declare const AccessoryType: {
36
+ Unknown: number;
37
+ Hat: number;
38
+ Hair: number;
39
+ Face: number;
40
+ Neck: number;
41
+ Shoulder: number;
42
+ Front: number;
43
+ Back: number;
44
+ Waist: number;
45
+ TShirt: number;
46
+ Shirt: number;
47
+ Pants: number;
48
+ Jacket: number;
49
+ Sweater: number;
50
+ Shorts: number;
51
+ LeftShoe: number;
52
+ RightShoe: number;
53
+ DressSkirt: number;
54
+ Eyebrow: number;
55
+ Eyelash: number;
56
+ };
57
+
58
+ export declare const ActualBundleTypes: string[];
59
+
60
+ export declare const AllAccessorySorts: ItemSort[];
61
+
62
+ export declare const AllAnimations: AnimationProp[];
63
+
64
+ export declare const AllAnimationSorts: ItemSort[];
65
+
66
+ export declare const AllBodyParts: number[];
67
+
68
+ export declare const AllBodyPartsSorts: ItemSort[];
69
+
70
+ export declare const AllCharacterSorts: ItemSort[];
71
+
72
+ export declare const AllClothingSorts: ItemSort[];
73
+
74
+ export declare const AlphaMode: {
75
+ Overlay: number;
76
+ Transparency: number;
77
+ TintMask: number;
78
+ };
79
+
80
+ export declare type AnimationProp = "ClimbAnimation" | "FallAnimation" | "IdleAnimation" | "JumpAnimation" | "MoodAnimation" | "RunAnimation" | "SwimAnimation" | "WalkAnimation" | "dance1" | "dance2" | "dance3" | "toolnone";
81
+
82
+ export declare const AnimationPropToName: {
83
+ [K in AnimationProp]: string;
84
+ };
85
+
86
+ export declare type AnimationSet = {
87
+ [K in string]: AnimationSetEntry[];
88
+ };
89
+
90
+ export declare type AnimationSetEntry = {
91
+ id: string;
92
+ weight: number;
93
+ isEmote?: boolean;
94
+ };
95
+
96
+ export declare class AnimationTrack {
97
+ trackType: AnimationTrackType;
98
+ keyframeGroups: (PartKeyframeGroup | FaceKeyframeGroup)[];
99
+ curves: (PartCurve | FaceCruve)[];
100
+ isPlaying: boolean;
101
+ timePosition: number;
102
+ weight: number;
103
+ finished: boolean;
104
+ rig?: Instance;
105
+ length: number;
106
+ looped: boolean;
107
+ priority: number;
108
+ pOriginalWeight: number;
109
+ pTargetWeight: number;
110
+ pSpeed: number;
111
+ pFadedTime: number;
112
+ pFadeTime: number;
113
+ getNamedMotor(motorName: string, parentName: string): Instance | undefined;
114
+ findMotor6D(part0: Instance, part1: Instance): Instance | undefined;
115
+ findPartKeyframeGroup(motorName: string, motorParentName: string): PartKeyframeGroup | undefined;
116
+ findFaceKeyframeGroup(controlName: string): FaceKeyframeGroup | undefined;
117
+ addPartKeyframe(motorName: string, motorParentName: string, keyframe: PartKeyframe): void;
118
+ createPartKeyframe(keyframe: Instance, pose: Instance): [string, string, PartKeyframe] | [undefined, undefined, undefined];
119
+ addFaceKeyframe(controlName: string, parentName: string, keyframe: FaceKeyframe): void;
120
+ createFaceKeyframe(keyframe: Instance, pose: Instance): FaceKeyframe | undefined;
121
+ createPartCurve(motor: string, motorParent: string, child: Instance): PartCurve;
122
+ createFaceCurve(controlName: string, parentName: string, control: Instance): FaceCruve;
123
+ addKeyframe(keyframe: Instance): void;
124
+ loadAnimation(rig: Instance, animation: Instance): this;
125
+ /**
126
+ * @deprecated, reset inside Animator instead
127
+ */
128
+ resetMotorTransforms(): void;
129
+ renderPose(): void;
130
+ setTime(time: number): void;
131
+ /**
132
+ * Remember to call tick() on each frame
133
+ */
134
+ Play(fadeTime?: number, weight?: number, speed?: number): void;
135
+ /**
136
+ * Remember to call tick() on each frame
137
+ */
138
+ Stop(fadeTime?: number): void;
139
+ /**
140
+ *
141
+ * @returns looped
142
+ */
143
+ tick(deltaTime?: number): boolean;
144
+ }
145
+
146
+ declare type AnimationTrackType = "Sequence" | "Curve";
147
+
148
+ export declare class AnimatorWrapper extends InstanceWrapper {
149
+ static className: string;
150
+ static requiredProperties: string[];
151
+ setup(): void;
152
+ get data(): AnimatorWrapperData;
153
+ _pickRandom(entries: AnimationSetEntry[]): AnimationSetEntry;
154
+ _getTrack(id: string): AnimationTrack | undefined;
155
+ _switchAnimation(name: string): boolean;
156
+ stopMoodAnimation(): void;
157
+ _switchMoodAnimation(name: string): boolean;
158
+ isValidTrackForSet(track: AnimationTrack, name: string): boolean;
159
+ _fixUnloaded(): void;
160
+ restPose(includeMotors?: boolean, includeFACS?: boolean): void;
161
+ renderAnimation(addTime?: number): void;
162
+ loadAvatarAnimation(id: bigint, isEmote?: boolean, forceLoop?: boolean): Promise<Response | undefined>;
163
+ playAnimation(name: string, type?: "main" | "mood" | "tool"): boolean;
164
+ }
165
+
166
+ declare class AnimatorWrapperData {
167
+ animationSet: AnimationSet;
168
+ emotes: Map<bigint, AnimationSetEntry>;
169
+ animationTracks: Map<bigint, AnimationTrack>;
170
+ currentAnimation?: string;
171
+ currentAnimationTrack?: AnimationTrack;
172
+ currentToolAnimation?: string;
173
+ currentToolAnimationTrack?: AnimationTrack;
174
+ currentMoodAnimation?: string;
175
+ currentMoodAnimationTrack?: AnimationTrack;
176
+ moodTracks: AnimationTrack[];
177
+ }
178
+
179
+ export declare const animNamesR15: AnimationSet;
180
+
181
+ export declare const animNamesR6: AnimationSet;
182
+
183
+ export declare const API: {
184
+ Misc: {
185
+ startCurrentlyLoadingAssets: () => void;
186
+ stopCurrentlyLoadingAssets: () => void;
187
+ idFromStr: (str: string) => number;
188
+ parseAssetString: (str: string) => string | undefined;
189
+ };
190
+ Events: {
191
+ OnLoadingAssets: Event_2;
192
+ };
193
+ Generic: {
194
+ LoadImage: (url: string) => Promise<HTMLImageElement | undefined>;
195
+ GetManifestVersion: () => string;
196
+ IsDevMode: () => boolean;
197
+ GetBrowser: () => RoAvatarBrowser;
198
+ GetRoAvatarData: () => Promise<RoAvatarData | Response | undefined>;
199
+ JoinPlace: (placeId: number) => void;
200
+ };
201
+ Auth: {
202
+ GetAuth: () => Promise<Authentication>;
203
+ };
204
+ Economy: {
205
+ GetAssetDetails: (assetId: number) => Promise<Response>;
206
+ };
207
+ Avatar: {
208
+ WearOutfit: (auth: Authentication, outfit: Outfit, onlyItems: boolean) => Promise<[boolean, boolean]>;
209
+ SaveOutfitNoRetry: (auth: Authentication, outfit: Outfit) => Promise<Response>;
210
+ GetAvatarDetails: (userId: number) => Promise<Response | Outfit>;
211
+ GetAvatarInventory: (sortOption: string, pageToken: string | null | undefined, itemInfos?: ItemSort[]) => Promise<AvatarInventory_Result | Response>;
212
+ GetOutfitDetails: (outfitId: number | string, userId: number) => Promise<Response | Outfit>;
213
+ SaveOutfit: (auth: Authentication, outfit: Outfit) => Promise<Response>;
214
+ UpdateOutfit: (auth: Authentication, outfitId: number | string, newOutfit: Outfit) => Promise<Response>;
215
+ PatchOutfit: (auth: Authentication, outfitId: number | string, patchData: any) => Promise<Response>;
216
+ DeleteOutfit: (auth: Authentication, outfitId: number | string) => Promise<Response>;
217
+ GetEmotes: () => Promise<Response>;
218
+ EquipEmote: (auth: Authentication, assetId: number | string, slot: number) => Promise<Response>;
219
+ UnequipEmote: (auth: Authentication, slot: number) => Promise<Response>;
220
+ GetAvatarRules: () => Promise<Response>;
221
+ RedrawThumbnail: (auth: Authentication) => Promise<Response>;
222
+ GetThumbnailCustomization: () => Promise<Response>;
223
+ SetThumbnailCustomization: (auth: Authentication, body: ThumbnailsCustomization_Payload) => Promise<Response>;
224
+ };
225
+ Asset: {
226
+ GetAssetBuffer: (url: string, headers?: HeadersInit) => Promise<ArrayBuffer | Response>;
227
+ GetRBX: (url: string, headers?: HeadersInit) => Promise<RBX | Response>;
228
+ GetMesh: (url: string, headers?: HeadersInit, readOnly?: boolean) => Promise<FileMesh | Response>;
229
+ IsLayered: (id: number) => Promise<boolean | Response>;
230
+ };
231
+ Catalog: {
232
+ GetNavigationMenuItems: () => Promise<NavigationMenuItems | Response>;
233
+ GetTopics: (auth: Authentication, body: GetTopics_Payload) => Promise<GetTopics_Result | Response>;
234
+ Search: ({ taxonomy, salesTypeFilter, sortType, categoryFilter, keyword, topics, creatorName, minPrice, maxPrice, includeNotForSale, limit }: Search_Payload, cursor?: string) => Promise<Search_Result | Response>;
235
+ GetBundleDetails: (bundleId: number | string) => Promise<BundleDetails_Result | Response>;
236
+ GetItemDetails: (auth: Authentication, items: {
237
+ itemType: "Asset" | "Bundle";
238
+ id: number;
239
+ }[]) => Promise<ItemDetails_Result | Response>;
240
+ GetMarketplaceWidgetsSearch: (query: string) => Promise<MarketplaceWidgets_Result | Response>;
241
+ GetMarketplaceWidgets: (context?: string) => Promise<MarketplaceWidgets_Result | Response>;
242
+ };
243
+ Inventory: {
244
+ GetInventory: (userId: number, assetType: number, cursor?: string) => Promise<Response>;
245
+ IsItemOwned: (userId: number, itemType: string, assetId: number) => Promise<any>;
246
+ };
247
+ Users: {
248
+ GetUserInfo: () => Promise<UserInfo | undefined>;
249
+ };
250
+ Thumbnails: {
251
+ GetThumbnail: (auth: Authentication, type: string, id: number | string, size?: string) => Promise<string | undefined>;
252
+ UncacheThumbnail: (type: string, id: number | string, size?: string) => void;
253
+ RenderOutfit: (auth: Authentication, outfit: Outfit, attempt?: number) => Promise<string | undefined>;
254
+ };
255
+ LocalOutfit: {
256
+ GetLocalOutfits: () => Promise<LocalOutfit[]>;
257
+ SetLocalOutfits: (localOutfits: LocalOutfit[]) => Promise<undefined>;
258
+ };
259
+ Looks: {
260
+ GetLook: (lookId: string) => Promise<Response | Look_Result>;
261
+ GetUserLooks: (userId: number, cursor?: string) => Promise<Response | UserLooks_Result>;
262
+ CreateLook: (auth: Authentication, outfit: Outfit, name: string, description: string) => Promise<Response>;
263
+ DeleteLook: (auth: Authentication, lookId: string) => Promise<Response>;
264
+ };
265
+ PremiumFeatures: {
266
+ GetSubscription: (userId: number) => Promise<Response | GetSubscription_Result>;
267
+ };
268
+ };
269
+
270
+ export declare function arrayBufferToBase64(buffer: ArrayBuffer): string;
271
+
272
+ export declare class Asset {
273
+ id: number;
274
+ name: string;
275
+ assetType: AssetType;
276
+ currentVersionId?: number;
277
+ meta?: AssetMeta;
278
+ supportsHeadShapes?: boolean;
279
+ notOwned?: boolean;
280
+ _uuid: number;
281
+ clone(): Asset;
282
+ toJson(): AssetJson;
283
+ fromJson(assetJson: AssetJson): void;
284
+ setOrder(order: number): void;
285
+ }
286
+
287
+ export declare type AssetJson = {
288
+ id?: number;
289
+ name?: string;
290
+ assetType?: AssetTypeJson;
291
+ currentVersionId?: number;
292
+ meta?: AssetMetaJson;
293
+ supportsHeadShapes?: boolean;
294
+ };
295
+
296
+ export declare class AssetMeta {
297
+ version: number;
298
+ order?: number;
299
+ puffiness?: number;
300
+ position?: VecXYZ;
301
+ rotation?: VecXYZ;
302
+ scale?: VecXYZ;
303
+ headShape?: number;
304
+ constructor();
305
+ clone(): AssetMeta;
306
+ toJson(): AssetMetaJson;
307
+ fromJson(assetMetaJson: AssetMetaJson): void;
308
+ }
309
+
310
+ export declare type AssetMetaJson = {
311
+ version?: number;
312
+ position?: VecXYZ | Vecxyz | null;
313
+ rotation?: VecXYZ | Vecxyz | null;
314
+ scale?: VecXYZ | Vecxyz | null;
315
+ order?: number | null;
316
+ puffiness?: number | null;
317
+ headShape?: "Invalid" | number;
318
+ };
319
+
320
+ export declare class AssetType {
321
+ _id: number;
322
+ name: string;
323
+ constructor();
324
+ clone(): AssetType;
325
+ toJson(): {
326
+ id: number;
327
+ name: string;
328
+ };
329
+ fromJson(assetTypeJson: AssetTypeJson): void;
330
+ set id(newId: number);
331
+ get id(): number;
332
+ }
333
+
334
+ export declare type AssetTypeJson = {
335
+ id?: number;
336
+ name?: string;
337
+ };
338
+
339
+ export declare const AssetTypeNameToId: Map<string, number>;
340
+
341
+ export declare const AssetTypes: string[];
342
+
343
+ export declare const AssetTypeToAccessoryType: {
344
+ Hat: number;
345
+ HairAccessory: number;
346
+ FaceAccessory: number;
347
+ NeckAccessory: number;
348
+ ShoulderAccessory: number;
349
+ FrontAccessory: number;
350
+ BackAccessory: number;
351
+ WaistAccessory: number;
352
+ TShirtAccessory: number;
353
+ ShirtAccessory: number;
354
+ PantsAccessory: number;
355
+ JacketAccessory: number;
356
+ SweaterAccessory: number;
357
+ ShortsAccessory: number;
358
+ LeftShoeAccessory: number;
359
+ RightShoeAccessory: number;
360
+ DressSkirtAccessory: number;
361
+ EyebrowAccessory: number;
362
+ EyelashAccessory: number;
363
+ };
364
+
365
+ export declare const AssetTypeToMakeupType: {
366
+ FaceMakeup: number;
367
+ LipMakeup: number;
368
+ EyeMakeup: number;
369
+ };
370
+
371
+ export declare class Authentication {
372
+ TOKEN?: string;
373
+ SessionUUID?: string;
374
+ info?: {
375
+ id: number;
376
+ name: string;
377
+ displayName: string;
378
+ };
379
+ lastRefreshed: number;
380
+ getUserInfo(): Promise<{
381
+ id: number;
382
+ name: string;
383
+ displayName: string;
384
+ } | undefined>;
385
+ getToken(): Promise<void>;
386
+ getCachedToken(): string | undefined;
387
+ getSessionUUID(): string;
388
+ }
389
+
390
+ export declare interface AvatarInventory_Result {
391
+ avatarInventoryItems: {
392
+ itemId: number;
393
+ itemName: string;
394
+ itemCategory: {
395
+ itemType: number;
396
+ itemSubType: number;
397
+ };
398
+ availabilityStatus: string;
399
+ acquisitionTime: string;
400
+ outfitDetail?: {
401
+ assets: {
402
+ id: number;
403
+ }[];
404
+ bodyColor3s: {
405
+ headColor3: string;
406
+ leftArmColor3: string;
407
+ leftLegColor3: string;
408
+ rightArmColor3: string;
409
+ rightLegColor3: string;
410
+ torsoColor3: string;
411
+ };
412
+ playerAvatarType: "R6" | "R15";
413
+ scales: {
414
+ bodyType: number;
415
+ depth: number;
416
+ head: number;
417
+ height: number;
418
+ proportion: number;
419
+ width: number;
420
+ };
421
+ };
422
+ }[];
423
+ nextPageToken: string | null;
424
+ }
425
+
426
+ export declare type AvatarType = "R6" | "R15";
427
+
428
+ export declare const AvatarType: {
429
+ [K in AvatarType]: AvatarType;
430
+ };
431
+
432
+ export declare function base64ToArrayBuffer(base64: string): ArrayBuffer;
433
+
434
+ declare class BaseKeyframe {
435
+ time: number;
436
+ easingDirection: number;
437
+ easingStyle: number;
438
+ constructor(time: number);
439
+ }
440
+
441
+ declare class BaseKeyframeGroup {
442
+ keyframes: BaseKeyframe[];
443
+ getLowerKeyframe(time: number): BaseKeyframe | null;
444
+ getHigherKeyframe(time: number): BaseKeyframe | null;
445
+ }
446
+
447
+ export declare class BodyColor3s {
448
+ colorType: ColorType;
449
+ headColor3: string;
450
+ torsoColor3: string;
451
+ rightArmColor3: string;
452
+ leftArmColor3: string;
453
+ rightLegColor3: string;
454
+ leftLegColor3: string;
455
+ constructor();
456
+ clone(): BodyColor3s;
457
+ setAll(color: string): void;
458
+ toJson(): BodyColor3sJson;
459
+ toHexJson(): {
460
+ headColor: string;
461
+ torsoColor: string;
462
+ rightArmColor: string;
463
+ leftArmColor: string;
464
+ rightLegColor: string;
465
+ leftLegColor: string;
466
+ };
467
+ fromJson(bodyColorsJson: BodyColor3sJson): void;
468
+ }
469
+
470
+ declare type BodyColor3sJson = {
471
+ headColor3?: string;
472
+ torsoColor3?: string;
473
+ rightArmColor3?: string;
474
+ leftArmColor3?: string;
475
+ rightLegColor3?: string;
476
+ leftLegColor3?: string;
477
+ };
478
+
479
+ export declare class BodyColors {
480
+ colorType: ColorType;
481
+ headColorId: number;
482
+ torsoColorId: number;
483
+ rightArmColorId: number;
484
+ leftArmColorId: number;
485
+ rightLegColorId: number;
486
+ leftLegColorId: number;
487
+ constructor();
488
+ clone(): BodyColors;
489
+ setAll(colorId: number): void;
490
+ toJson(): BodyColorsJson;
491
+ toHexJson(): {
492
+ headColor: string;
493
+ torsoColor: string;
494
+ rightArmColor: string;
495
+ leftArmColor: string;
496
+ rightLegColor: string;
497
+ leftLegColor: string;
498
+ };
499
+ fromJson(bodyColorsJson: BodyColorsJson): void;
500
+ toColor3(): BodyColor3s;
501
+ }
502
+
503
+ declare type BodyColorsJson = {
504
+ headColorId?: number;
505
+ torsoColorId?: number;
506
+ rightArmColorId?: number;
507
+ leftArmColorId?: number;
508
+ rightLegColorId?: number;
509
+ leftLegColorId?: number;
510
+ };
511
+
512
+ export declare const BodyPart: {
513
+ Head: number;
514
+ Torso: number;
515
+ LeftArm: number;
516
+ RightArm: number;
517
+ LeftLeg: number;
518
+ RightLeg: number;
519
+ };
520
+
521
+ export declare class BodyPartDescriptionWrapper extends InstanceWrapper {
522
+ static className: string;
523
+ static requiredProperties: string[];
524
+ setup(): void;
525
+ }
526
+
527
+ export declare const BodyPartEnumToNames: {
528
+ [K in number]: string[];
529
+ };
530
+
531
+ export declare const BodyPartNameToEnum: {
532
+ [K in string]: number;
533
+ };
534
+
535
+ export declare const BrickColors: {
536
+ [K in number]: string;
537
+ };
538
+
539
+ export declare function browserOpenURL(url: string): void;
540
+
541
+ export declare function browserSendMessage(data: {
542
+ [K in string]: string;
543
+ }): Promise<any>;
544
+
545
+ export declare function BuildJoints(self: RigData): void;
546
+
547
+ export declare interface BundleDetails_Result {
548
+ bundleType: number;
549
+ bundledItems: {
550
+ id: number;
551
+ name: string;
552
+ owned: boolean;
553
+ type: "Asset" | "UserOutfit";
554
+ }[];
555
+ collectibleItemId: string;
556
+ creatorHasVerifiedBadge: boolean;
557
+ creatorName: string;
558
+ creatorTargetId: number;
559
+ creatorType: "User" | "Group";
560
+ description: string;
561
+ expectedSellerId: number;
562
+ favoriteCount: number;
563
+ hasResellers: boolean;
564
+ id: number;
565
+ isPBR: boolean;
566
+ isPurchasable: boolean;
567
+ isRecolorable: boolean;
568
+ itemCreatedUtc: string;
569
+ itemRestrictions: string[];
570
+ itemStatus: unknown[];
571
+ itemType: "Asset" | "Bundle";
572
+ lowestPrice: number;
573
+ lowestResalePrice: number;
574
+ name: string;
575
+ offSaleDeadline: null | unknown;
576
+ owned: boolean;
577
+ price: number;
578
+ productId: number;
579
+ saleLocationType: SaleLocationType;
580
+ totalQuantity: number;
581
+ unitsAvailableForConsumption: number;
582
+ }
583
+
584
+ export declare const BundleTypes: string[];
585
+
586
+ export declare function calculateMotor6Doffset(motor: Instance, includeTransform?: boolean): CFrame;
587
+
588
+ export declare const CatalogBundleTypes: string[];
589
+
590
+ export declare const CategoryDictionary: {
591
+ [K in string]: {
592
+ [K in string]: {
593
+ [K in string]: SortInfo | SpecialInfo;
594
+ };
595
+ };
596
+ };
597
+
598
+ export declare class CFrame {
599
+ Position: Vec3;
600
+ Orientation: Vec3;
601
+ constructor(x?: number, y?: number, z?: number);
602
+ clone(): CFrame;
603
+ getTHREEMatrix(): THREE.Matrix4;
604
+ getMatrix(): THREE.Matrix4Tuple;
605
+ fromMatrix(m: Mat4x4): this;
606
+ fromRotationMatrix(r00: number, r01: number, r02: number, r10: number, r11: number, r12: number, r20: number, r21: number, r22: number, order?: string): void;
607
+ inverse(): CFrame;
608
+ multiply(cf: CFrame): CFrame;
609
+ isSame(other: CFrame): boolean;
610
+ }
611
+
612
+ export declare function clonePrimitiveArray<T>(arr: T[]): T[];
613
+
614
+ export declare function cloneSearch_Payload(data: Search_Payload): Search_Payload;
615
+
616
+ declare type ClothingDiffType = "Shirt" | "Pants" | "GraphicTShirt";
617
+
618
+ export declare class Color3 {
619
+ R: number;
620
+ G: number;
621
+ B: number;
622
+ constructor(R?: number, G?: number, B?: number);
623
+ clone(): Color3;
624
+ toColor3uint8(): Color3uint8;
625
+ multiply(vec3: Color3): Color3;
626
+ divide(vec3: Color3): Color3;
627
+ add(vec3: Color3): Color3;
628
+ minus(vec3: Color3): Color3;
629
+ }
630
+
631
+ export declare class Color3uint8 {
632
+ R: number;
633
+ G: number;
634
+ B: number;
635
+ constructor(R?: number, G?: number, B?: number);
636
+ clone(): Color3uint8;
637
+ toColor3(): Color3;
638
+ }
639
+
640
+ export declare class ColorSequence {
641
+ keypoints: ColorSequenceKeypoint[];
642
+ static fromColor(color: Color3): ColorSequence;
643
+ clone(): ColorSequence;
644
+ getLowerKey(time: number): ColorSequenceKeypoint | null;
645
+ getHigherKey(time: number): ColorSequenceKeypoint | null;
646
+ getValue(time: number): Color3;
647
+ }
648
+
649
+ export declare class ColorSequenceKeypoint {
650
+ time: number;
651
+ value: Color3;
652
+ constructor(time: number, r: number, g: number, b: number);
653
+ clone(): ColorSequenceKeypoint;
654
+ }
655
+
656
+ export declare type ColorType = "BrickColor" | "Color3";
657
+
658
+ export declare class Connection {
659
+ Connected: boolean;
660
+ _callback: (...args: unknown[]) => unknown;
661
+ _event: Event_2 | undefined;
662
+ constructor(callback: (...args: unknown[]) => unknown, event: Event_2);
663
+ Disconnect(): void;
664
+ }
665
+
666
+ export declare class Content {
667
+ sourceType: number;
668
+ uri?: string;
669
+ object?: Instance;
670
+ externalObject?: Instance;
671
+ }
672
+
673
+ declare class COREMESH {
674
+ numverts: number;
675
+ verts: FileMeshVertex[];
676
+ numfaces: number;
677
+ faces: FileMeshFace[];
678
+ clone(): COREMESH;
679
+ getTriangle(index: number): Triangle;
680
+ getTouchingVerts(index: number): number[];
681
+ }
682
+
683
+ export declare const DataType: {
684
+ String: number;
685
+ Bool: number;
686
+ Int32: number;
687
+ Float32: number;
688
+ Float64: number;
689
+ UDim: number;
690
+ UDim2: number;
691
+ Ray: number;
692
+ Faces: number;
693
+ Axes: number;
694
+ BrickColor: number;
695
+ Color3: number;
696
+ Vector2: number;
697
+ Vector3: number;
698
+ CFrame: number;
699
+ Enum: number;
700
+ Referent: number;
701
+ NumberSequence: number;
702
+ ColorSequence: number;
703
+ NumberRange: number;
704
+ Color3uint8: number;
705
+ Int64: number;
706
+ SharedString: number;
707
+ Bytecode: number;
708
+ Capabilites: number;
709
+ Content: number;
710
+ NonSerializable: number;
711
+ };
712
+
713
+ /**
714
+ * @deprecated
715
+ */
716
+ export declare const DefaultAnimations: {
717
+ [K in AnimationProp]: [string, [string, bigint][]];
718
+ };
719
+
720
+ /**
721
+ * @deprecated
722
+ */
723
+ export declare const DefaultAnimationsR6: typeof DefaultAnimations;
724
+
725
+ export declare const defaultPantAssetIds: number[];
726
+
727
+ export declare const defaultPantTemplateAssetIds: number[];
728
+
729
+ export declare const DefaultSearchData: {
730
+ [K in string]: {
731
+ [K in string]: unknown;
732
+ };
733
+ };
734
+
735
+ export declare const defaultShirtAssetIds: number[];
736
+
737
+ export declare const defaultShirtTemplateAssetIds: number[];
738
+
739
+ export declare function deg(radians: number): number;
740
+
741
+ declare class DisposableDesc {
742
+ disposeMesh(scene: THREE.Scene, mesh: THREE.Mesh): void;
743
+ disposeMeshes(scene: THREE.Scene, meshes: THREE.Mesh[]): void;
744
+ disposeRenderLists(renderer: THREE.WebGLRenderer): void;
745
+ dispose(_renderer: THREE.WebGLRenderer, _scene: THREE.Scene): void;
746
+ }
747
+
748
+ export declare function download(filename: string, text: string): void;
749
+
750
+ export declare const EmitterGroupDescClassTypes: string[];
751
+
752
+ declare class Event_2 {
753
+ _callbacks: ((...args: unknown[]) => unknown)[];
754
+ Connect(callback: (...args: unknown[]) => unknown): Connection;
755
+ Fire(...args: unknown[]): void;
756
+ Disconnect(callback: (...args: unknown[]) => unknown): void;
757
+ Clear(): void;
758
+ }
759
+ export { Event_2 as Event }
760
+
761
+ export declare const FaceControlNames: string[];
762
+
763
+ export declare class FaceControlsWrapper extends InstanceWrapper {
764
+ static className: string;
765
+ static requiredProperties: string[];
766
+ setup(): void;
767
+ }
768
+
769
+ declare class FaceCruve {
770
+ controlName: string;
771
+ parentName: string;
772
+ value?: FloatCurve;
773
+ }
774
+
775
+ declare class FaceKeyframe extends BaseKeyframe {
776
+ value: number;
777
+ constructor(time: number, value: number);
778
+ }
779
+
780
+ declare class FaceKeyframeGroup extends BaseKeyframeGroup {
781
+ controlName: string;
782
+ parentName: string;
783
+ keyframes: FaceKeyframe[];
784
+ getHigherKeyframe(time: number): FaceKeyframe | null;
785
+ getLowerKeyframe(time: number): FaceKeyframe | null;
786
+ }
787
+
788
+ declare class FACS {
789
+ faceBoneNames: string[];
790
+ faceControlNames: string[];
791
+ quantizedTransforms?: QuantizedTransform;
792
+ twoPoseCorrectives: TwoPoseCorrective[];
793
+ threePoseCorrectives: ThreePoseCorrective[];
794
+ clone(): FACS;
795
+ }
796
+
797
+ declare class FileMesh {
798
+ version: string;
799
+ facsDataFormat: number;
800
+ sizeOfFacsData: number;
801
+ coreMesh: COREMESH;
802
+ lods: LODS;
803
+ skinning: SKINNING;
804
+ facs?: FACS;
805
+ hsrAvis?: HSRAVIS;
806
+ _bounds?: [Vec3, Vec3];
807
+ _size?: Vec3;
808
+ get bounds(): [Vec3, Vec3];
809
+ get size(): Vec3;
810
+ constructor();
811
+ clone(): FileMesh;
812
+ reset(): void;
813
+ recalculateNormals(): void;
814
+ readChunk(view: SimpleView): Promise<void>;
815
+ readChunkLODS(view: SimpleView, version: number): void;
816
+ readChunkSKINNING(view: SimpleView, version: number): void;
817
+ readChunkHSRAVIS(view: SimpleView, version: number): void;
818
+ readChunkCOREMESH(view: SimpleView, version: number): Promise<void>;
819
+ readChunkFACS(view: SimpleView, version: number): void;
820
+ fromBuffer(buffer: ArrayBuffer): Promise<void>;
821
+ stripLODS(): void;
822
+ padSkinnings(): void;
823
+ combine(other: FileMesh): void;
824
+ /**
825
+ * @deprecated it doesnt work with LODS
826
+ */
827
+ deleteVert(i: number): void;
828
+ removeDuplicateVertices(distance?: number): number;
829
+ basicSkin(boneNames: string[]): void;
830
+ getValidationIssue(): "subsetLengthMismatch" | undefined;
831
+ }
832
+
833
+ declare class FileMeshBone {
834
+ boneNameIndex: number;
835
+ parentIndex: number;
836
+ lodParentIndex: number;
837
+ culling: number;
838
+ rotationMatrix: Mat3x3;
839
+ position: Vec3;
840
+ clone(): FileMeshBone;
841
+ }
842
+
843
+ declare class FileMeshFace {
844
+ a: number;
845
+ b: number;
846
+ c: number;
847
+ constructor(a: number, b: number, c: number);
848
+ clone(): FileMeshFace;
849
+ }
850
+
851
+ declare class FileMeshSkinning {
852
+ subsetIndices: Vec4;
853
+ boneWeights: Vec4;
854
+ clone(): FileMeshSkinning;
855
+ }
856
+
857
+ declare class FileMeshSubset {
858
+ facesBegin: number;
859
+ facesLength: number;
860
+ vertsBegin: number;
861
+ vertsLength: number;
862
+ numBoneIndices: number;
863
+ boneIndices: number[];
864
+ clone(): FileMeshSubset;
865
+ }
866
+
867
+ declare class FileMeshVertex {
868
+ position: Vec3;
869
+ normal: Vec3;
870
+ uv: Vec2;
871
+ tangent: Vec4;
872
+ color: Vec4;
873
+ constructor(position?: Vec3, normal?: Vec3, uv?: Vec2, tangent?: Vec4, color?: Vec4);
874
+ clone(): FileMeshVertex;
875
+ }
876
+
877
+ export declare const FLAGS: {
878
+ HAIR_IS_BODYPART: boolean;
879
+ BODYCOLOR3: boolean;
880
+ ENABLE_API_CACHE: boolean;
881
+ ROAVATAR_DATA_URL: string;
882
+ ROAVATAR_TRYON_PLACE: number;
883
+ ENABLE_LC_WEIGHT_CACHE: boolean;
884
+ INFLATE_LAYERED_CLOTHING: number;
885
+ LAYERED_CLOTHING_ALGORITHM: "linear" | "linearnormal" | "linearnormal2" | "rbf";
886
+ RBF_PATCH_COUNT: number;
887
+ RBF_PATCH_DETAIL_SAMPLES: 48;
888
+ RBF_PATCH_SHAPE_SAMPLES: 32;
889
+ USE_VERTEX_COLOR: boolean;
890
+ USE_POST_PROCESSING: boolean;
891
+ POST_PROCESSING_IS_DOUBLE_SIZE: boolean;
892
+ GEAR_ENABLED: boolean;
893
+ SHOW_SKELETON_HELPER: boolean;
894
+ UPDATE_SKELETON: boolean;
895
+ ANIMATE_SKELETON: boolean;
896
+ AUTO_SKIN_EVERYTHING: boolean;
897
+ SEARCH_FOR_STRING: string | undefined;
898
+ LOAD_TEST_PLACE: string | undefined;
899
+ };
900
+
901
+ declare class FloatCurve {
902
+ keys: FloatCurveKey[];
903
+ maxTime: number;
904
+ fromBuffer(arrayBuffer: ArrayBuffer): this;
905
+ getLowerKey(time: number): FloatCurveKey | null;
906
+ getHigherKey(time: number): FloatCurveKey | null;
907
+ }
908
+
909
+ declare type FloatCurve3 = [FloatCurve, FloatCurve, FloatCurve];
910
+
911
+ declare class FloatCurveKey {
912
+ time: number;
913
+ value: number;
914
+ interpolation: number;
915
+ leftTangent?: number;
916
+ rightTangent?: number;
917
+ }
918
+
919
+ export declare const FullBodyColors: string[];
920
+
921
+ export declare function generateUUIDv4(): string;
922
+
923
+ export declare function GetAttachedPart(accessory: Instance, rig: Instance): Instance | undefined;
924
+
925
+ export declare function getOriginalSize(part: Instance): Vector3;
926
+
927
+ export declare function getRandomBetweenInclusive(min: number, max: number): number;
928
+
929
+ export declare interface GetSubscription_Result {
930
+ "subscriptionProductModel": {
931
+ "premiumFeatureId": number;
932
+ "subscriptionTypeName": string;
933
+ "robuxStipendAmount": number;
934
+ "isLifetime": boolean;
935
+ "expiration": string;
936
+ "renewal": string;
937
+ "renewedSince": string;
938
+ "created": string;
939
+ "purchasePlatform": string;
940
+ "subscriptionName": string;
941
+ };
942
+ }
943
+
944
+ export declare interface GetTopics_Payload {
945
+ items: unknown[];
946
+ maxResult: 40;
947
+ selectTopics: string[];
948
+ }
949
+
950
+ export declare interface GetTopics_Result {
951
+ error: null | unknown;
952
+ topics: {
953
+ displayName: string;
954
+ originalTopicName: string;
955
+ }[];
956
+ }
957
+
958
+ export declare function hasSameVal(instance0: Instance, instance1: Instance, propertyName: string): boolean;
959
+
960
+ export declare function hasSameValFloat(instance0: Instance, instance1: Instance, propertyName: string): boolean;
961
+
962
+ export declare function hexToColor3(hex: string): Color3;
963
+
964
+ export declare function hexToRgb(hex: string): {
965
+ r: number;
966
+ g: number;
967
+ b: number;
968
+ } | null;
969
+
970
+ declare class HSRAVIS {
971
+ bitFlags: boolean[];
972
+ clone(): HSRAVIS;
973
+ }
974
+
975
+ declare type HumanoidDescriptionDiff = "scale" | "bodyColor" | "animation" | "bodyPart" | "clothing" | "face" | "accessory" | "makeup" | "gear";
976
+
977
+ export declare class HumanoidDescriptionWrapper extends InstanceWrapper {
978
+ static className: string;
979
+ static requiredProperties: string[];
980
+ cancelApply: boolean;
981
+ setup(): void;
982
+ reset(): void;
983
+ /**
984
+ * @returns [diffs, addedAccessories, removedAccessories]
985
+ */
986
+ compare(originalW: HumanoidDescriptionWrapper): [HumanoidDescriptionDiff[], bigint[], bigint[], bigint[], bigint[]];
987
+ getMakeupDescriptions(): Instance[];
988
+ getMakeupIds(): bigint[];
989
+ getMakeupDescriptionWithId(id: bigint): Instance | undefined;
990
+ getAccessoryDescriptions(): Instance[];
991
+ getAccessoryIds(): bigint[];
992
+ getAccessoryDescriptionWithId(id: bigint): Instance | undefined;
993
+ getBodyPartDescription(bodyPart: number): Instance | undefined;
994
+ getBodyPartColor(bodyPart: number): Color3;
995
+ setBodyPartId(bodyPart: number, id: bigint): void;
996
+ getBodyPartId(bodyPart: number): bigint;
997
+ createRigData(): RigData | undefined;
998
+ fromOutfit(outfit: Outfit): Promise<Instance | Response>;
999
+ _applyScale(humanoid: Instance): void;
1000
+ _applyBodyColors(humanoid: Instance): void;
1001
+ /**
1002
+ * @returns undefined on success
1003
+ */
1004
+ _applyBodyParts(humanoid: Instance, toChange?: number[]): Promise<Response | undefined>;
1005
+ /**
1006
+ * @returns undefined on success
1007
+ */
1008
+ _applyClothing(humanoid: Instance, toChange?: ClothingDiffType[]): Promise<undefined | Response>;
1009
+ /**
1010
+ * @returns undefined on success
1011
+ */
1012
+ _applyFace(humanoid: Instance): Promise<undefined | Response>;
1013
+ /**
1014
+ * @returns undefined on success
1015
+ */
1016
+ _applyGear(humanoid: Instance): Promise<undefined | Response>;
1017
+ _inheritAccessoryReferences(originalW: HumanoidDescriptionWrapper): void;
1018
+ _inheritMakeupReferences(originalW: HumanoidDescriptionWrapper): void;
1019
+ /**
1020
+ * @returns undefined on success
1021
+ */
1022
+ _applyAccessories(humanoid: Instance, originalW?: HumanoidDescriptionWrapper, addedIds?: bigint[], removedIds?: bigint[]): Promise<undefined | Response>;
1023
+ _applyMakeup(humanoid: Instance, originalW?: HumanoidDescriptionWrapper, addedIds?: bigint[], removedIds?: bigint[]): Promise<undefined | Response>;
1024
+ /**
1025
+ * @returns undefined on success
1026
+ */
1027
+ _applyAnimations(humanoid: Instance, toChange?: AnimationProp[]): Promise<undefined | Response>;
1028
+ /**
1029
+ * @returns undefined on success
1030
+ */
1031
+ _applyAll(humanoid: Instance): Promise<undefined | Response>;
1032
+ /**
1033
+ * @returns Instance on success
1034
+ */
1035
+ applyDescription(humanoid: Instance): Promise<Instance | Response | undefined>;
1036
+ }
1037
+
1038
+ export declare const HumanoidRigType: {
1039
+ R6: number;
1040
+ R15: number;
1041
+ };
1042
+
1043
+ export declare function imageUrlToDataUrl(imageUrl: string): Promise<string>;
1044
+
1045
+ declare class INST {
1046
+ classID: number;
1047
+ className: string;
1048
+ objectFormat: number;
1049
+ instanceCount: number;
1050
+ referents: number[];
1051
+ clone(): INST;
1052
+ }
1053
+
1054
+ export declare class Instance {
1055
+ _id: number;
1056
+ _name?: string;
1057
+ className: string;
1058
+ _properties: Map<string, Property>;
1059
+ _referencedBy: Instance[];
1060
+ _connectionReferences: Connection[];
1061
+ children: Instance[];
1062
+ parent?: Instance;
1063
+ destroyed: boolean;
1064
+ hasWrappered: boolean;
1065
+ classID?: number;
1066
+ objectFormat?: number;
1067
+ ChildAdded: Event_2;
1068
+ Destroying: Event_2;
1069
+ Changed: Event_2;
1070
+ AncestryChanged: Event_2;
1071
+ constructor(className: string, notComplete?: boolean);
1072
+ get id(): string;
1073
+ set name(value: string);
1074
+ get name(): string;
1075
+ createWrapper(): void;
1076
+ addConnectionReference(connection: Connection): void;
1077
+ removeConnectionReference(connection: Connection): void;
1078
+ addReferencedBy(instance: Instance): void;
1079
+ removeReferencedBy(instance: Instance): void;
1080
+ addProperty(property: Property, value?: unknown): void;
1081
+ fixPropertyName(name: string): string;
1082
+ setProperty(name: string, value: unknown): void;
1083
+ HasProperty(name: string): boolean;
1084
+ Property(name: string): unknown;
1085
+ Prop(name: string): unknown;
1086
+ PropOrDefault(name: string, def: unknown): unknown;
1087
+ PropertyType(name: string): number | undefined;
1088
+ getPropertyNames(): string[];
1089
+ setParent(instance: Instance | undefined | null): void;
1090
+ Destroy(): void;
1091
+ GetFullName(): string;
1092
+ GetChildren(): Instance[];
1093
+ GetDescendants(): Instance[];
1094
+ FindFirstChild(name: string): Instance | undefined;
1095
+ FindFirstDescendant(name: string): Instance | undefined;
1096
+ Child(name: string): Instance | undefined;
1097
+ FindFirstChildOfClass(className: string): Instance | undefined;
1098
+ FindLastChildOfClass(className: string): Instance | undefined;
1099
+ AccessoryBuildWeld(): void;
1100
+ }
1101
+
1102
+ declare class InstanceWrapper {
1103
+ static className: string;
1104
+ static requiredProperties: string[];
1105
+ instance: Instance;
1106
+ constructor(instance: Instance);
1107
+ setup(): void;
1108
+ static(): typeof InstanceWrapper;
1109
+ static register(): void;
1110
+ created(): void;
1111
+ destroy(): void;
1112
+ }
1113
+
1114
+ export declare interface Inventory_Result {
1115
+ data: {
1116
+ assetId: number;
1117
+ assetName: string;
1118
+ collectibleItemId: string | null;
1119
+ collectibleItemInstanceId: string | null;
1120
+ created: string;
1121
+ owner: {
1122
+ buildersClubMembershipType: string | "None";
1123
+ userId: number;
1124
+ username: string;
1125
+ };
1126
+ serialNumber: number;
1127
+ updated: string;
1128
+ userAssetId: number;
1129
+ }[];
1130
+ nextPageCursor: string | null;
1131
+ previousPageCursor: string | null;
1132
+ }
1133
+
1134
+ export declare function isAffectedByHumanoid(child: Instance): boolean;
1135
+
1136
+ export declare function isSameColor(color0: Color3, color1: Color3): boolean;
1137
+
1138
+ export declare function isSameFloat(num0: number, num1: number): boolean;
1139
+
1140
+ export declare function isSameVector3(vec0: Vector3, vec1: Vector3): boolean;
1141
+
1142
+ export declare interface ItemDetail_Result {
1143
+ assetType: number;
1144
+ bundledItems: [];
1145
+ collectibleItemId: string | null;
1146
+ creatorHasVerifiedBadge: boolean;
1147
+ creatorName: string;
1148
+ creatorTargetId: number;
1149
+ creatorType: "User" | "Group";
1150
+ description: string;
1151
+ favoriteCount: number;
1152
+ id: number;
1153
+ isOffSale: boolean;
1154
+ itemRestrictions: string[];
1155
+ itemStatus: string[];
1156
+ itemType: "Asset" | "Bundle";
1157
+ lowestPrice?: number;
1158
+ name: string;
1159
+ offsaleDeadline: null;
1160
+ saleLocationType: SaleLocationType;
1161
+ taxonomy: {
1162
+ taxonomyId: string;
1163
+ taxonomyName: string;
1164
+ };
1165
+ }
1166
+
1167
+ export declare interface ItemDetails_Result {
1168
+ data: ItemDetail_Result[];
1169
+ }
1170
+
1171
+ export declare class ItemInfo {
1172
+ itemType: ItemType;
1173
+ type: string;
1174
+ id: number | string;
1175
+ name: string;
1176
+ bundledAssets: number[];
1177
+ price?: number;
1178
+ limitedType?: "Limited" | "LimitedUnique";
1179
+ offsale?: boolean;
1180
+ constructor(itemType: ItemType, type: string, id: number | string, name: string);
1181
+ }
1182
+
1183
+ export declare class ItemSort {
1184
+ subType: number;
1185
+ itemType: string;
1186
+ constructor(subType: number, itemType?: string);
1187
+ }
1188
+
1189
+ declare type ItemType = "Asset" | "Bundle" | "Outfit" | "Look" | "None";
1190
+
1191
+ export declare const LayeredAssetTypes: string[];
1192
+
1193
+ export declare const LayeredClothingAssetOrder: {
1194
+ [K in number]: number;
1195
+ };
1196
+
1197
+ export declare function lerp(a: number, b: number, t: number): number;
1198
+
1199
+ export declare function lerpVec3(a: Vector3, b: Vector3, t: number): Vector3;
1200
+
1201
+ export declare class LocalOutfit {
1202
+ name: string;
1203
+ id: number;
1204
+ creator?: number;
1205
+ date: number;
1206
+ image?: string;
1207
+ buffer: string;
1208
+ constructor(outfit: Outfit);
1209
+ toJson(): LocalOutfitJson;
1210
+ fromJson(data: LocalOutfitJson): this;
1211
+ update(outfit: Outfit): void;
1212
+ toOutfit(): Promise<Outfit>;
1213
+ }
1214
+
1215
+ export declare interface LocalOutfitJson {
1216
+ name: string;
1217
+ id: number;
1218
+ creator: number | undefined;
1219
+ date: number;
1220
+ image: string | undefined;
1221
+ buffer: string;
1222
+ }
1223
+
1224
+ declare class LODS {
1225
+ lodType: number;
1226
+ numHighQualityLODs: number;
1227
+ numLodOffsets: number;
1228
+ lodOffsets: number[];
1229
+ clone(): LODS;
1230
+ }
1231
+
1232
+ export declare interface Look_Result {
1233
+ look: {
1234
+ avatarProperties: {
1235
+ playerAvatarType: "R6" | "R15";
1236
+ scale: {
1237
+ head: number;
1238
+ height: number;
1239
+ depth: number;
1240
+ width: number;
1241
+ bodyType: number;
1242
+ proportion: number;
1243
+ };
1244
+ bodyColor3s: {
1245
+ headColor3: string;
1246
+ leftArmColor3: string;
1247
+ leftLegColor3: string;
1248
+ rightArmColor3: string;
1249
+ rightLegColor3: string;
1250
+ torsoColor3: string;
1251
+ };
1252
+ };
1253
+ createdTime: string;
1254
+ curator: {
1255
+ hasVerifiedBadge: boolean;
1256
+ id: number;
1257
+ name: string;
1258
+ type: "User" | "Group";
1259
+ };
1260
+ description: string;
1261
+ displayProperties: null;
1262
+ favoriteCount: number;
1263
+ items: {
1264
+ assetType: number | null;
1265
+ assetsInBundle: {
1266
+ assetType: number;
1267
+ id: number;
1268
+ isIncluded: boolean;
1269
+ supportsHeadshapes?: boolean;
1270
+ }[];
1271
+ bundleType: number | null;
1272
+ collectibleItemId: string;
1273
+ collectibleProductId: string;
1274
+ creator: {
1275
+ hasVerifiedBadge: boolean;
1276
+ id: number;
1277
+ name: string;
1278
+ type: "User" | "Group";
1279
+ };
1280
+ description: string;
1281
+ id: number;
1282
+ isPurchasable: boolean;
1283
+ itemRestrictions: string[];
1284
+ itemType: "Asset" | "Bundle";
1285
+ name: string;
1286
+ noPriceStatus: "OffSale" | null;
1287
+ priceInRobux: number | null;
1288
+ quantityOwned: number;
1289
+ meta: undefined | {
1290
+ headShape: "Invalid" | number;
1291
+ order: null | number;
1292
+ position: {
1293
+ x: number;
1294
+ y: number;
1295
+ z: number;
1296
+ } | null;
1297
+ puffiness: null | number;
1298
+ rotation: {
1299
+ x: number;
1300
+ y: number;
1301
+ z: number;
1302
+ } | null;
1303
+ scale: {
1304
+ scale: 0;
1305
+ x: number;
1306
+ y: number;
1307
+ z: number;
1308
+ } | null;
1309
+ version: number;
1310
+ };
1311
+ }[];
1312
+ lookId: string;
1313
+ lookType: "Avatar";
1314
+ moderationStatus: "Approved";
1315
+ name: string;
1316
+ totalPrice: number;
1317
+ totalValue: number;
1318
+ updatedTime: string;
1319
+ };
1320
+ }
1321
+
1322
+ export declare const magic = "<roblox!";
1323
+
1324
+ export declare const MainToSubNames: {
1325
+ [K in string]: string[];
1326
+ };
1327
+
1328
+ export declare class MakeupDescriptionWrapper extends InstanceWrapper {
1329
+ static className: string;
1330
+ static requiredProperties: string[];
1331
+ setup(): void;
1332
+ }
1333
+
1334
+ export declare const MakeupType: {
1335
+ Face: number;
1336
+ Lip: number;
1337
+ Eye: number;
1338
+ };
1339
+
1340
+ export declare function mapNum(x: number, in_min: number, in_max: number, out_min: number, out_max: number): number;
1341
+
1342
+ export declare interface MarketplaceWidget {
1343
+ id: string;
1344
+ type: string;
1345
+ content: {
1346
+ type: "Asset" | "Bundle" | "Look";
1347
+ id: number;
1348
+ }[];
1349
+ template: {
1350
+ type: "ItemGroup" | string;
1351
+ seeAllButton: true | null;
1352
+ title: string | null;
1353
+ localizedTitle: string | null;
1354
+ itemFooters: {
1355
+ contentType: string;
1356
+ }[];
1357
+ categories: unknown[];
1358
+ previewRows: unknown[];
1359
+ previewColumns: unknown[];
1360
+ };
1361
+ }
1362
+
1363
+ export declare interface MarketplaceWidgets_Result {
1364
+ widgets: {
1365
+ [K in number]: MarketplaceWidget;
1366
+ };
1367
+ configuration: unknown;
1368
+ }
1369
+
1370
+ declare type Mat3x3 = [number, number, number, number, number, number, number, number, number];
1371
+
1372
+ declare type Mat4x4 = [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number];
1373
+
1374
+ export declare function mathRandom(min: number, max: number): number;
1375
+
1376
+ export declare const MaxOneOfAssetTypes: string[];
1377
+
1378
+ /**
1379
+ * @deprecated This is incorrect
1380
+ */
1381
+ export declare const MaxPerAsset: {
1382
+ [K in string]: number;
1383
+ };
1384
+
1385
+ export declare const MeshType: {
1386
+ Brick: number;
1387
+ Cylinder: number;
1388
+ FileMesh: number;
1389
+ Head: number;
1390
+ Sphere: number;
1391
+ Torso: number;
1392
+ Wedge: number;
1393
+ };
1394
+
1395
+ export declare const minimumDeltaEBodyColorDifference = 11.4;
1396
+
1397
+ export declare class ModelWrapper extends InstanceWrapper {
1398
+ static className: string;
1399
+ static requiredProperties: string[];
1400
+ setup(): void;
1401
+ GetModelCFrame(): CFrame;
1402
+ GetExtentsSize(): Vector3;
1403
+ }
1404
+
1405
+ export declare function mount(container: HTMLDivElement): void;
1406
+
1407
+ export declare interface NavigationMenuItems {
1408
+ categories: {
1409
+ category: string;
1410
+ taxonomy: string;
1411
+ assetTypeIds: number[];
1412
+ bundleTypeIds: number[];
1413
+ categoryId: number;
1414
+ name: string;
1415
+ orderIndex: number;
1416
+ subcategories: {
1417
+ subcategory: string | null;
1418
+ taxonomy: string;
1419
+ assetTypeIds: number[];
1420
+ bundleTypeIds: number[];
1421
+ subcategoryId: number | null;
1422
+ name: string;
1423
+ shortName: string | null;
1424
+ }[];
1425
+ isSearchable: boolean;
1426
+ }[];
1427
+ genres: {
1428
+ genre: number;
1429
+ name: string;
1430
+ isSelected: boolean;
1431
+ }[];
1432
+ sortMenu: {
1433
+ sortOptions: {
1434
+ sortType: number;
1435
+ sortOrder: number;
1436
+ name: string;
1437
+ isSelected: boolean;
1438
+ hasSubMenu: boolean;
1439
+ isPriceRelated: boolean;
1440
+ }[];
1441
+ sortAggregations: {
1442
+ sortAggregation: number;
1443
+ name: string;
1444
+ isSelected: boolean;
1445
+ hasSubMenu: boolean;
1446
+ isPriceRelated: boolean;
1447
+ }[];
1448
+ };
1449
+ creatorFilters: {
1450
+ userId: number;
1451
+ name: string;
1452
+ isSelected: boolean;
1453
+ }[];
1454
+ priceFilters: {
1455
+ currencyType: number;
1456
+ name: string;
1457
+ excludePriceSorts: boolean;
1458
+ }[];
1459
+ defaultGearSubcategory: number;
1460
+ defaultCategory: number;
1461
+ defaultCategoryIdForRecommendedSearch: number;
1462
+ defaultCreator: number;
1463
+ defaultCurrency: number;
1464
+ defaultSortType: number;
1465
+ defaultSortAggregation: number;
1466
+ categoriesWithCreator: number[];
1467
+ isGenreAllowed: boolean;
1468
+ robloxUserId: number;
1469
+ robloxUserName: string;
1470
+ gearSubcategory: number;
1471
+ allCategories: number;
1472
+ freeFilter: number;
1473
+ customRobuxFilter: number;
1474
+ robuxFilter: number;
1475
+ salesTypeFilters: {
1476
+ name: string;
1477
+ filter: number;
1478
+ }[];
1479
+ }
1480
+
1481
+ export declare const NeverLayeredAccessoryTypes: number[];
1482
+
1483
+ export declare const NormalId: {
1484
+ Right: number;
1485
+ Top: number;
1486
+ Back: number;
1487
+ Left: number;
1488
+ Bottom: number;
1489
+ Front: number;
1490
+ };
1491
+
1492
+ export declare class NumberRange {
1493
+ Min: number;
1494
+ Max: number;
1495
+ constructor(Min?: number, Max?: number);
1496
+ clone(): NumberRange;
1497
+ isSame(other: NumberRange): boolean;
1498
+ }
1499
+
1500
+ export declare class NumberSequence {
1501
+ keypoints: NumberSequenceKeypoint[];
1502
+ constructor(keypoints?: NumberSequenceKeypoint[]);
1503
+ clone(): NumberSequence;
1504
+ getLowerKey(time: number): NumberSequenceKeypoint | null;
1505
+ getHigherKey(time: number): NumberSequenceKeypoint | null;
1506
+ getValue(time: number, seed: number): number;
1507
+ }
1508
+
1509
+ export declare class NumberSequenceKeypoint {
1510
+ time: number;
1511
+ value: number;
1512
+ envelope: number;
1513
+ constructor(time: number, value: number, envelope?: number);
1514
+ clone(): NumberSequenceKeypoint;
1515
+ }
1516
+
1517
+ export declare const ObjectDescClassTypes: string[];
1518
+
1519
+ export declare class Outfit {
1520
+ scale: Scale;
1521
+ bodyColors: BodyColors | BodyColor3s;
1522
+ playerAvatarType: AvatarType;
1523
+ assets: Asset[];
1524
+ name: string;
1525
+ _id: number;
1526
+ lookId?: number | string;
1527
+ origin?: OutfitOrigin;
1528
+ _creatorId?: number;
1529
+ creationDate?: number;
1530
+ cachedImage?: string;
1531
+ editable?: boolean;
1532
+ collections?: string[];
1533
+ /**
1534
+ * @param {number} newId
1535
+ */
1536
+ set id(newId: number);
1537
+ get id(): number;
1538
+ /**
1539
+ * @param {number} newId
1540
+ */
1541
+ set creatorId(newId: number | undefined);
1542
+ get creatorId(): number | undefined;
1543
+ constructor();
1544
+ clone(): Outfit;
1545
+ toJson(removeNotOwnedAssets?: boolean): OutfitJson;
1546
+ toCleanJson(removeNotOwnedAssets?: boolean): OutfitJson;
1547
+ fromJson(outfitJson: OutfitJson): void;
1548
+ /**
1549
+ * @deprecated Incorrect, use getValidationIssues() instead
1550
+ */
1551
+ isValid(): boolean;
1552
+ getValidationIssues(): ValidationIssue[];
1553
+ toHumanoidDescription(): Promise<Document | null>;
1554
+ fromHumanoidDescription(rootDocument: Document): Promise<void>;
1555
+ downloadHumanoidDescription(): Promise<void>;
1556
+ getAssetsJson(removeNotOwnedAssets?: boolean): AssetJson[];
1557
+ containsAsset(assetId: number): boolean;
1558
+ containsAssets(assetIds: number[]): boolean;
1559
+ containsAssetType(assetType: string): boolean;
1560
+ removeAsset(assetId: number): void;
1561
+ removeAssetType(type: string | number): void;
1562
+ addAsset(id: number, type: string | number, name: string): void;
1563
+ fixOrders(): void;
1564
+ isOrderUsed(order: number, self?: Asset): boolean;
1565
+ getNextOrder(order: number): number;
1566
+ addAssetId(assetId: number): Promise<boolean>;
1567
+ addBundleId(bundleId: number): Promise<boolean>;
1568
+ getAssetId(assetId: number): Asset | undefined;
1569
+ fromLook(look: Look_Result["look"]): Promise<boolean>;
1570
+ fromBuffer(buffer: ArrayBuffer): Promise<this>;
1571
+ toBuffer(): ArrayBuffer;
1572
+ }
1573
+
1574
+ declare type OutfitJson = {
1575
+ scale?: ScaleJson;
1576
+ playerAvatarType?: AvatarType;
1577
+ assets?: AssetJson[];
1578
+ outfitType?: string;
1579
+ name?: string;
1580
+ creatorId?: number;
1581
+ outfitId?: number;
1582
+ collections?: string[];
1583
+ creationDate?: number;
1584
+ bodyColors?: BodyColorsJson;
1585
+ bodyColor3s?: BodyColor3sJson;
1586
+ id?: number;
1587
+ scales?: ScaleJson;
1588
+ };
1589
+
1590
+ export declare type OutfitOrigin = "WebAvatar" | "WebOutfit" | "Other" | "Look";
1591
+
1592
+ export declare const OutfitOrigin: {
1593
+ [K in OutfitOrigin]: OutfitOrigin;
1594
+ };
1595
+
1596
+ declare class PartCurve {
1597
+ motorParent: string;
1598
+ motorName: string;
1599
+ position?: FloatCurve3;
1600
+ rotationOrder: number;
1601
+ rotation?: FloatCurve3;
1602
+ }
1603
+
1604
+ export declare const ParticleEmitterShapeInOut: {
1605
+ Outward: number;
1606
+ Inward: number;
1607
+ InAndOut: number;
1608
+ };
1609
+
1610
+ export declare const ParticleOrientation: {
1611
+ FacingCamera: number;
1612
+ FacingCameraWorldUp: number;
1613
+ VelocityParallel: number;
1614
+ VelocityPerpendicular: number;
1615
+ };
1616
+
1617
+ declare class PartKeyframe extends BaseKeyframe {
1618
+ cframe: CFrame;
1619
+ constructor(time: number, cframe: CFrame);
1620
+ }
1621
+
1622
+ declare class PartKeyframeGroup extends BaseKeyframeGroup {
1623
+ motorParent: string;
1624
+ motorName: string;
1625
+ keyframes: PartKeyframe[];
1626
+ getHigherKeyframe(time: number): PartKeyframe | null;
1627
+ getLowerKeyframe(time: number): PartKeyframe | null;
1628
+ }
1629
+
1630
+ declare class PRNT {
1631
+ instanceCount: number;
1632
+ childReferents: number[];
1633
+ parentReferents: number[];
1634
+ clone(): PRNT;
1635
+ }
1636
+
1637
+ declare class PROP {
1638
+ classID: number;
1639
+ propertyName: string;
1640
+ typeID: number;
1641
+ values: unknown[];
1642
+ clone(): PROP;
1643
+ }
1644
+
1645
+ export declare class Property {
1646
+ name?: string;
1647
+ typeID?: number;
1648
+ _value?: unknown;
1649
+ constructor(name?: string | undefined, typeID?: number | undefined);
1650
+ get value(): unknown;
1651
+ }
1652
+
1653
+ export declare const PropertyTypeInfo: {
1654
+ Pants: {
1655
+ PantsTemplate: string;
1656
+ Name: string;
1657
+ archiveable: string;
1658
+ };
1659
+ Shirt: {
1660
+ ShirtTemplate: string;
1661
+ Name: string;
1662
+ archiveable: string;
1663
+ };
1664
+ ShirtGraphic: {
1665
+ Graphic: string;
1666
+ Name: string;
1667
+ archiveable: string;
1668
+ };
1669
+ };
1670
+
1671
+ declare class QuantizedMatrix {
1672
+ rows: number;
1673
+ columns: number;
1674
+ matrix: number[];
1675
+ version: number;
1676
+ v2_min?: number;
1677
+ v2_max?: number;
1678
+ constructor(version: number, rows: number, columns: number);
1679
+ clone(): QuantizedMatrix;
1680
+ }
1681
+
1682
+ declare class QuantizedTransform {
1683
+ px: QuantizedMatrix;
1684
+ py: QuantizedMatrix;
1685
+ pz: QuantizedMatrix;
1686
+ rx: QuantizedMatrix;
1687
+ ry: QuantizedMatrix;
1688
+ rz: QuantizedMatrix;
1689
+ constructor(px: QuantizedMatrix, py: QuantizedMatrix, pz: QuantizedMatrix, rx: QuantizedMatrix, ry: QuantizedMatrix, rz: QuantizedMatrix);
1690
+ clone(): QuantizedTransform;
1691
+ }
1692
+
1693
+ export declare function rad(degrees: number): number;
1694
+
1695
+ export declare class Ray {
1696
+ Origin: Vec3;
1697
+ Direction: Vec3;
1698
+ clone(): Ray;
1699
+ }
1700
+
1701
+ export declare class RBX {
1702
+ classCount: number;
1703
+ instanceCount: number;
1704
+ meta: Map<string, string>;
1705
+ sstr: Map<number[], string>;
1706
+ sstrArr: string[];
1707
+ instArray: INST[];
1708
+ propArray: PROP[];
1709
+ prnt: PRNT;
1710
+ classIDtoINST: Map<any, any>;
1711
+ dataModel: Instance;
1712
+ treeGenerated: boolean;
1713
+ xmlString?: string;
1714
+ get instances(): Instance[];
1715
+ constructor();
1716
+ reset(): void;
1717
+ clone(): RBX;
1718
+ readMETA(chunkView: RBXSimpleView): void;
1719
+ readSSTR(chunkView: RBXSimpleView): void;
1720
+ readINST(chunkView: RBXSimpleView): void;
1721
+ readPROP(chunkView: RBXSimpleView): void;
1722
+ readPRNT(chunkView: RBXSimpleView): void;
1723
+ getChunkBuffer(view: RBXSimpleView, compressedLength: number, uncompressedLength: number): ArrayBuffer | SharedArrayBuffer;
1724
+ addItem(item: Element, itemParent?: Instance): Instance;
1725
+ fromXML(xml: Document): void;
1726
+ fromBuffer(buffer: ArrayBuffer): void;
1727
+ fromInstance(root: Instance): ArrayBuffer;
1728
+ generateTree(): Instance;
1729
+ }
1730
+
1731
+ export declare class RBXRenderer {
1732
+ static isRenderingMesh: Map<Instance, boolean>;
1733
+ static renderDescs: Map<Instance, RenderDesc>;
1734
+ static destroyConnections: Map<Instance, Connection>;
1735
+ static lookAwayVector: Vec3;
1736
+ static lookAwayDistance: number;
1737
+ static orbitControlsTarget: Vec3;
1738
+ static scene: THREE.Scene;
1739
+ static camera: THREE.PerspectiveCamera;
1740
+ static controls: OrbitControls | undefined;
1741
+ static renderer: THREE.WebGLRenderer;
1742
+ static effectComposer: EffectComposer | undefined;
1743
+ static resolution: [number, number];
1744
+ /**Fully sets up renderer with scene, camera and frame rendering*/
1745
+ static fullSetup(): void;
1746
+ /**Sets up the THREE.js renderer */
1747
+ static create(): void;
1748
+ /**Sets up a basic scene with lighting
1749
+ * @param lightingType "WellLit" is the default lighting for RoAvatar, "Thumbnail" tries to match the Roblox thumbnail lighting
1750
+ */
1751
+ static setupScene(lightingType?: "WellLit" | "Thumbnail"): void;
1752
+ /**Sets up orbit controls */
1753
+ static setupControls(): void;
1754
+ /**Makes the renderer render a new frame on every animationFrame */
1755
+ static animate(): void;
1756
+ static _createEffectComposer(): void;
1757
+ /**Removes an instance from the renderer */
1758
+ static removeInstance(instance: Instance): void;
1759
+ static _addRenderDesc(instance: Instance, auth: Authentication, DescClass: typeof RenderDesc): void;
1760
+ /**Adds an instance to the renderer or updates it */
1761
+ static addInstance(instance: Instance, auth: Authentication): void;
1762
+ static setRendererSize(width: number, height: number): void;
1763
+ static getRendererDom(): HTMLCanvasElement;
1764
+ static getRendererCamera(): THREE.PerspectiveCamera;
1765
+ static getRendererControls(): OrbitControls | undefined;
1766
+ static getRenderer(): THREE.WebGLRenderer;
1767
+ static getScene(): THREE.Scene;
1768
+ /**@deprecated
1769
+ * This function is unstable and can throw errors, but might work
1770
+ */
1771
+ static exportScene(): void;
1772
+ }
1773
+
1774
+ declare class RBXSimpleView {
1775
+ view: DataView;
1776
+ viewOffset: number;
1777
+ buffer: ArrayBufferLike;
1778
+ locked: boolean;
1779
+ constructor(buffer: ArrayBufferLike);
1780
+ lock(): void;
1781
+ unlock(): void;
1782
+ lockCheck(): void;
1783
+ writeUtf8String(value: string, includeLength?: boolean): void;
1784
+ readUtf8String(stringLength?: number): string;
1785
+ writeFloat32(value: number, littleEndian?: boolean): void;
1786
+ readFloat32(littleEndian?: boolean): number;
1787
+ writeNormalFloat32(value: number, littleEndian?: boolean): void;
1788
+ readNormalFloat32(littleEndian?: boolean): number;
1789
+ writeFloat64(value: number, littleEndian?: boolean): void;
1790
+ readFloat64(littleEndian?: boolean): number;
1791
+ writeInt32(value: number, littleEndian?: boolean): void;
1792
+ readInt32(littleEndian?: boolean): number;
1793
+ writeInt64(value: bigint, littleEndian?: boolean): void;
1794
+ readInt64(littleEndian?: boolean): bigint;
1795
+ writeInterleaved32(values: (number | bigint)[], length: number, littleEndian?: boolean, writeFunc?: string, byteOffset?: number): void;
1796
+ readInterleaved32(length: number, littleEndian?: boolean, readFunc?: string, byteOffset?: number): number[] | bigint[];
1797
+ writeUint32(value: number, littleEndian?: boolean): void;
1798
+ readUint32(littleEndian?: boolean): number;
1799
+ writeInt16(value: number, littleEndian?: boolean): void;
1800
+ readInt16(littleEndian?: boolean): number;
1801
+ writeUint16(value: number, littleEndian?: boolean): void;
1802
+ readUint16(littleEndian?: boolean): number;
1803
+ writeInt8(value: number): void;
1804
+ readInt8(): number;
1805
+ writeUint8(value: number): void;
1806
+ readUint8(): number;
1807
+ }
1808
+
1809
+ export declare function RegisterWrappers(): void;
1810
+
1811
+ export declare const RegularBodyColors: string[];
1812
+
1813
+ /**
1814
+ * Abstract class used to describe all rendered instances
1815
+ */
1816
+ declare class RenderDesc extends DisposableDesc {
1817
+ results?: THREE.Mesh[];
1818
+ instance?: Instance;
1819
+ isSame(_other: RenderDesc): boolean;
1820
+ needsRegeneration(_other: RenderDesc): boolean;
1821
+ fromRenderDesc(other: RenderDesc): void;
1822
+ virtualFromRenderDesc(_other: RenderDesc): void;
1823
+ fromInstance(_child: Instance): void;
1824
+ compileResults(_renderer: THREE.WebGLRenderer, _scene: THREE.Scene): Promise<THREE.Mesh[] | Response | undefined>;
1825
+ updateResults(): void;
1826
+ }
1827
+
1828
+ export declare function replaceBodyPart(rig: Instance, child: Instance): void;
1829
+
1830
+ export declare function rgbToHex(r: number, g: number, b: number): string;
1831
+
1832
+ export declare type RigData = {
1833
+ outfit: Outfit;
1834
+ rig: Instance;
1835
+ stepHeight: number;
1836
+ cumulativeStepHeightLeft: number;
1837
+ cumulativeStepHeightRight: number;
1838
+ cumulativeLegLeft: number;
1839
+ cumulativeLegRight: number;
1840
+ bodyScale: Vector3;
1841
+ headScale: number;
1842
+ };
1843
+
1844
+ export declare class RNG {
1845
+ m: number;
1846
+ a: number;
1847
+ c: number;
1848
+ state: number;
1849
+ constructor(seed: number);
1850
+ nextInt(): number;
1851
+ nextFloat(): number;
1852
+ }
1853
+
1854
+ export declare type RoAvatarBrowser = "Dev" | "Chrome" | "Firefox" | "Edge";
1855
+
1856
+ export declare class RoAvatarData {
1857
+ errors: RoAvatarDataError[];
1858
+ versions?: RoAvatarVersions;
1859
+ criticalOutdated?: RoAvatarVersions;
1860
+ fromInstance(instance: Instance): void;
1861
+ }
1862
+
1863
+ export declare class RoAvatarDataError {
1864
+ name: string;
1865
+ text?: string;
1866
+ timestamp: number;
1867
+ minVersion?: string;
1868
+ maxVersion?: string;
1869
+ browser: RoAvatarBrowser[];
1870
+ type: RoAvatarErrorType;
1871
+ color?: string;
1872
+ constructor(name: string);
1873
+ shouldShow(): boolean;
1874
+ }
1875
+
1876
+ export declare type RoAvatarErrorType = "Error" | "Warning" | "Bug";
1877
+
1878
+ export declare class RoAvatarVersions {
1879
+ Dev?: string;
1880
+ Chrome?: string;
1881
+ Firefox?: string;
1882
+ Edge?: string;
1883
+ getForBrowser(browser: RoAvatarBrowser): string | undefined;
1884
+ fromInstance(instance: Instance): void;
1885
+ }
1886
+
1887
+ export declare function rotationMatrixToEulerAngles(te: number[], order?: string): Vec3;
1888
+
1889
+ export declare type SaleLocationType = "ShopOnly" | "ShopAndAllExperiences" | "ExperiencesDevApiOnly" | string;
1890
+
1891
+ export declare function saveByteArray(data: BlobPart[] | undefined, name: string): void;
1892
+
1893
+ export declare class Scale {
1894
+ height: number;
1895
+ width: number;
1896
+ head: number;
1897
+ depth: number;
1898
+ proportion: number;
1899
+ bodyType: number;
1900
+ constructor();
1901
+ clone(): Scale;
1902
+ reset(): void;
1903
+ toJson(): {
1904
+ height: number;
1905
+ width: number;
1906
+ head: number;
1907
+ depth: number;
1908
+ proportion: number;
1909
+ bodyType: number;
1910
+ };
1911
+ fromJson(scaleJson: ScaleJson): void;
1912
+ }
1913
+
1914
+ export declare function ScaleAccessory(accessory: Instance, bodyScaleVector: Vector3, headScaleVector: Vector3, bodyTypeScale: number | null, bodyProportionScale: number | null, rig: Instance, humanoidDescription: Instance): void;
1915
+
1916
+ export declare function ScaleAccessoryForRig(accessory: Instance, rig: Instance, outfit: Outfit, humanoidDescription: Instance): void;
1917
+
1918
+ export declare function ScaleCharacter(rig: Instance, outfit: Outfit, humanoidDescription: Instance): RigData | undefined;
1919
+
1920
+ declare type ScaleJson = {
1921
+ height?: number;
1922
+ width?: number;
1923
+ head?: number;
1924
+ depth?: number;
1925
+ proportion?: number;
1926
+ bodyType?: number;
1927
+ };
1928
+
1929
+ export declare type ScaleName = "height" | "width" | "head" | "depth" | "proportion" | "bodyType";
1930
+
1931
+ export declare class ScriptWrapper extends InstanceWrapper {
1932
+ static className: string;
1933
+ static requiredProperties: string[];
1934
+ setup(): void;
1935
+ get data(): ScriptWrapperData;
1936
+ created(): void;
1937
+ Run(): void;
1938
+ SoundPlayer(script: Instance): Promise<void>;
1939
+ }
1940
+
1941
+ declare class ScriptWrapperData {
1942
+ shouldStop: boolean;
1943
+ }
1944
+
1945
+ export declare interface Search_Payload {
1946
+ taxonomy: string;
1947
+ salesTypeFilter: number;
1948
+ categoryFilter?: number;
1949
+ sortType?: number;
1950
+ keyword?: string;
1951
+ topics?: string[];
1952
+ creatorName?: string;
1953
+ minPrice?: number;
1954
+ maxPrice?: number;
1955
+ includeNotForSale?: boolean;
1956
+ limit?: number;
1957
+ }
1958
+
1959
+ export declare interface Search_Result {
1960
+ keyword: string | null;
1961
+ previousPageCursor: string | null;
1962
+ nextPageCursor: string | null;
1963
+ data: {
1964
+ bundledItems: {
1965
+ id: number;
1966
+ name: string;
1967
+ type: "Asset" | "UserOutfit";
1968
+ }[];
1969
+ id: number;
1970
+ itemType: "Asset" | "Bundle";
1971
+ assetType?: number;
1972
+ bundleType?: number;
1973
+ name: string;
1974
+ description: string;
1975
+ productId: number;
1976
+ itemStatus: unknown[];
1977
+ itemRestrictions: string[];
1978
+ creatorHasVerifiedBadge: boolean;
1979
+ creatorType: "User" | "Group";
1980
+ creatorTargetId: number;
1981
+ creatorName: string;
1982
+ price: number;
1983
+ lowestPrice?: number;
1984
+ lowestResalePrice: number;
1985
+ priceStatus?: "Off Sale" | string;
1986
+ unitsAvailableForConsumption: number;
1987
+ favoriteCount: number;
1988
+ offSaleDeadline: null | unknown;
1989
+ collectibleItemId: string;
1990
+ totalQuantity: number;
1991
+ saleLocationType: SaleLocationType;
1992
+ hasResellers: boolean;
1993
+ isOffSale?: boolean;
1994
+ }[];
1995
+ }
1996
+
1997
+ declare class SimpleView {
1998
+ view: DataView;
1999
+ viewOffset: number;
2000
+ buffer: ArrayBuffer;
2001
+ constructor(buffer: ArrayBuffer);
2002
+ writeUtf8String(value: string): void;
2003
+ readUtf8String(stringLength?: number): string;
2004
+ writeFloat32(value: number, littleEndian?: boolean): void;
2005
+ readFloat32(littleEndian?: boolean): number;
2006
+ writeUint64(value: bigint, littleEndian?: boolean): void;
2007
+ readUint64(littleEndian?: boolean): bigint;
2008
+ writeInt32(value: number, littleEndian?: boolean): void;
2009
+ readInt32(littleEndian?: boolean): number;
2010
+ writeUint32(value: number, littleEndian?: boolean): void;
2011
+ readUint32(littleEndian?: boolean): number;
2012
+ writeInt16(value: number, littleEndian?: boolean): void;
2013
+ readInt16(littleEndian?: boolean): number;
2014
+ writeUint16(value: number, littleEndian?: boolean): void;
2015
+ readUint16(littleEndian?: boolean): number;
2016
+ writeInt8(value: number): void;
2017
+ readInt8(): number;
2018
+ writeUint8(value: number): void;
2019
+ readUint8(): number;
2020
+ }
2021
+
2022
+ declare class SKINNING {
2023
+ numSkinnings: number;
2024
+ skinnings: FileMeshSkinning[];
2025
+ numBones: number;
2026
+ bones: FileMeshBone[];
2027
+ nameTableSize: number;
2028
+ nameTable: string[];
2029
+ numSubsets: number;
2030
+ subsets: FileMeshSubset[];
2031
+ clone(): SKINNING;
2032
+ getBone(boneName: string): FileMeshBone | undefined;
2033
+ getSubsetIndex(vertIndex: number): number;
2034
+ }
2035
+
2036
+ export declare class SortInfo {
2037
+ sortOption: string;
2038
+ itemCategories: ItemSort[];
2039
+ constructor(itemCategories: ItemSort[], sortOption?: string);
2040
+ }
2041
+
2042
+ export declare const SortTypes: {
2043
+ [K in string]: number | undefined;
2044
+ };
2045
+
2046
+ export declare class SoundWrapper extends InstanceWrapper {
2047
+ static className: string;
2048
+ static requiredProperties: string[];
2049
+ setup(): void;
2050
+ get data(): SoundWrapperData;
2051
+ created(): void;
2052
+ _updateVolume(): void;
2053
+ Play(): void;
2054
+ Stop(): void;
2055
+ }
2056
+
2057
+ declare class SoundWrapperData {
2058
+ audio: HTMLAudioElement | undefined;
2059
+ }
2060
+
2061
+ export declare function specialClamp(value: number, min: number, max: number): number;
2062
+
2063
+ export declare class SpecialInfo {
2064
+ type: string;
2065
+ constructor(type: string);
2066
+ }
2067
+
2068
+ export declare const SpecialLayeredAssetTypes: string[];
2069
+
2070
+ export declare const StringBufferProperties: string[];
2071
+
2072
+ declare type ThreePoseCorrective = Vec3;
2073
+
2074
+ export declare interface ThumbnailsCustomization_Payload {
2075
+ thumbnailType: number;
2076
+ emoteAssetId: number;
2077
+ camera: {
2078
+ fieldOfViewDeg: number;
2079
+ yRotDeg: number;
2080
+ distanceScale: number;
2081
+ };
2082
+ }
2083
+
2084
+ export declare class ToolWrapper extends InstanceWrapper {
2085
+ static className: string;
2086
+ static requiredProperties: string[];
2087
+ setup(): void;
2088
+ created(): void;
2089
+ createWeld(): void;
2090
+ }
2091
+
2092
+ export declare const ToRemoveBeforeBundleType: {
2093
+ DynamicHead: string[];
2094
+ Shoes: string[];
2095
+ AnimationPack: string[];
2096
+ Character: string[];
2097
+ };
2098
+
2099
+ export declare function traverseRigCFrame(instance: Instance): CFrame;
2100
+
2101
+ export declare function traverseRigInstance(instance: Instance): Instance[];
2102
+
2103
+ declare type Triangle = [Vec3, Vec3, Vec3];
2104
+
2105
+ declare type TwoPoseCorrective = Vec2;
2106
+
2107
+ export declare class UDim {
2108
+ Scale: number;
2109
+ Offset: number;
2110
+ constructor(Scale?: number, Offset?: number);
2111
+ clone(): UDim;
2112
+ }
2113
+
2114
+ export declare class UDim2 {
2115
+ X: UDim;
2116
+ Y: UDim;
2117
+ clone(): UDim2;
2118
+ }
2119
+
2120
+ declare type UserInfo = {
2121
+ id: number;
2122
+ name: string;
2123
+ displayName: string;
2124
+ };
2125
+
2126
+ export declare interface UserLooks_Result {
2127
+ data: {
2128
+ assets: {
2129
+ id: number;
2130
+ }[];
2131
+ bundles: {
2132
+ id: number;
2133
+ }[];
2134
+ createdTime: string;
2135
+ displayProperties: {
2136
+ backgroundType: "None" | string;
2137
+ backgroundValue: null;
2138
+ emoteAssetId: null;
2139
+ };
2140
+ lookId: string;
2141
+ lookType: "Avatar";
2142
+ moderationStatus: "Approved";
2143
+ name: string;
2144
+ totalValue: number;
2145
+ updatedTime: string;
2146
+ }[];
2147
+ nextCursor: string | null;
2148
+ previousCursor: string | null;
2149
+ }
2150
+
2151
+ declare type ValidationIssue = {
2152
+ type: ValidationIssueType;
2153
+ text: string;
2154
+ assetIndex?: number;
2155
+ };
2156
+
2157
+ declare type ValidationIssueType = "AccessoryLimit" | "LayeredLimit" | "OneOfTypeLimit" | "DuplicateId" | "NotWearable" | "MissingLayeredMeta" | "InvalidAsset";
2158
+
2159
+ declare type Vec2 = [number, number];
2160
+
2161
+ declare type Vec3 = [number, number, number];
2162
+
2163
+ declare type Vec4 = [number, number, number, number];
2164
+
2165
+ export declare class Vector2 {
2166
+ X: number;
2167
+ Y: number;
2168
+ constructor(X?: number, Y?: number);
2169
+ clone(): Vector2;
2170
+ isSame(other: Vector2): boolean;
2171
+ }
2172
+
2173
+ export declare class Vector3 {
2174
+ X: number;
2175
+ Y: number;
2176
+ Z: number;
2177
+ constructor(X?: number, Y?: number, Z?: number);
2178
+ fromVec3(vec3: Vec3): this;
2179
+ toVec3(): Vec3;
2180
+ multiply(vec3: Vector3): Vector3;
2181
+ divide(vec3: Vector3): Vector3;
2182
+ add(vec3: Vector3): Vector3;
2183
+ minus(vec3: Vector3): Vector3;
2184
+ magnitude(): number;
2185
+ normalize(): Vector3;
2186
+ clone(): Vector3;
2187
+ isSame(other: Vector3): boolean;
2188
+ static new(X: number, Y: number, Z: number): Vector3;
2189
+ }
2190
+
2191
+ declare type VecXYZ = {
2192
+ X: number;
2193
+ Y: number;
2194
+ Z: number;
2195
+ };
2196
+
2197
+ declare type Vecxyz = {
2198
+ x: number;
2199
+ y: number;
2200
+ z: number;
2201
+ };
2202
+
2203
+ export declare function versionToNumber(version: string): number;
2204
+
2205
+ export declare function Wait(time: number): Promise<unknown>;
2206
+
2207
+ export declare const WearableAssetTypes: string[];
2208
+
2209
+ export declare const WrapLayerAutoSkin: {
2210
+ Disabled: number;
2211
+ EnabledPreserve: number;
2212
+ EnabledOverride: number;
2213
+ };
2214
+
2215
+ export declare const xmlMagic = "<roblox ";
2216
+
2217
+ export { }