// THIS FILE IS GENERATED AUTOMATICALLY AND SHOULD NOT BE EDITED BY HAND!
/// <reference no-default-lib="true"/>
/// <reference path="../roblox.d.ts" />
/// <reference path="enums.d.ts" />
interface Services {
    AccountService: AccountService;
    AchievementService: AchievementService;
    ActivityHistoryEventService: ActivityHistoryEventService;
    AdService: AdService;
    AnalyticsService: AnalyticsService;
    AnimationClipProvider: AnimationClipProvider;
    AnimationFromVideoCreatorService: AnimationFromVideoCreatorService;
    AnimationFromVideoCreatorStudioService: AnimationFromVideoCreatorStudioService;
    AnnotationsService: AnnotationsService;
    AppAgeSignalsService: AppAgeSignalsService;
    AppLifecycleObserverService: AppLifecycleObserverService;
    AppRatingPromptService: AppRatingPromptService;
    AppUpdateService: AppUpdateService;
    AssetCounterService: AssetCounterService;
    AssetDeliveryProxy: AssetDeliveryProxy;
    AssetImportService: AssetImportService;
    AssetManagerService: AssetManagerService;
    AssetQualityService: AssetQualityService;
    AssetService: AssetService;
    AudioFocusService: AudioFocusService;
    AuroraScriptService: AuroraScriptService;
    AuroraService: AuroraService;
    AvatarChatService: AvatarChatService;
    AvatarCreationService: AvatarCreationService;
    AvatarEditorService: AvatarEditorService;
    AvatarImportService: AvatarImportService;
    AvatarSettings: AvatarSettings;
    BadgeService: BadgeService;
    BugReporterService: BugReporterService;
    BulkImportService: BulkImportService;
    CacheableContentProvider: CacheableContentProvider;
    CalloutService: CalloutService;
    CaptureService: CaptureService;
    ChangeHistoryStreamingService: ChangeHistoryStreamingService;
    Chat: Chat;
    CloudCRUDService: CloudCRUDService;
    CollaboratorsService: CollaboratorsService;
    CollectionService: CollectionService;
    CommerceService: CommerceService;
    ConfigService: ConfigService;
    ConfigureServerService: ConfigureServerService;
    ConnectivityService: ConnectivityService;
    ContentProvider: ContentProvider;
    ContextActionService: ContextActionService;
    ControllerService: ControllerService;
    CoreGuiConfiguration: CoreGuiConfiguration;
    CoreScriptDebuggingManagerHelper: CoreScriptDebuggingManagerHelper;
    CreationDBService: CreationDBService;
    CreatorStoreService: CreatorStoreService;
    CrossDMScriptChangeListener: CrossDMScriptChangeListener;
    DataModelPatchService: DataModelPatchService;
    DataStoreService: DataStoreService;
    Debris: Debris;
    DebuggablePluginWatcher: DebuggablePluginWatcher;
    DebuggerConnectionManager: DebuggerConnectionManager;
    DebuggerUIService: DebuggerUIService;
    DeferredAssetManagerService: DeferredAssetManagerService;
    DeviceIdService: DeviceIdService;
    DraggerService: DraggerService;
    EditableService: EditableService;
    EncodingService: EncodingService;
    EventIngestService: EventIngestService;
    ExampleV2Service: ExampleV2Service;
    ExperienceAuthService: ExperienceAuthService;
    ExperienceNotificationService: ExperienceNotificationService;
    ExperienceService: ExperienceService;
    ExperienceStateCaptureService: ExperienceStateCaptureService;
    ExperienceStateRecordingService: ExperienceStateRecordingService;
    ExplorerServiceVisibilityService: ExplorerServiceVisibilityService;
    FaceAnimatorService: FaceAnimatorService;
    FacialAgeEstimationService: FacialAgeEstimationService;
    FacialAnimationRecordingService: FacialAnimationRecordingService;
    FacialAnimationStreamingServiceV2: FacialAnimationStreamingServiceV2;
    FeatureRestrictionManager: FeatureRestrictionManager;
    FileManagerService: FileManagerService;
    GamepadService: GamepadService;
    GamePassService: GamePassService;
    GenerationService: GenerationService;
    GenericChallengeService: GenericChallengeService;
    GeometryService: GeometryService;
    GongService: GongService;
    GroupService: GroupService;
    GuiService: GuiService;
    HapticService: HapticService;
    HarmonyService: HarmonyService;
    HeapProfilerService: HeapProfilerService;
    HeatmapService: HeatmapService;
    HeightmapImporterService: HeightmapImporterService;
    HttpService: HttpService;
    ILegacyStudioBridge: ILegacyStudioBridge;
    ImageScreenCaptureService: ImageScreenCaptureService;
    IncrementalPatchBuilder: IncrementalPatchBuilder;
    InsertService: InsertService;
    InstanceExtensionsService: InstanceExtensionsService;
    InstanceFileSyncService: InstanceFileSyncService;
    InternalMessagingService: InternalMessagingService;
    InternalMessagingServiceVerifier: InternalMessagingServiceVerifier;
    InternalSyncService: InternalSyncService;
    IXPService: IXPService;
    JointsService: JointsService;
    KeyframeSequenceProvider: KeyframeSequenceProvider;
    LanguageService: LanguageService;
    LegacyStudioBridge: LegacyStudioBridge;
    Lighting: Lighting;
    LinkingService: LinkingService;
    LiveScriptingService: LiveScriptingService;
    LiveSyncService: LiveSyncService;
    LocalizationService: LocalizationService;
    LodDataService: LodDataService;
    LogReporterService: LogReporterService;
    LogService: LogService;
    LSPFileSyncService: LSPFileSyncService;
    LuauScriptAnalyzerService: LuauScriptAnalyzerService;
    MarketplaceService: MarketplaceService;
    MatchmakingService: MatchmakingService;
    MaterialGenerationService: MaterialGenerationService;
    MaterialService: MaterialService;
    MemoryStoreService: MemoryStoreService;
    MessageBusService: MessageBusService;
    MessagingService: MessagingService;
    MetaBreakpointManager: MetaBreakpointManager;
    MicroProfilerService: MicroProfilerService;
    MLModelDeliveryService: MLModelDeliveryService;
    MLService: MLService;
    ModerationService: ModerationService;
    OmniRecommendationsService: OmniRecommendationsService;
    OpenCloudService: OpenCloudService;
    PackageUIService: PackageUIService;
    PartyEmulatorService: PartyEmulatorService;
    PatchBundlerFileWatch: PatchBundlerFileWatch;
    PathfindingService: PathfindingService;
    PerformanceControlService: PerformanceControlService;
    PhysicsService: PhysicsService;
    PlaceAssetIdsService: PlaceAssetIdsService;
    PlacesService: PlacesService;
    PlaceStatsService: PlaceStatsService;
    PlatformCloudStorageService: PlatformCloudStorageService;
    PlatformFriendsService: PlatformFriendsService;
    PlatformLibraries: PlatformLibraries;
    PlayerDataService: PlayerDataService;
    PlayerHydrationService: PlayerHydrationService;
    Players: Players;
    PlayerViewService: PlayerViewService;
    PluginConnectionService: PluginConnectionService;
    PluginManagementService: PluginManagementService;
    PluginPolicyService: PluginPolicyService;
    PolicyService: PolicyService;
    Preloaded: Preloaded;
    ProceduralBehaviorSchedulerService: ProceduralBehaviorSchedulerService;
    ProcessInstancePhysicsService: ProcessInstancePhysicsService;
    ProximityPromptService: ProximityPromptService;
    PublishService: PublishService;
    RecommendationService: RecommendationService;
    ReflectionService: ReflectionService;
    RemoteCommandService: RemoteCommandService;
    RemoteCursorService: RemoteCursorService;
    RemoteDebuggerServer: RemoteDebuggerServer;
    ReplicatedFirst: ReplicatedFirst;
    ReplicatedStorage: ReplicatedStorage;
    RibbonNotificationService: RibbonNotificationService;
    RobloxServerStorage: RobloxServerStorage;
    RolloutValidationService: RolloutValidationService;
    RomarkRbxAnalyticsService: RomarkRbxAnalyticsService;
    RomarkService: RomarkService;
    RtMessagingService: RtMessagingService;
    RunService: RunService;
    RuntimeContentService: RuntimeContentService;
    SafetyService: SafetyService;
    ScriptChangeService: ScriptChangeService;
    ScriptCloneWatcher: ScriptCloneWatcher;
    ScriptCloneWatcherHelper: ScriptCloneWatcherHelper;
    ScriptCommitService: ScriptCommitService;
    ScriptContext: ScriptContext;
    ScriptProfilerService: ScriptProfilerService;
    ScriptRegistrationService: ScriptRegistrationService;
    SelectionHighlightManager: SelectionHighlightManager;
    SerializationService: SerializationService;
    ServerScriptService: ServerScriptService;
    ServerStorage: ServerStorage;
    ServiceVisibilityService: ServiceVisibilityService;
    SessionCheckService: SessionCheckService;
    SessionService: SessionService;
    SharedTableRegistry: SharedTableRegistry;
    SlimAnimationReplicationService: SlimAnimationReplicationService;
    SlimContentProvider: SlimContentProvider;
    SlimReplicationService: SlimReplicationService;
    SlimService: SlimService;
    SmoothVoxelsUpgraderService: SmoothVoxelsUpgraderService;
    SnippetService: SnippetService;
    SocialService: SocialService;
    SoundService: SoundService;
    SoundShimService: SoundShimService;
    StarterGui: StarterGui;
    StarterPack: StarterPack;
    StarterPlayer: StarterPlayer;
    StartPageService: StartPageService;
    StartupMessageService: StartupMessageService;
    Stats: Stats;
    StudioAssetService: StudioAssetService;
    StudioCameraService: StudioCameraService;
    StudioCaptureService: StudioCaptureService;
    StudioDeviceEmulatorService: StudioDeviceEmulatorService;
    StudioDeviceSimulatorService: StudioDeviceSimulatorService;
    StudioPublishService: StudioPublishService;
    StudioScriptDebugEventListener: StudioScriptDebugEventListener;
    StudioSdkService: StudioSdkService;
    StudioTestService: StudioTestService;
    StudioUserService: StudioUserService;
    StudioWidgetsService: StudioWidgetsService;
    StylingService: StylingService;
    SystemThemeService: SystemThemeService;
    TeamCreateData: TeamCreateData;
    TeamCreatePublishService: TeamCreatePublishService;
    TeamCreateService: TeamCreateService;
    Teams: Teams;
    TelemetryService: TelemetryService;
    TeleportService: TeleportService;
    TemporaryCageMeshProvider: TemporaryCageMeshProvider;
    TemporaryScriptService: TemporaryScriptService;
    TestService: TestService;
    TextBoxService: TextBoxService;
    TextChatService: TextChatService;
    TextService: TextService;
    TextureGenerationService: TextureGenerationService;
    ToastNotificationService: ToastNotificationService;
    TraceRouteService: TraceRouteService;
    TracerService: TracerService;
    TutorialService: TutorialService;
    TweenService: TweenService;
    UGCAvatarService: UGCAvatarService;
    UIDragDetectorService: UIDragDetectorService;
    UniqueIdLookupService: UniqueIdLookupService;
    UnvalidatedAssetService: UnvalidatedAssetService;
    UserGameSettings: UserGameSettings;
    UserInputService: UserInputService;
    UserService: UserService;
    VideoCaptureService: VideoCaptureService;
    VideoScreenCaptureService: VideoScreenCaptureService;
    VideoService: VideoService;
    VisibilityCheckDispatcher: VisibilityCheckDispatcher;
    VisualizationModeService: VisualizationModeService;
    VoiceChatInternal: VoiceChatInternal;
    VoiceChatService: VoiceChatService;
    VRService: VRService;
    VRStatusService: VRStatusService;
    WebSocketService: WebSocketService;
    WebViewService: WebViewService;
    Workspace: Workspace;
    WrapDeformMeshProvider: WrapDeformMeshProvider;
}
interface CreatableInstances {
    Accessory: Accessory;
    AccessoryDescription: AccessoryDescription;
    Accoutrement: Accoutrement;
    Actor: Actor;
    AdGui: AdGui;
    AdPortal: AdPortal;
    AirController: AirController;
    AlignOrientation: AlignOrientation;
    AlignPosition: AlignPosition;
    AngularVelocity: AngularVelocity;
    Animation: Animation;
    AnimationConstraint: AnimationConstraint;
    AnimationController: AnimationController;
    AnimationGraphDefinition: AnimationGraphDefinition;
    AnimationNodeDefinition: AnimationNodeDefinition;
    AnimationRigData: AnimationRigData;
    Animator: Animator;
    Annotation: Annotation;
    ArcHandles: ArcHandles;
    Atmosphere: Atmosphere;
    AtmosphereSensor: AtmosphereSensor;
    Attachment: Attachment;
    AudioAnalyzer: AudioAnalyzer;
    AudioChannelMixer: AudioChannelMixer;
    AudioChannelSplitter: AudioChannelSplitter;
    AudioChorus: AudioChorus;
    AudioCompressor: AudioCompressor;
    AudioDeviceInput: AudioDeviceInput;
    AudioDeviceOutput: AudioDeviceOutput;
    AudioDistortion: AudioDistortion;
    AudioEcho: AudioEcho;
    AudioEmitter: AudioEmitter;
    AudioEqualizer: AudioEqualizer;
    AudioFader: AudioFader;
    AudioFilter: AudioFilter;
    AudioFlanger: AudioFlanger;
    AudioGate: AudioGate;
    AudioLimiter: AudioLimiter;
    AudioListener: AudioListener;
    AudioPitchShifter: AudioPitchShifter;
    AudioPlayer: AudioPlayer;
    AudioRecorder: AudioRecorder;
    AudioReverb: AudioReverb;
    AudioSearchParams: AudioSearchParams;
    AudioSpeechToText: AudioSpeechToText;
    AudioTextToSpeech: AudioTextToSpeech;
    AudioTremolo: AudioTremolo;
    AuroraScript: AuroraScript;
    AvatarAbilityRules: AvatarAbilityRules;
    AvatarAccessoryRules: AvatarAccessoryRules;
    AvatarAnimationRules: AvatarAnimationRules;
    AvatarBodyRules: AvatarBodyRules;
    AvatarClothingRules: AvatarClothingRules;
    AvatarCollisionRules: AvatarCollisionRules;
    AvatarRules: AvatarRules;
    Backpack: Backpack;
    BallSocketConstraint: BallSocketConstraint;
    Beam: Beam;
    BillboardGui: BillboardGui;
    BindableEvent: BindableEvent;
    BindableFunction: BindableFunction;
    BlockMesh: BlockMesh;
    BloomEffect: BloomEffect;
    BlurEffect: BlurEffect;
    BodyAngularVelocity: BodyAngularVelocity;
    BodyColors: BodyColors;
    BodyForce: BodyForce;
    BodyGyro: BodyGyro;
    BodyPartDescription: BodyPartDescription;
    BodyPosition: BodyPosition;
    BodyThrust: BodyThrust;
    BodyVelocity: BodyVelocity;
    Bone: Bone;
    BoolValue: BoolValue;
    BoxHandleAdornment: BoxHandleAdornment;
    Breakpoint: Breakpoint;
    BrickColorValue: BrickColorValue;
    BubbleChatMessageProperties: BubbleChatMessageProperties;
    BuoyancySensor: BuoyancySensor;
    Camera: Camera;
    CanvasGroup: CanvasGroup;
    CFrameValue: CFrameValue;
    CharacterMesh: CharacterMesh;
    ChorusSoundEffect: ChorusSoundEffect;
    ClickDetector: ClickDetector;
    ClimbController: ClimbController;
    Clouds: Clouds;
    Color3Value: Color3Value;
    ColorCorrectionEffect: ColorCorrectionEffect;
    ColorGradingEffect: ColorGradingEffect;
    CompositeValueCurve: CompositeValueCurve;
    CompressorSoundEffect: CompressorSoundEffect;
    ConeHandleAdornment: ConeHandleAdornment;
    Configuration: Configuration;
    ControllerManager: ControllerManager;
    ControllerPartSensor: ControllerPartSensor;
    CornerWedgePart: CornerWedgePart;
    CurveAnimation: CurveAnimation;
    CustomLog: CustomLog;
    CylinderHandleAdornment: CylinderHandleAdornment;
    CylinderMesh: CylinderMesh;
    CylindricalConstraint: CylindricalConstraint;
    DataStoreGetOptions: DataStoreGetOptions;
    DataStoreIncrementOptions: DataStoreIncrementOptions;
    DataStoreOptions: DataStoreOptions;
    DataStoreSetOptions: DataStoreSetOptions;
    Decal: Decal;
    DepthOfFieldEffect: DepthOfFieldEffect;
    Dialog: Dialog;
    DialogChoice: DialogChoice;
    DigitsRigDescription: DigitsRigDescription;
    DistortionSoundEffect: DistortionSoundEffect;
    DoubleConstrainedValue: DoubleConstrainedValue;
    DragDetector: DragDetector;
    Dragger: Dragger;
    EchoSoundEffect: EchoSoundEffect;
    EqualizerSoundEffect: EqualizerSoundEffect;
    EulerRotationCurve: EulerRotationCurve;
    ExperienceInviteOptions: ExperienceInviteOptions;
    ExplorerFilter: ExplorerFilter;
    Explosion: Explosion;
    FaceControls: FaceControls;
    FileMesh: FileMesh;
    Fire: Fire;
    FlangeSoundEffect: FlangeSoundEffect;
    FloatCurve: FloatCurve;
    FloorWire: FloorWire;
    FluidForceSensor: FluidForceSensor;
    Folder: Folder;
    ForceField: ForceField;
    Frame: Frame;
    GeneratedFolder: GeneratedFolder;
    GetTextBoundsParams: GetTextBoundsParams;
    Glue: Glue;
    GroundController: GroundController;
    Handles: Handles;
    HapticEffect: HapticEffect;
    Hat: Hat;
    HiddenSurfaceRemovalAsset: HiddenSurfaceRemovalAsset;
    Highlight: Highlight;
    HingeConstraint: HingeConstraint;
    Hole: Hole;
    Humanoid: Humanoid;
    HumanoidController: HumanoidController;
    HumanoidDescription: HumanoidDescription;
    HumanoidRigDescription: HumanoidRigDescription;
    IKControl: IKControl;
    ImageButton: ImageButton;
    ImageHandleAdornment: ImageHandleAdornment;
    ImageLabel: ImageLabel;
    InputAction: InputAction;
    InputBinding: InputBinding;
    InputContext: InputContext;
    IntConstrainedValue: IntConstrainedValue;
    InternalSyncItem: InternalSyncItem;
    IntersectOperation: IntersectOperation;
    IntValue: IntValue;
    Keyframe: Keyframe;
    KeyframeMarker: KeyframeMarker;
    KeyframeSequence: KeyframeSequence;
    LinearVelocity: LinearVelocity;
    LineForce: LineForce;
    LineHandleAdornment: LineHandleAdornment;
    LocalizationTable: LocalizationTable;
    LocalScript: LocalScript;
    MakeupDescription: MakeupDescription;
    ManualGlue: ManualGlue;
    ManualWeld: ManualWeld;
    MarkerCurve: MarkerCurve;
    MaterialVariant: MaterialVariant;
    MeshPart: MeshPart;
    Model: Model;
    ModuleScript: ModuleScript;
    Motor: Motor;
    Motor6D: Motor6D;
    MotorFeature: MotorFeature;
    NegateOperation: NegateOperation;
    NoCollisionConstraint: NoCollisionConstraint;
    Noise: Noise;
    NumberPose: NumberPose;
    NumberValue: NumberValue;
    ObjectValue: ObjectValue;
    OperationGraph: OperationGraph;
    Pants: Pants;
    Part: Part;
    ParticleEmitter: ParticleEmitter;
    PartOperation: PartOperation;
    Path2D: Path2D;
    PathfindingLink: PathfindingLink;
    PathfindingModifier: PathfindingModifier;
    PitchShiftSoundEffect: PitchShiftSoundEffect;
    Plane: Plane;
    PlaneConstraint: PlaneConstraint;
    PluginCapabilities: PluginCapabilities;
    PointLight: PointLight;
    Pose: Pose;
    PrismaticConstraint: PrismaticConstraint;
    ProceduralModel: ProceduralModel;
    ProximityPrompt: ProximityPrompt;
    PyramidHandleAdornment: PyramidHandleAdornment;
    RayValue: RayValue;
    RealtimeMedia: RealtimeMedia;
    RelativeGui: RelativeGui;
    RemoteEvent: RemoteEvent;
    RemoteFunction: RemoteFunction;
    ReverbSoundEffect: ReverbSoundEffect;
    RigidConstraint: RigidConstraint;
    RocketPropulsion: RocketPropulsion;
    RodConstraint: RodConstraint;
    RopeConstraint: RopeConstraint;
    Rotate: Rotate;
    RotateP: RotateP;
    RotateV: RotateV;
    RotationCurve: RotationCurve;
    RTAnimationTracker: RTAnimationTracker;
    ScreenGui: ScreenGui;
    Script: Script;
    ScrollingFrame: ScrollingFrame;
    Seat: Seat;
    SelectionBox: SelectionBox;
    SelectionPartLasso: SelectionPartLasso;
    SelectionPointLasso: SelectionPointLasso;
    SelectionSphere: SelectionSphere;
    Shirt: Shirt;
    ShirtGraphic: ShirtGraphic;
    SkateboardController: SkateboardController;
    SkateboardPlatform: SkateboardPlatform;
    Sky: Sky;
    Smoke: Smoke;
    Snap: Snap;
    Sound: Sound;
    SoundGroup: SoundGroup;
    Sparkles: Sparkles;
    SpawnLocation: SpawnLocation;
    SpecialMesh: SpecialMesh;
    SphereHandleAdornment: SphereHandleAdornment;
    SpotLight: SpotLight;
    SpringConstraint: SpringConstraint;
    StarterGear: StarterGear;
    StringValue: StringValue;
    StudioAttachment: StudioAttachment;
    StudioCallout: StudioCallout;
    StyleDerive: StyleDerive;
    StyleLink: StyleLink;
    StyleQuery: StyleQuery;
    StyleRule: StyleRule;
    StyleSheet: StyleSheet;
    SunRaysEffect: SunRaysEffect;
    SurfaceAppearance: SurfaceAppearance;
    SurfaceGui: SurfaceGui;
    SurfaceLight: SurfaceLight;
    SurfaceSelection: SurfaceSelection;
    SwimController: SwimController;
    Team: Team;
    TeleportOptions: TeleportOptions;
    TerrainDetail: TerrainDetail;
    TerrainRegion: TerrainRegion;
    TextBox: TextBox;
    TextButton: TextButton;
    TextChannel: TextChannel;
    TextChatCommand: TextChatCommand;
    TextChatMessageProperties: TextChatMessageProperties;
    TextGenerator: TextGenerator;
    TextLabel: TextLabel;
    Texture: Texture;
    Tool: Tool;
    Torque: Torque;
    TorsionSpringConstraint: TorsionSpringConstraint;
    TrackerStreamAnimation: TrackerStreamAnimation;
    Trail: Trail;
    TremoloSoundEffect: TremoloSoundEffect;
    TrussPart: TrussPart;
    UIAspectRatioConstraint: UIAspectRatioConstraint;
    UICorner: UICorner;
    UIDragDetector: UIDragDetector;
    UIFlexItem: UIFlexItem;
    UIGradient: UIGradient;
    UIGridLayout: UIGridLayout;
    UIListLayout: UIListLayout;
    UIPadding: UIPadding;
    UIPageLayout: UIPageLayout;
    UIScale: UIScale;
    UIShadow: UIShadow;
    UISizeConstraint: UISizeConstraint;
    UIStroke: UIStroke;
    UITableLayout: UITableLayout;
    UITextSizeConstraint: UITextSizeConstraint;
    UnionOperation: UnionOperation;
    UniversalConstraint: UniversalConstraint;
    UnreliableRemoteEvent: UnreliableRemoteEvent;
    ValueCurve: ValueCurve;
    Vector3Curve: Vector3Curve;
    Vector3Value: Vector3Value;
    VectorForce: VectorForce;
    VehicleController: VehicleController;
    VehicleSeat: VehicleSeat;
    VelocityMotor: VelocityMotor;
    VideoDeviceInput: VideoDeviceInput;
    VideoDisplay: VideoDisplay;
    VideoFrame: VideoFrame;
    VideoPlayer: VideoPlayer;
    ViewportFrame: ViewportFrame;
    VisualizationMode: VisualizationMode;
    VisualizationModeCategory: VisualizationModeCategory;
    WedgePart: WedgePart;
    Weld: Weld;
    WeldConstraint: WeldConstraint;
    Wire: Wire;
    WireframeHandleAdornment: WireframeHandleAdornment;
    WorkspaceAnnotation: WorkspaceAnnotation;
    WorldModel: WorldModel;
    WrapDeformer: WrapDeformer;
    WrapLayer: WrapLayer;
    WrapTarget: WrapTarget;
    WrapTextureTransfer: WrapTextureTransfer;
}
interface Instances extends Services, CreatableInstances {
    AnimationClip: AnimationClip;
    AnimationImportData: AnimationImportData;
    AnimationStreamTrack: AnimationStreamTrack;
    AnimationTrack: AnimationTrack;
    AssetImportSession: AssetImportSession;
    AssetPatchSettings: AssetPatchSettings;
    AssetSoundEffect: AssetSoundEffect;
    AudioPages: AudioPages;
    AuroraScriptObject: AuroraScriptObject;
    BackpackItem: BackpackItem;
    BanHistoryPages: BanHistoryPages;
    BaseCoreGuiConfiguration: BaseCoreGuiConfiguration;
    BaseImportData: BaseImportData;
    BasePart: BasePart;
    BasePlayerGui: BasePlayerGui;
    BaseRemoteEvent: BaseRemoteEvent;
    BaseScript: BaseScript;
    BaseWrap: BaseWrap;
    BevelMesh: BevelMesh;
    BodyMover: BodyMover;
    BubbleChatConfiguration: BubbleChatConfiguration;
    CapturesPages: CapturesPages;
    CapturesViewConfiguration: CapturesViewConfiguration;
    CatalogPages: CatalogPages;
    ChannelSelectorSoundEffect: ChannelSelectorSoundEffect;
    ChannelTabsConfiguration: ChannelTabsConfiguration;
    CharacterAppearance: CharacterAppearance;
    ChatInputBarConfiguration: ChatInputBarConfiguration;
    ChatWindowConfiguration: ChatWindowConfiguration;
    ChatWindowMessageProperties: ChatWindowMessageProperties;
    Clothing: Clothing;
    CloudLocalizationTable: CloudLocalizationTable;
    Collaborator: Collaborator;
    Constraint: Constraint;
    Controller: Controller;
    ControllerBase: ControllerBase;
    ControllerSensor: ControllerSensor;
    CustomSoundEffect: CustomSoundEffect;
    DataModel: DataModel;
    DataModelMesh: DataModelMesh;
    DataStore: DataStore;
    DataStoreInfo: DataStoreInfo;
    DataStoreKey: DataStoreKey;
    DataStoreKeyInfo: DataStoreKeyInfo;
    DataStoreKeyPages: DataStoreKeyPages;
    DataStoreListingPages: DataStoreListingPages;
    DataStoreObjectVersionInfo: DataStoreObjectVersionInfo;
    DataStorePages: DataStorePages;
    DataStoreVersionPages: DataStoreVersionPages;
    DebuggerConnection: DebuggerConnection;
    DebuggerLuaResponse: DebuggerLuaResponse;
    DebuggerVariable: DebuggerVariable;
    DynamicRotate: DynamicRotate;
    EmotesPages: EmotesPages;
    ExplorerFilterAutocompleter: ExplorerFilterAutocompleter;
    FaceInstance: FaceInstance;
    FacialAnimationStreamingServiceStats: FacialAnimationStreamingServiceStats;
    FacialAnimationStreamingSubsessionStats: FacialAnimationStreamingSubsessionStats;
    FacsImportData: FacsImportData;
    Feature: Feature;
    FormFactorPart: FormFactorPart;
    FriendPages: FriendPages;
    GenericSettings: GenericSettings;
    GlobalDataStore: GlobalDataStore;
    GroupImportData: GroupImportData;
    GuiBase: GuiBase;
    GuiBase2d: GuiBase2d;
    GuiBase3d: GuiBase3d;
    GuiButton: GuiButton;
    GuiLabel: GuiLabel;
    GuiObject: GuiObject;
    HandleAdornment: HandleAdornment;
    HandlesBase: HandlesBase;
    ImportSession: ImportSession;
    InputObject: InputObject;
    Instance: Instance;
    InstanceAdornment: InstanceAdornment;
    InventoryPages: InventoryPages;
    JointImportData: JointImportData;
    JointInstance: JointInstance;
    LayerCollector: LayerCollector;
    Light: Light;
    LocalDebuggerConnection: LocalDebuggerConnection;
    LodDataEntity: LodDataEntity;
    LuaSourceContainer: LuaSourceContainer;
    ManualSurfaceJointInstance: ManualSurfaceJointInstance;
    MaterialImportData: MaterialImportData;
    MemoryStoreHashMap: MemoryStoreHashMap;
    MemoryStoreHashMapPages: MemoryStoreHashMapPages;
    MemoryStoreQueue: MemoryStoreQueue;
    MemoryStoreSortedMap: MemoryStoreSortedMap;
    MeshImportData: MeshImportData;
    MessageBusConnection: MessageBusConnection;
    MetaBreakpoint: MetaBreakpoint;
    MetaBreakpointContext: MetaBreakpointContext;
    Mouse: Mouse;
    NetworkMarker: NetworkMarker;
    OpenCloudApiV1: OpenCloudApiV1;
    OrderedDataStore: OrderedDataStore;
    OutfitPages: OutfitPages;
    PackageLink: PackageLink;
    Pages: Pages;
    ParabolaAdornment: ParabolaAdornment;
    PartAdornment: PartAdornment;
    PatchMapping: PatchMapping;
    Path: Path;
    PausedState: PausedState;
    PausedStateBreakpoint: PausedStateBreakpoint;
    PausedStateException: PausedStateException;
    Platform: Platform;
    Player: Player;
    PlayerData: PlayerData;
    PlayerDataRecord: PlayerDataRecord;
    PlayerDataRecordConfig: PlayerDataRecordConfig;
    PlayerGui: PlayerGui;
    PlayerListConfiguration: PlayerListConfiguration;
    PlayerMouse: PlayerMouse;
    PlayerScripts: PlayerScripts;
    PluginManagerInterface: PluginManagerInterface;
    PoseBase: PoseBase;
    PostEffect: PostEffect;
    PVAdornment: PVAdornment;
    PVInstance: PVInstance;
    RecommendationPages: RecommendationPages;
    RobloxSerializableInstance: RobloxSerializableInstance;
    RolloutValidation: RolloutValidation;
    RootImportData: RootImportData;
    ScreenshotHud: ScreenshotHud;
    ScriptBuilder: ScriptBuilder;
    ScriptRuntime: ScriptRuntime;
    SelectionLasso: SelectionLasso;
    SelfViewConfiguration: SelfViewConfiguration;
    SensorBase: SensorBase;
    ServiceProvider: ServiceProvider;
    SlidingBallConstraint: SlidingBallConstraint;
    SlimAnimationDataEntity: SlimAnimationDataEntity;
    SoundEffect: SoundEffect;
    StackFrame: StackFrame;
    StandardPages: StandardPages;
    StarterCharacterScripts: StarterCharacterScripts;
    StarterPlayerScripts: StarterPlayerScripts;
    StudioObjectBase: StudioObjectBase;
    StudioScreenshotCapture: StudioScreenshotCapture;
    StudioWidget: StudioWidget;
    StyleBase: StyleBase;
    SurfaceGuiBase: SurfaceGuiBase;
    SyncScriptBuilder: SyncScriptBuilder;
    TeleportAsyncResult: TeleportAsyncResult;
    Terrain: Terrain;
    TestCase: TestCase;
    TextChatConfigurations: TextChatConfigurations;
    TextChatMessage: TextChatMessage;
    TextFilterResult: TextFilterResult;
    TextFilterTranslatedResult: TextFilterTranslatedResult;
    TextSource: TextSource;
    TextureGenerationPartGroup: TextureGenerationPartGroup;
    TextureGenerationUnwrappingRequest: TextureGenerationUnwrappingRequest;
    ThreadState: ThreadState;
    TouchTransmitter: TouchTransmitter;
    TrackerLodController: TrackerLodController;
    Translator: Translator;
    TriangleMeshPart: TriangleMeshPart;
    Tween: Tween;
    TweenBase: TweenBase;
    UIBase: UIBase;
    UIComponent: UIComponent;
    UIConstraint: UIConstraint;
    UIGridStyleLayout: UIGridStyleLayout;
    UILayout: UILayout;
    UserSettings: UserSettings;
    ValueBase: ValueBase;
    WebSocketClient: WebSocketClient;
    WorldRoot: WorldRoot;
}
interface Objects extends Instances {
    AnimationNode: AnimationNode;
    Capture: Capture;
    ConfigSnapshot: ConfigSnapshot;
    EditableImage: EditableImage;
    EditableMesh: EditableMesh;
    ExecutedRemoteCommand: ExecutedRemoteCommand;
    MLSession: MLSession;
    Object: RBXObject;
    OutputLink: OutputLink;
    PluginConnection: PluginConnection;
    ScreenshotCapture: ScreenshotCapture;
    TerrainIterateOperation: TerrainIterateOperation;
    TerrainModifyOperation: TerrainModifyOperation;
    TerrainReadOperation: TerrainReadOperation;
    TerrainWriteOperation: TerrainWriteOperation;
    VideoCapture: VideoCapture;
    VideoSampler: VideoSampler;
    VirtualInput: VirtualInput;
    VoxelBuffer: VoxelBuffer;
    WebStreamClient: WebStreamClient;
}
// GENERATED ROBLOX INSTANCE CLASSES
/**
 * `Object` is the base class for all classes in the Roblox class hierarchy.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Object)
 */
interface RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Object: unique symbol;
    /**
     * A read-only string representing the class this `Object` belongs to.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Object#ClassName)
     */
    readonly ClassName: string;
    /**
     * Get an event that fires when a given property of the object changes.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Object#GetPropertyChangedSignal)
     * @param this `Object` is the base class for all classes in the Roblox class hierarchy.
     * @param property The property to connect to.
     * @returns A signal that fires whenever the property changes.
     */
    GetPropertyChangedSignal<T extends RBXObject>(this: T, propertyName: InstancePropertyNames<T>): RBXScriptSignal<() => void>;
    /**
     * Returns true if an object's class matches or inherits from a given class.
     *
     * - **ThreadSafety**: Safe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Object#IsA)
     * @param this `Object` is the base class for all classes in the Roblox class hierarchy.
     * @param className The class against which the Object's class will be checked. Case-sensitive.
     * @returns Describes whether the Object's class matched or is a subclass of the given class.
     */
    IsA<T extends keyof Objects>(this: RBXObject, className: T): this is Objects[T];
    /**
     * Fires immediately after a property of the object changes, with some limitations.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Object#Changed)
     */
    readonly Changed: unknown;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationNode)
 */
interface AnimationNode extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AnimationNode: unique symbol;
}
/**
 * A class which defines a piece of content, such as a screenshot or video, taken in-experience.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Capture)
 */
interface Capture extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Capture: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Capture#CaptureTime)
     */
    readonly CaptureTime: DateTime;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Capture#CaptureType)
     */
    readonly CaptureType: Enum.CaptureType;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Capture#LocalId)
     */
    readonly LocalId: string;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Capture#SourcePlaceId)
     */
    readonly SourcePlaceId: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Capture#SourceUniverseId)
     */
    readonly SourceUniverseId: number;
}
/**
 * A child class of `Capture` for screenshots.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenshotCapture)
 */
interface ScreenshotCapture extends Capture {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ScreenshotCapture: unique symbol;
}
/**
 * A child class of `Capture` for videos.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoCapture)
 */
interface VideoCapture extends Capture {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VideoCapture: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoCapture#TimeLength)
     */
    readonly TimeLength: number;
}
/**
 * A snapshot of configuration values at a given version. Can be player-specific.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConfigSnapshot)
 */
interface ConfigSnapshot extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ConfigSnapshot: unique symbol;
    /**
     * Populated if snapshot was in an error state.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConfigSnapshot#Error)
     */
    readonly Error: Enum.ConfigSnapshotErrorState;
    /**
     * If true, indicates the snapshot is outdated and can be refreshed to newer values.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConfigSnapshot#Outdated)
     */
    readonly Outdated: boolean;
    /**
     * Returns the value for the given key.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConfigSnapshot#GetValue)
     * @param this A snapshot of configuration values at a given version. Can be player-specific.
     * @param key Key of the configuration to get the value for.
     * @returns The value of the configuration for the given key.
     */
    GetValue(this: ConfigSnapshot, key: string): unknown;
    /**
     * Returns a signal that fires when the value for the given key changes due to a refresh.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConfigSnapshot#GetValueChangedSignal)
     * @param this A snapshot of configuration values at a given version. Can be player-specific.
     * @param key Key of the configuration to get the change signal for.
     * @returns A `RBXScriptSignal` that fires when the value for the given key changes upon refresh.
     */
    GetValueChangedSignal(this: ConfigSnapshot, key: string): RBXScriptSignal;
    /**
     * Refreshes the snapshot to the latest configuration values.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConfigSnapshot#Refresh)
     * @param this A snapshot of configuration values at a given version. Can be player-specific.
     */
    Refresh(this: ConfigSnapshot): void;
    /**
     * Fires when a newer version of the configuration is available.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConfigSnapshot#UpdateAvailable)
     */
    readonly UpdateAvailable: RBXScriptSignal<() => void>;
}
/**
 * Instance which allows for the runtime creation and manipulation of images.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableImage)
 */
interface EditableImage extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_EditableImage: unique symbol;
    /**
     * Size of the `EditableImage` in pixels.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableImage#Size)
     */
    readonly Size: Vector2;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableImage#Destroy)
     * @param this Instance which allows for the runtime creation and manipulation of images.
     */
    Destroy(this: EditableImage): void;
    /**
     * Draws a circle at the specified point.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableImage#DrawCircle)
     * @param this Instance which allows for the runtime creation and manipulation of images.
     * @param center Center of the circle, relative to the top-left corner of the `EditableImage`. Positions outside the canvas bounds are allowed.
     * @param radius Radius of the circle in pixels.
     * @param color Color of the circle.
     * @param transparency Transparency of the circle with 0 being fully opaque and 1 being fully transparent.
     * @param combineType How the pixels of the source image are blended with the pixels of the added image.
     */
    DrawCircle(this: EditableImage, center: Vector2, radius: number, color: Color3, transparency: number, combineType: CastsToEnum<Enum.ImageCombineType>): void;
    /**
     * Draws another `EditableImage` into this `EditableImage` at the given position.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableImage#DrawImage)
     * @param this Instance which allows for the runtime creation and manipulation of images.
     * @param position Position at which the top-left corner of the added image will be drawn.
     * @param image The `EditableImage` to draw into this `EditableImage`.
     * @param combineType How the pixels of the source image should be blended with the pixels of the added image.
     */
    DrawImage(this: EditableImage, position: Vector2, image: EditableImage, combineType: CastsToEnum<Enum.ImageCombineType>): void;
    /**
     * Projects another `EditableImage` into an `EditableMesh` and stores the result on this `EditableImage`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableImage#DrawImageProjected)
     * @param this Instance which allows for the runtime creation and manipulation of images.
     * @param mesh The `EditableMesh` used to project into.
     * @param projection Projection configuration dictionary including the following key-value pairs: - `Direction` (`Vector3`) where the projector is facing.
     * - `Position` (`Vector3`) as the position in local space with   respect to the mesh.
     * - `Size` (`Vector3`) as the size of the projector.
     * - `Up` (`Vector3`) as the up vector of the projector in local   space with respect to the mesh.
     *
     *
     * @param brushConfig Brush configuration dictionary including the following key-value pairs: - `AlphaBlendType` (`ImageAlphaType`) which determines how this   projection will blend alpha values.
     * - `ColorBlendType` (`ImageCombineType`) which determines how this   projection will blend color values.
     * - `Decal` (`EditableImage`) as the image used for projection.
     * - `FadeAngle` (number) as the angle in degrees for the projection   edges to start to fall off. The projection will be fully faded out   at 90 degrees. An angle of 0 means fading starts immediately at 0   degrees and an angle of 90 means no fading but instead a hard edge   at 90 degrees. An angle of 70 degrees would mean the projection   starts to fade at 70 degrees and is fully faded out at 90 degrees.
     * - `BlendIntensity` (number) as the value between `0` and `1` which   controls how much of the projection is blended into the resulting   image.
     */
    DrawImageProjected(this: EditableImage, mesh: EditableMesh, projection: DrawImageProjectedProjection, brushConfig: DrawImageProjectedBrushConfig): void;
    /**
     * Draws an image into this `EditableImage` with transformations including scaling and rotation, placing it at the specified position.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableImage#DrawImageTransformed)
     * @param this Instance which allows for the runtime creation and manipulation of images.
     * @param position Position in pixels where the pivot point of the source image will be placed on this image.
     * @param scale Scaling factors for the source image along the X and Y axes.
     * @param rotation The rotation angle in degrees, applied around the pivot point of the source image.
     * @param image The source `EditableImage` to be drawn into this image.
     * @param options Optional dictionary for additional configuration: - `CombineType`: Specifies how the pixels of the source image blend   with those of the destination. Default is   `ImageCombineType.AlphaBlend`.
     * - `SamplingMode`: Specifies the sampling method (e.g. `Default` for   bilinear or `Pixelated` for nearest neighbor). Default is   `ResamplerMode.Default`.
     * - `PivotPoint`: Specifies the pivot point within the source image for   scaling and rotation. Default is the center of the source image   (i.e. `Size / 2`).
     */
    DrawImageTransformed(this: EditableImage, position: Vector2, scale: Vector2, rotation: number, image: EditableImage, options: DrawImageTransformedOptions): void;
    /**
     * Draws a line between two provided points.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableImage#DrawLine)
     * @param this Instance which allows for the runtime creation and manipulation of images.
     * @param p1 Start point of the line.
     * @param p2 End point of the line.
     * @param color Color of the line.
     * @param transparency Transparency of the line.
     * @param combineType How the pixels of the source image are blended with the pixels of the added image.
     */
    DrawLine(this: EditableImage, p1: Vector2, p2: Vector2, color: Color3, transparency: number, combineType: CastsToEnum<Enum.ImageCombineType>): void;
    /**
     * Draws a rectangle of the given size at the given top-left position.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableImage#DrawRectangle)
     * @param this Instance which allows for the runtime creation and manipulation of images.
     * @param position Position of the top-left of the rectangle. Unlike other drawing methods, this cannot be outside the canvas bounds of the `EditableImage`.
     * @param size Size of the rectangle to draw, in pixels.
     * @param color Color of the rectangle.
     * @param transparency Transparency of the rectangle.
     * @param combineType How the pixels of the source image are blended with the pixels of the added image.
     */
    DrawRectangle(this: EditableImage, position: Vector2, size: Vector2, color: Color3, transparency: number, combineType: CastsToEnum<Enum.ImageCombineType>): void;
    /**
     * Reads a rectangular region of pixels into a buffer.
     *
     * - **ThreadSafety**: Safe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableImage#ReadPixelsBuffer)
     * @param this Instance which allows for the runtime creation and manipulation of images.
     * @param position Top-left corner of the rectangular region of pixels to read.
     * @param size Size of the rectangular region of pixels to read.
     * @returns Buffer where each pixel is represented by four bytes (red, green, blue and alpha respectively). The length of the buffer can be calculated as `X * Size.Y * 4` bytes.
     */
    ReadPixelsBuffer(this: EditableImage, position: Vector2, size: Vector2): buffer;
    /**
     * Writes a rectangular region of pixels into the image.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableImage#WritePixelsBuffer)
     * @param this Instance which allows for the runtime creation and manipulation of images.
     * @param position Top-left corner of the rectangular region to draw the pixels into.
     * @param size Size of the rectangular region of pixels to write.
     * @param buffer A buffer where each pixel is represented by four bytes (red, green, blue, and alpha respectively). The length of the buffer should be `X * Size.Y * 4` bytes.
     */
    WritePixelsBuffer(this: EditableImage, position: Vector2, size: Vector2, buffer: buffer): void;
}
/**
 * Instance which allows for the runtime creation and manipulation of meshes.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh)
 */
interface EditableMesh extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_EditableMesh: unique symbol;
    /**
     * Returns `true` if a mesh is fixed-size.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#FixedSize)
     */
    get FixedSize(): boolean;
    /**
     * **Deprecated:**
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SkinningEnabled)
     *
     * @deprecated
     */
    SkinningEnabled: boolean;
    /**
     * Adds a new bone and returns a stable bone ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#AddBone)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param boneProperties Options table containing bone parameters: - `Name` — A string that specifies the bone name. Note that all bone   names in a mesh must be unique.
     * - `ParentId` — Optional bone ID of the new bone's parent.
     * - `CFrame` — Initial `CFrame` of the bone in the bind pose of   the mesh, in the mesh's local space.
     * - `Virtual` — Boolean that specifies whether this bone is virtual.   Virtual bones can only be bound to a `FaceControls` instance.
     *
     *
     * @returns Stable bone ID of the new bone.
     */
    AddBone(this: EditableMesh, boneProperties: object): number;
    /**
     * Adds a new color to the geometry and returns a stable color ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#AddColor)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param color The new color.
     * @param alpha The color alpha (transparency).
     * @returns Stable color ID of the new color.
     */
    AddColor(this: EditableMesh, color: Color3, alpha: number): number;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#AddFace)
     */
    AddFace(this: EditableMesh, vertexIds: Array<unknown>): number;
    /**
     * Adds a new normal to the geometry and returns a stable normal ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#AddNormal)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param normal The normal vector. If the normal value isn't specified, the normal will be automatically calculated.
     * @returns Stable normal ID of the new normal.
     */
    AddNormal(this: EditableMesh, normal?: Vector3): number;
    /**
     * Adds a new triangle to the mesh and returns a stable face ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#AddTriangle)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId0 ID of the first vertex of the triangle.
     * @param vertexId1 ID of the second vertex of the triangle.
     * @param vertexId2 ID of the third vertex of the triangle.
     * @returns Stable face ID of the new face.
     */
    AddTriangle(this: EditableMesh, vertexId0: number, vertexId1: number, vertexId2: number): number;
    /**
     * Adds a new UV to the geometry and returns a stable UV ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#AddUV)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param uv The new UV coordinate.
     * @returns Stable UV ID of the new UV.
     */
    AddUV(this: EditableMesh, uv: Vector2): number;
    /**
     * Adds a new vertex to the geometry and returns a stable vertex ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#AddVertex)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param p Position in the mesh's local object space.
     * @returns Stable vertex ID of the new vertex.
     */
    AddVertex(this: EditableMesh, p: Vector3): number;
    /**
     * Destroys the mesh.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#Destroy)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     */
    Destroy(this: EditableMesh): void;
    /**
     * Finds the closest point on the mesh's surface.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#FindClosestPointOnSurface)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param point Point position in the mesh's local object space.
     * @returns Tuple of the face ID, point on the mesh in local object space, and the barycentric coordinate of the position within the face.
     */
    FindClosestPointOnSurface(this: EditableMesh, point: Vector3): LuaTuple<[
        number,
        Vector3,
        Vector3
    ]>;
    /**
     * Finds the closest vertex to a specific point in space.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#FindClosestVertex)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param toThisPoint Point position in the mesh's local object space.
     * @returns Closest stable vertex ID to the specified point in space.
     */
    FindClosestVertex(this: EditableMesh, toThisPoint: Vector3): number;
    /**
     * Finds all vertices within a specific sphere.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#FindVerticesWithinSphere)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param center Center of the sphere in the mesh's local object space.
     * @param radius Radius of the sphere.
     * @returns List of stable vertex IDs within the requested sphere.
     */
    FindVerticesWithinSphere(this: EditableMesh, center: Vector3, radius: number): Array<number>;
    /**
     * Returns a list of faces adjacent to a given face.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetAdjacentFaces)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param faceId
     * @returns List of face IDs adjacent to the given face.
     */
    GetAdjacentFaces(this: EditableMesh, faceId: number): Array<unknown>;
    /**
     * Returns a list of vertices adjacent to a given vertex.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetAdjacentVertices)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Vertex ID around which to get adjacent vertices.
     * @returns List of IDs of adjacent vertices around the given vertex ID.
     */
    GetAdjacentVertices(this: EditableMesh, vertexId: number): Array<number>;
    /**
     * Finds the bone ID of the bone with the given name.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetBoneByName)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param boneName Bone name to search for.
     * @returns Bone ID of the bone with the given name.
     */
    GetBoneByName(this: EditableMesh, boneName: string): number;
    /**
     * Returns the initial `CFrame` of the bone in the bind pose of the mesh.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetBoneCFrame)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param boneId Bone ID for which to get the `CFrame`.
     * @returns Initial `CFrame` of the bone in the bind pose of the mesh, in the mesh's local space.
     */
    GetBoneCFrame(this: EditableMesh, boneId: number): CFrame;
    /**
     * Returns `true` if the bone is virtual.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetBoneIsVirtual)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param boneId Bone ID for which to get whether the bone is virtual.
     * @returns Whether the bone with the given bone ID is virtual. Virtual bones can only be bound to a `FaceControls` instance.
     */
    GetBoneIsVirtual(this: EditableMesh, boneId: number): boolean;
    /**
     * Returns the bone name.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetBoneName)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param boneId Bone ID for which to get the name.
     * @returns Name of the bone with the given bone ID.
     */
    GetBoneName(this: EditableMesh, boneId: number): string;
    /**
     * Returns the parent bone ID, if any.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetBoneParent)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param boneId Bone ID for which to get the parent.
     * @returns Bone ID for the parent of the bone with the given bone ID. If there is no parent, returns `0`.
     */
    GetBoneParent(this: EditableMesh, boneId: number): number;
    /**
     * Returns all bones of the mesh.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetBones)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @returns List of stable bone IDs.
     */
    GetBones(this: EditableMesh): Array<unknown>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetCenter)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @returns Center of the bounding box of the `EditableMesh`.
     */
    GetCenter(this: EditableMesh): Vector3;
    /**
     * Returns the color for the given color ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetColor)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param colorId Color ID for which to get the color.
     * @returns Color for the requested stable color ID.
     */
    GetColor(this: EditableMesh, colorId: number): Color3 | undefined;
    /**
     * Returns the color alpha (transparency) at the given color ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetColorAlpha)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param colorId Color ID for which to get the alpha.
     * @returns Color alpha at the request stable color ID.
     */
    GetColorAlpha(this: EditableMesh, colorId: number): number | undefined;
    /**
     * Returns all colors of the mesh.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetColors)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @returns List of stable color IDs.
     */
    GetColors(this: EditableMesh): Array<unknown>;
    /**
     * Returns the face's color IDs for the vertices on the face.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetFaceColors)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param faceId Face ID for which to get the color IDs.
     * @returns List of color IDs used for the vertices on the given face.
     */
    GetFaceColors(this: EditableMesh, faceId: number): Array<unknown>;
    /**
     * Returns the face's normal IDs for the vertices on the face.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetFaceNormals)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param faceId Face ID for which to get the normal IDs.
     * @returns List of normal IDs used for the vertices on the given face.
     */
    GetFaceNormals(this: EditableMesh, faceId: number): Array<unknown>;
    /**
     * Returns the face's UV IDs for the vertices on the face.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetFaceUVs)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param faceId Face ID for which to get the UV IDs.
     * @returns List of UV IDs used for the vertices on the given face.
     */
    GetFaceUVs(this: EditableMesh, faceId: number): Array<unknown>;
    /**
     * Returns the face's vertex IDs.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetFaceVertices)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param faceId
     * @returns List of vertex IDs around the given face.
     */
    GetFaceVertices(this: EditableMesh, faceId: number): Array<unknown>;
    /**
     * Returns all faces of the mesh.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetFaces)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @returns List of stable face IDs.
     */
    GetFaces(this: EditableMesh): Array<unknown>;
    /**
     * **Deprecated:**
     *
     * Returns a list of faces that use a given attribute ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetFacesWithAttribute)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param id Attribute ID for which to find faces that use it.
     * @returns List of face IDs which use the given attribute ID.
     *
     * @deprecated
     */
    GetFacesWithAttribute(this: EditableMesh, id: number): Array<unknown>;
    /**
     * Returns an array of face IDs that use the given color ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetFacesWithColor)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param colorId Color ID to find faces for.
     * @returns List of face IDs that use the provided color ID.
     */
    GetFacesWithColor(this: EditableMesh, colorId: number): Array<unknown>;
    /**
     * Returns an array of face IDs that use the given normal ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetFacesWithNormal)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param normalId Normal ID to find faces for.
     * @returns List of face IDs that use the provided normal ID.
     */
    GetFacesWithNormal(this: EditableMesh, normalId: number): Array<unknown>;
    /**
     * Returns an array of face IDs that use the given UV ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetFacesWithUV)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param uvId UV ID to find faces for.
     * @returns List of face IDs that use the provided UV ID.
     */
    GetFacesWithUV(this: EditableMesh, uvId: number): Array<unknown>;
    /**
     * Returns bone IDs and bone `CFrames` for all bones in a specific FACS corrective pose.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetFacsCorrectivePose)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param actions Array or 2 or 3 `FacsActionUnit` values that specify a corrective pose.
     * @returns Array of bone IDs and corresponding array of bone `CFrames`.
     */
    GetFacsCorrectivePose(this: EditableMesh, actions: Array<unknown>): unknown;
    /**
     * Returns all FACS corrective poses that are in use.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetFacsCorrectivePoses)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @returns Array of corrective poses. Each corrective pose is specified by a small array of 2 or 3 `FacsActionUnit` values.
     */
    GetFacsCorrectivePoses(this: EditableMesh): Array<unknown>;
    /**
     * Returns bone IDs and bone `CFrames` for all bones in a specific FACS action unit.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetFacsPose)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param action FACS action unit for which to get the pose.
     * @returns Array of bone IDs and corresponding array of bone `CFrame`.
     */
    GetFacsPose(this: EditableMesh, action: CastsToEnum<Enum.FacsActionUnit>): unknown;
    /**
     * Returns all FACS action units that have poses defined.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetFacsPoses)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @returns Array of `FacsActionUnit`, one for each FACS action unit that has a pose defined.
     */
    GetFacsPoses(this: EditableMesh): Array<unknown>;
    /**
     * Returns the normal vector for the given normal ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetNormal)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param normalId Normal ID for which to get the normal vector.
     * @returns Normal vector at the requested normal ID.
     */
    GetNormal(this: EditableMesh, normalId: number): Vector3 | undefined;
    /**
     * Returns all normals of the mesh.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetNormals)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @returns List of stable normal IDs.
     */
    GetNormals(this: EditableMesh): Array<unknown>;
    /**
     * Gets the position of a vertex.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetPosition)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Stable vertex ID for which to get the position.
     * @returns Position of a vertex in the mesh's local object space.
     */
    GetPosition(this: EditableMesh, vertexId: number): Vector3;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetSize)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @returns Size of the `EditableMesh`.
     */
    GetSize(this: EditableMesh): Vector3;
    /**
     * Returns UV coordinates at the given UV ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetUV)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param uvId UV ID for which to get the UV coordinate.
     * @returns UV coordinates at the requested UV ID.
     */
    GetUV(this: EditableMesh, uvId: number): Vector2 | undefined;
    /**
     * Returns all UVs of the mesh.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetUVs)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @returns List of stable UV IDs.
     */
    GetUVs(this: EditableMesh): Array<unknown>;
    /**
     * Returns skinning blend weights for each bone that is associated with the vertex.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetVertexBoneWeights)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Vertex ID for which to get the associated bone weights.
     * @returns Skinning blend weights for each bone that is associated with the vertex.
     */
    GetVertexBoneWeights(this: EditableMesh, vertexId: number): Array<unknown>;
    /**
     * Returns all bone IDs that are associated with the vertex for skinning.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetVertexBones)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Vertex ID for which to get the associated bones.
     * @returns Bone IDs associated with the vertex for skinning.
     */
    GetVertexBones(this: EditableMesh, vertexId: number): Array<unknown>;
    /**
     * Returns the color IDs of the faces attached to the given vertex.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetVertexColors)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Stable vertex ID to find color IDs.
     * @returns Array of color IDs of faces attached to the given vertex.
     */
    GetVertexColors(this: EditableMesh, vertexId: number): Array<unknown>;
    /**
     * Returns the color ID of a vertex/face pair.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetVertexFaceColor)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Stable vertex ID.
     * @param faceId Stable face ID.
     * @returns Stable color ID of the vertex/face pair.
     */
    GetVertexFaceColor(this: EditableMesh, vertexId: number, faceId: number): number;
    /**
     * Returns the normal ID of a vertex/face pair.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetVertexFaceNormal)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Stable vertex ID.
     * @param faceId Stable face ID.
     * @returns Stable normal ID of the vertex/face pair.
     */
    GetVertexFaceNormal(this: EditableMesh, vertexId: number, faceId: number): number;
    /**
     * Returns the UV ID of a vertex/face pair.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetVertexFaceUV)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Stable vertex ID.
     * @param faceId Stable face ID.
     * @returns Stable UV ID of the vertex/face pair.
     */
    GetVertexFaceUV(this: EditableMesh, vertexId: number, faceId: number): number;
    /**
     * Returns the face IDs of the faces attached to the given vertex.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetVertexFaces)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Stable vertex ID to find faces for.
     * @returns Array of face IDs attached to the given vertex.
     */
    GetVertexFaces(this: EditableMesh, vertexId: number): Array<unknown>;
    /**
     * Returns the normal IDs of the faces attached to the given vertex.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetVertexNormals)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Stable vertex ID to find normal IDs.
     * @returns Array of normal IDs of faces attached to the given vertex.
     */
    GetVertexNormals(this: EditableMesh, vertexId: number): Array<unknown>;
    /**
     * Returns the UV IDs of the faces attached to the given vertex.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetVertexUVs)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Stable vertex ID to find UV IDs.
     * @returns Array of UV IDs of faces attached to the given vertex.
     */
    GetVertexUVs(this: EditableMesh, vertexId: number): Array<unknown>;
    /**
     * Returns all vertices as a list of stable vertex IDs.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetVertices)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @returns List of stable vertex IDs.
     */
    GetVertices(this: EditableMesh): Array<number>;
    /**
     * **Deprecated:**
     *
     * Returns a list of vertices that use a given attribute ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetVerticesWithAttribute)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param id Attribute ID for which to find vertices that use it.
     * @returns List of vertex IDs which use the given attribute ID.
     *
     * @deprecated
     */
    GetVerticesWithAttribute(this: EditableMesh, id: number): Array<unknown>;
    /**
     * Returns an array of vertex IDs that use the given color ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetVerticesWithColor)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param colorId Color ID to find faces for.
     * @returns List of face IDs that use the provided color ID.
     */
    GetVerticesWithColor(this: EditableMesh, colorId: number): Array<unknown>;
    /**
     * Returns an array of vertex IDs that use the given normal ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetVerticesWithNormal)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param normalId Normal ID to find vertices for.
     * @returns List of vertex IDs that use the provided normal ID.
     */
    GetVerticesWithNormal(this: EditableMesh, normalId: number): Array<unknown>;
    /**
     * Returns an array of vertex IDs that use the given UV ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#GetVerticesWithUV)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param uvId UV ID to find vertices for.
     * @returns List of vertex IDs that use the provided UV ID.
     */
    GetVerticesWithUV(this: EditableMesh, uvId: number): Array<unknown>;
    /**
     * Returns a string describing a stable ID, useful for debugging purposes.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#IdDebugString)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param id ID for which to return a debugging information string.
     * @returns String that describes the ID in human-readable format.
     */
    IdDebugString(this: EditableMesh, id: number): string;
    /**
     * Merges vertices that touch together.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#MergeVertices)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param mergeTolerance The distance at which the vertices are considered to touch each other.
     * @returns A mapping of old vertex ID to new vertex ID for vertices that have been merged.
     */
    MergeVertices(this: EditableMesh, mergeTolerance: number): unknown;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#RaycastLocal)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param origin Origin of the ray in the mesh's local object space.
     * @param direction Direction of the ray.
     * @returns Tuple of the point of intersection, face ID, and barycentric coordinates.
     */
    RaycastLocal(this: EditableMesh, origin: Vector3, direction: Vector3): LuaTuple<[
        number,
        Vector3,
        Vector3
    ]>;
    /**
     * Removes a bone using its stable bone ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#RemoveBone)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param boneId
     */
    RemoveBone(this: EditableMesh, boneId: number): void;
    /**
     * Removes a face using its stable face ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#RemoveFace)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param faceId
     */
    RemoveFace(this: EditableMesh, faceId: number): void;
    /**
     * Removes all unused vertices, normals, UVs, and colors, and returns the removed IDs.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#RemoveUnused)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @returns All of the removed stable IDs.
     */
    RemoveUnused(this: EditableMesh): Array<unknown>;
    /**
     * Reset this normal ID to be automatically calculated.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#ResetNormal)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param normalId Stable normal ID to reset.
     */
    ResetNormal(this: EditableMesh, normalId: number): void;
    /**
     * Set the initial `CFrame` for a bone in the mesh's bind pose.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetBoneCFrame)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param boneId Bone ID for which to set the initial `CFrame`.
     * @param cframe Initial `CFrame` for the bone in the mesh's bind pose, in the mesh's local space.
     */
    SetBoneCFrame(this: EditableMesh, boneId: number, cframe: CFrame): void;
    /**
     * Set whether a bone is virtual.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetBoneIsVirtual)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param boneId Bone ID for which to set whether the bone is virtual.
     * @param virtual Whether the bone should be virtual.
     */
    SetBoneIsVirtual(this: EditableMesh, boneId: number, virtual: boolean): void;
    /**
     * Sets the name for a bone.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetBoneName)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param boneId Bone ID for which to set the name.
     * @param name Bone name to set.
     */
    SetBoneName(this: EditableMesh, boneId: number, name: string): void;
    /**
     * Set a parent for a bone.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetBoneParent)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param boneId Bone ID for which to set the parent.
     * @param parentBoneId Parent bone ID.
     */
    SetBoneParent(this: EditableMesh, boneId: number, parentBoneId: number): void;
    /**
     * Sets the color for a color ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetColor)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param colorId Stable color ID for which to set the color.
     * @param color Color to set.
     */
    SetColor(this: EditableMesh, colorId: number, color: Color3): void;
    /**
     * Sets the color alpha (transparency) for a color ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetColorAlpha)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param colorId Stable color ID for which to set the color alpha.
     * @param alpha Alpha to set.
     */
    SetColorAlpha(this: EditableMesh, colorId: number, alpha: number): void;
    /**
     * Sets the face's vertex colors to new color IDs.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetFaceColors)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param faceId Face ID for which to update the vertex colors.
     * @param ids List of new stable color IDs to use for the given face's vertices.
     */
    SetFaceColors(this: EditableMesh, faceId: number, ids: Array<unknown>): void;
    /**
     * Sets the face's vertex normals to new normal IDs.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetFaceNormals)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param faceId Face ID for which to update the vertex normals.
     * @param ids List of new stable normal IDs to use for the given face's vertices.
     */
    SetFaceNormals(this: EditableMesh, faceId: number, ids: Array<unknown>): void;
    /**
     * Sets the face's vertex UVs to new UV IDs.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetFaceUVs)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param faceId Face ID for which to update the vertex UVs.
     * @param ids List of new stable UV IDs to use for the given face's vertices.
     */
    SetFaceUVs(this: EditableMesh, faceId: number, ids: Array<unknown>): void;
    /**
     * Sets the face's vertices to new vertex IDs.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetFaceVertices)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param faceId Face ID for which to update the vertices.
     * @param ids List of new stable vertex IDs to use for the given face.
     */
    SetFaceVertices(this: EditableMesh, faceId: number, ids: Array<unknown>): void;
    /**
     * Set `CFrame` for an individual bone in a specific FACS action unit.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetFacsBonePose)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param action FACS action unit for which to set the pose.
     * @param boneId Bone to set a `CFrame` for this pose.
     * @param cframe `CFrame` which transforms the bone from the initial bone `CFrame` in the bind pose of the mesh to the combined bone `CFrame` for this pose. All `CFrames` are in the mesh's local space.
     */
    SetFacsBonePose(this: EditableMesh, action: CastsToEnum<Enum.FacsActionUnit>, boneId: number, cframe: CFrame): void;
    /**
     * Set pose for all bones in a specific FACS corrective pose.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetFacsCorrectivePose)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param actions Array or 2 or 3 `FacsActionUnit` values to apply as a corrective pose.
     * @param boneIds Bones to set a `CFrame` for this pose.
     * @param cframes `CFrame` transforms for the bones in this corrective pose. Each bone `CFrame` transforms the bone from the initial bone `CFrame` in the bind pose of the mesh to the combined bone `CFrame` for this pose. All `CFrames` are in the mesh's local space.
     */
    SetFacsCorrectivePose(this: EditableMesh, actions: Array<unknown>, boneIds: Array<unknown>, cframes: Array<unknown>): void;
    /**
     * Set pose for all bones in a specific FACS action unit.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetFacsPose)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param action FACS action unit to set the pose for.
     * @param boneIds Bones for which to set a `CFrame` for this pose.
     * @param cframes `CFrame` transforms for the bones in this pose. Each bone `CFrame` transforms the bone from the initial bone `CFrame` in the bind pose of the mesh to the combined bone `CFrame` for this pose. All `CFrames` are in the mesh's local space.
     */
    SetFacsPose(this: EditableMesh, action: CastsToEnum<Enum.FacsActionUnit>, boneIds: Array<unknown>, cframes: Array<unknown>): void;
    /**
     * Set the normal for a normal ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetNormal)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param normalId Stable normal ID for which to set the normal vector.
     * @param normal Normal vector to set.
     */
    SetNormal(this: EditableMesh, normalId: number, normal: Vector3): void;
    /**
     * Sets a vertex position in the mesh's local object space.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetPosition)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Stable vertex ID of the vertex to position.
     * @param p Position in the mesh's local object space.
     */
    SetPosition(this: EditableMesh, vertexId: number, p: Vector3): void;
    /**
     * Sets UV coordinates for a UV ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetUV)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param uvId UV ID for which to set the UV coordinates.
     * @param uv UV coordinates.
     */
    SetUV(this: EditableMesh, uvId: number, uv: Vector2): void;
    /**
     * Sets skinning blend weights for each bone associated with the vertex.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetVertexBoneWeights)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Vertex ID on which to set skinning blend weights.
     * @param boneWeights Skinning blend weights to set on the vertex.
     */
    SetVertexBoneWeights(this: EditableMesh, vertexId: number, boneWeights: Array<unknown>): void;
    /**
     * Assign a list of bones with the vertex for skinning.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetVertexBones)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Vertex ID to set vertex skinning bones.
     * @param boneIDs Bone IDs to use with this vertex for skinning.
     */
    SetVertexBones(this: EditableMesh, vertexId: number, boneIDs: Array<unknown>): void;
    /**
     * Sets the color ID of a vertex/face pair.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetVertexFaceColor)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Stable vertex ID.
     * @param faceId Stable face ID.
     * @param colorId Stable color ID to set for the vertex/face pair.
     */
    SetVertexFaceColor(this: EditableMesh, vertexId: number, faceId: number, colorId: number): void;
    /**
     * Sets the normal ID of a vertex/face pair.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetVertexFaceNormal)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Stable vertex ID.
     * @param faceId Stable face ID.
     * @param normalId Stable normal ID to set for the vertex/face pair.
     */
    SetVertexFaceNormal(this: EditableMesh, vertexId: number, faceId: number, normalId: number): void;
    /**
     * Sets the UV ID of a vertex/face pair.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#SetVertexFaceUV)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     * @param vertexId Stable vertex ID.
     * @param faceId Stable face ID.
     * @param uvId Stable UV ID to set for the vertex/face pair.
     */
    SetVertexFaceUV(this: EditableMesh, vertexId: number, faceId: number, uvId: number): void;
    /**
     * Splits all faces on the mesh to be triangles.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableMesh#Triangulate)
     * @param this Instance which allows for the runtime creation and manipulation of meshes.
     */
    Triangulate(this: EditableMesh): void;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExecutedRemoteCommand)
 */
interface ExecutedRemoteCommand extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ExecutedRemoteCommand: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExecutedRemoteCommand#RunMoreCode)
     */
    RunMoreCode(this: ExecutedRemoteCommand, code: string, args: unknown): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExecutedRemoteCommand#SendUpdate)
     */
    SendUpdate(this: ExecutedRemoteCommand, args: unknown): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExecutedRemoteCommand#Stop)
     */
    Stop(this: ExecutedRemoteCommand): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExecutedRemoteCommand#ReceivedUpdate)
     */
    readonly ReceivedUpdate: RBXScriptSignal<(args: unknown) => void>;
}
/**
 * `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance)
 */
interface Instance extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Instance: unique symbol;
    /**
     * Determines if an `Instance` and its descendants can be cloned using `Instance:Clone()`, and can be saved/published.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#Archivable)
     */
    Archivable: boolean;
    /**
     * The set of capabilities allowed to be used for scripts inside this container.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#Capabilities)
     */
    Capabilities: SecurityCapabilities;
    /**
     * A non-unique identifier of the `Instance`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#Name)
     */
    Name: string;
    /**
     * Determines the hierarchical parent of the `Instance`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#Parent)
     */
    Parent: Instance | undefined;
    /**
     * Turns the instance to be a sandboxed container.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#Sandboxed)
     */
    Sandboxed: boolean;
    /**
     * Applies a tag to the instance.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#AddTag)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param tag
     */
    AddTag(this: Instance, tag: string): void;
    /**
     * This method destroys all of an instance's children.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#ClearAllChildren)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     */
    ClearAllChildren(this: Instance): void;
    /**
     * Create a copy of an instance and all its descendants, ignoring instances that are not `Archivable`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#Clone)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     */
    Clone<T extends Instance>(this: T): T;
    /**
     * Sets the `Instance.Parent` property to `nil`, locks the `Instance.Parent` property, disconnects all connections, and calls `Destroy()` on all children.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#Destroy)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     */
    Destroy(this: Instance): void;
    /**
     * Returns the first ancestor of the `Instance` whose `Instance.Name` is equal to the given name.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#FindFirstAncestor)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param name The `Instance.Name` to be looked for.
     * @returns The `Instance` found.
     */
    FindFirstAncestor(this: Instance, name: string): Instance | undefined;
    /**
     * Returns the first ancestor of the `Instance` whose `Object.ClassName` is equal to the given className.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#FindFirstAncestorOfClass)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param className The `Object.ClassName` to be looked for.
     * @returns The `Instance` found.
     */
    FindFirstAncestorOfClass<T extends keyof Instances>(this: Instance, className: T): Instances[T] | undefined;
    /**
     * Returns the first ancestor of the `Instance` for whom `Object:IsA()` returns true for the given className.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#FindFirstAncestorWhichIsA)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param className The `Object.ClassName` to be looked for.
     * @returns The `Instance` found.
     */
    FindFirstAncestorWhichIsA<T extends keyof Instances>(this: Instance, className: T): Instances[T] | undefined;
    /**
     * Returns the first child of the `Instance` found with the given name.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#FindFirstChild)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param name The `Instance.Name` to be searched for.
     * @param recursive Whether or not the search should be conducted recursively.
     * @returns The `Instance` found.
     */
    FindFirstChild(this: Instance, childName: string | number, recursive?: boolean): Instance | undefined;
    /**
     * Returns the first child of the `Instance` whose `ClassName` is equal to the given class name.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#FindFirstChildOfClass)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param className The `Object.ClassName` to be looked for.
     * @returns The `Instance` found.
     */
    FindFirstChildOfClass<T extends keyof Instances>(this: Instance, className: T): Instances[T] | undefined;
    /**
     * Returns the first child of the `Instance` for whom `Object:IsA()` returns true for the given className.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#FindFirstChildWhichIsA)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param className The `Object.ClassName` to be searched for.
     * @param recursive Whether or not the search should be conducted recursively.
     * @returns The `Instance` found.
     */
    FindFirstChildWhichIsA<T extends keyof Instances>(this: Instance, className: T, recursive?: boolean): Instances[T] | undefined;
    /**
     * Returns the first descendant found with the given `Instance.Name`.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#FindFirstDescendant)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param name The `Instance.Name` to search for.
     * @returns The `Instance` found.
     */
    FindFirstDescendant(this: Instance, name: string): Instance | undefined;
    /**
     * Returns the `Actor` associated with the Instance, if any.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#GetActor)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @returns The `Actor` found.
     */
    GetActor(this: Instance): Actor | undefined;
    /**
     * Returns the value which has been assigned to the given attribute name.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#GetAttribute)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param attribute The name of the attribute being retrieved.
     * @returns The value which has been assigned to the given attribute name. If no attribute has been assigned, `nil` is returned.
     */
    GetAttribute(this: Instance, attribute: string): AttributeValue | undefined;
    /**
     * Returns an event that fires when the given attribute changes.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#GetAttributeChangedSignal)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param attribute The name of the specified attribute for which the change signal is being returned.
     * @returns An event that fires when the given attribute changes.
     */
    GetAttributeChangedSignal(this: Instance, attribute: string): RBXScriptSignal;
    /**
     * Returns a dictionary of the instance's attributes.
     *
     * - **ThreadSafety**: Safe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#GetAttributes)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @returns A dictionary of string → variant pairs for each attribute where the string is the name of the attribute and the variant is a non-nil value.
     */
    GetAttributes(this: Instance): Map<string, AttributeValue>;
    /**
     * Returns an array containing all of the instance's children.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#GetChildren)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @returns An array containing the instance's children.
     */
    GetChildren(this: Instance): Array<Instance>;
    /**
     * Returns an array containing all of the descendants of the instance.
     *
     * - **ThreadSafety**: Safe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#GetDescendants)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @returns An array containing the instance's descendants.
     */
    GetDescendants(this: Instance): Array<Instance>;
    /**
     * Returns a string describing the instance's ancestry.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#GetFullName)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @returns The full name of the `Instance`.
     */
    GetFullName(this: Instance): string;
    /**
     * Returns the styled or explicitly modified value of the specified property, or else the default property value if it hasn't been styled/modified.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#GetStyled)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param name Name of the property to query.
     * @param selector Optional selector for the pseudo instance you are targeting on the instance.
     * @returns The styled or explicitly modified value of the specified property, or else the default property value if it hasn't been styled/modified.
     */
    GetStyled(this: Instance, name: string, selector?: string): unknown;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#GetStyledPropertyChangedSignal)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param property Name of the style property for which to listen for changes.
     * @returns Event that fires when the given style property changes.
     */
    GetStyledPropertyChangedSignal(this: Instance, property: string): RBXScriptSignal;
    /**
     * Gets an array of all tags applied to the instance.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#GetTags)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     */
    GetTags(this: Instance): Array<string>;
    /**
     * Check whether the instance has a given tag.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#HasTag)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param tag
     */
    HasTag(this: Instance, tag: string): boolean;
    /**
     * Returns true if an `Instance` is an ancestor of the given descendant.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#IsAncestorOf)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param descendant The descendant `Instance`.
     * @returns True if the `Instance` is an ancestor of the given descendant.
     */
    IsAncestorOf(this: Instance, descendant: Instance): boolean;
    /**
     * Returns `true` if an `Instance` is a descendant of the given ancestor.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#IsDescendantOf)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param ancestor The ancestor `Instance`.
     * @returns True if the `Instance` is a descendant of the given ancestor.
     */
    IsDescendantOf(this: Instance, ancestor: Instance): boolean;
    /**
     * Returns `true` if the value stored in the specified property is not equal to the code-instantiated default.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#IsPropertyModified)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param property Name of the property to query.
     * @returns Boolean indicating whether the property is modified from its code‑instantiated default.
     */
    IsPropertyModified(this: Instance, property: string): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#QueryDescendants)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param selector Selector string used to filter elements.
     * @returns An array of instances (empty if nothing matched the selector).
     */
    QueryDescendants(this: Instance, selector: string): Array<Instance>;
    /**
     * Removes a tag from the instance.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#RemoveTag)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param tag
     */
    RemoveTag(this: Instance, tag: string): void;
    /**
     * Resets a property to its default value.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#ResetPropertyToDefault)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param property Name of the property to reset.
     */
    ResetPropertyToDefault(this: Instance, property: string): void;
    /**
     * Sets the attribute with the given name to the given value.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#SetAttribute)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param attribute The name of the attribute being set.
     * @param value The value to set the specified attribute to.
     */
    SetAttribute(this: Instance, attribute: string, value: AttributeValue | undefined): void;
    /**
     * Returns the child of the `Instance` with the given name. If the child does not exist, it will yield the current thread until it does.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState, CanYield
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#WaitForChild)
     * @param this `Instance` is the base class for all classes in the Roblox class hierarchy which can be part of the `DataModel` tree.
     * @param childName The `Instance.Name` to be looked for.
     * @param timeOut An optional time out parameter.
     * @returns The `Instance` found.
     */
    WaitForChild(this: Instance, childName: string | number): Instance;
    WaitForChild(this: Instance, childName: string | number, timeOut: number): Instance | undefined;
    /**
     * Fires when the `Instance.Parent` property of the object or one of its ancestors is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#AncestryChanged)
     */
    readonly AncestryChanged: RBXScriptSignal<(child: Instance, parent: Instance | undefined) => void>;
    /**
     * Fires whenever an attribute is changed on the `Instance`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#AttributeChanged)
     */
    readonly AttributeChanged: RBXScriptSignal<(attribute: string) => void>;
    /**
     * Fires after an object is parented to this `Instance`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#ChildAdded)
     */
    readonly ChildAdded: RBXScriptSignal<(child: Instance) => void>;
    /**
     * Fires after a child is removed from this `Instance`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#ChildRemoved)
     */
    readonly ChildRemoved: RBXScriptSignal<(child: Instance) => void>;
    /**
     * Fires after a descendant is added to the `Instance`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#DescendantAdded)
     */
    readonly DescendantAdded: RBXScriptSignal<(descendant: Instance) => void>;
    /**
     * Fires immediately before a descendant of the `Instance` is removed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#DescendantRemoving)
     */
    readonly DescendantRemoving: RBXScriptSignal<(descendant: Instance) => void>;
    /**
     * Fires immediately before (or is deferred until after) the instance is destroyed via `Instance:Destroy()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#Destroying)
     */
    readonly Destroying: RBXScriptSignal<() => void>;
    /**
     * Fires whenever any style property is changed on the instance, including when a property is set to `nil`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Instance#StyledPropertiesChanged)
     */
    readonly StyledPropertiesChanged: RBXScriptSignal<() => void>;
}
/**
 * Describes the appearance of an `Accessory` for the `HumanoidDescription`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AccessoryDescription)
 */
interface AccessoryDescription extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AccessoryDescription: unique symbol;
    /**
     * The `AccessoryType` of the `Accessory` referred to by this description.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AccessoryDescription#AccessoryType)
     */
    AccessoryType: Enum.AccessoryType;
    /**
     * The asset ID that should be applied when applying this `AccessoryDescription`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AccessoryDescription#AssetId)
     */
    AssetId: number;
    /**
     * A reference to the `Instance` that should be applied when applying this `AccessoryDescription`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AccessoryDescription#Instance)
     */
    Instance: Instance | undefined;
    /**
     * Whether the `Accessory` is layered or rigid.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AccessoryDescription#IsLayered)
     */
    IsLayered: boolean;
    /**
     * The layered clothing sort order, if the `Accessory` is layered.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AccessoryDescription#Order)
     */
    Order: number;
    /**
     * The accessory adjustment position offset, if the `Accessory` is rigid.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AccessoryDescription#Position)
     */
    Position: Vector3;
    /**
     * The layered clothing puffiness, if the `Accessory` is layered.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AccessoryDescription#Puffiness)
     */
    Puffiness: number;
    /**
     * The accessory adjustment rotation offset, if the `Accessory` is rigid.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AccessoryDescription#Rotation)
     */
    Rotation: Vector3;
    /**
     * The accessory adjustment scale, if the `Accessory` is rigid.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AccessoryDescription#Scale)
     */
    Scale: Vector3;
    /**
     * Returns the applied `Accessory`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AccessoryDescription#GetAppliedInstance)
     * @param this Describes the appearance of an `Accessory` for the `HumanoidDescription`.
     */
    GetAppliedInstance(this: AccessoryDescription): Instance | undefined;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AccountService)
 */
interface AccountService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AccountService: unique symbol;
}
/**
 * An object that can attach to a player's character.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Accoutrement)
 */
interface Accoutrement extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Accoutrement: unique symbol;
    /**
     * Sets the offset position of the object on the Player.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Accoutrement#AttachmentForward)
     */
    AttachmentForward: Vector3;
    /**
     * The exact CFrame of the Accoutrement.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Accoutrement#AttachmentPoint)
     */
    AttachmentPoint: CFrame;
    /**
     * Sets the position of the object on the Player.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Accoutrement#AttachmentPos)
     */
    AttachmentPos: Vector3;
    /**
     * Sets the offset position of the object on the Player.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Accoutrement#AttachmentRight)
     */
    AttachmentRight: Vector3;
    /**
     * Sets the offset position of the object on the Player.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Accoutrement#AttachmentUp)
     */
    AttachmentUp: Vector3;
}
/**
 * An item that a Character can wear.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Accessory)
 */
interface Accessory extends Accoutrement {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Accessory: unique symbol;
    /**
     * Specifies the AccessoryType of the Accessory (eg. Hat, Tshirt, Waist).
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Accessory#AccessoryType)
     */
    AccessoryType: Enum.AccessoryType;
}
/**
 * **Deprecated:** This class has been superseded by the `Accessory` class. Do not use it for new work.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Hat)
 *
 * @deprecated
 */
interface Hat extends Accoutrement {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Hat: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AchievementService)
 */
interface AchievementService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AchievementService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ActivityHistoryEventService)
 */
interface ActivityHistoryEventService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ActivityHistoryEventService: unique symbol;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdPortal)
 */
interface AdPortal extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AdPortal: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdPortal#Status)
     */
    readonly Status: Enum.AdUnitStatus;
}
/**
 * A class that allows the display of mobile video ads.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdService)
 */
interface AdService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AdService: unique symbol;
    /**
     * Creates a reward to give users who watch an entire video ad.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdService#CreateAdRewardFromDevProductId)
     * @param this A class that allows the display of mobile video ads.
     * @param devProductId The ID of the developer product you want to grant as a reward.
     */
    CreateAdRewardFromDevProductId(this: AdService, devProductId: number): AdReward;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdService#RegisterDisclosureButton)
     */
    RegisterDisclosureButton(this: AdService, disclosureButton: GuiButton, adIntegrationPlacementId: string): void;
    /**
     * **Deprecated:** `ShowVideoAd` has been decommissioned and is no longer operational.
     *
     * Show mobile video advertisements.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdService#ShowVideoAd)
     * @param this A class that allows the display of mobile video ads.
     *
     * @deprecated
     */
    ShowVideoAd(this: AdService): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdService#UnregisterAdOpportunity)
     * @param this A class that allows the display of mobile video ads.
     * @param instance
     */
    UnregisterAdOpportunity(this: AdService, instance: Instance): void;
    /**
     * Checks if a video ad is available to be played to the current user inside the experience.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdService#GetAdAvailabilityNowAsync)
     * @param this A class that allows the display of mobile video ads.
     * @param adFormat The format of the requested ad. For example, `RewardedVideo`.
     * @returns A dictionary with the `AdAvailabilityResult` for the requested ad format.
     */
    GetAdAvailabilityNowAsync(this: AdService, adFormat: CastsToEnum<Enum.AdFormat>): object;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdService#GetCampaignEligibilityAsync)
     */
    GetCampaignEligibilityAsync(this: AdService, campaignId: string, player?: Player): object;
    /**
     * Tracks how many times a user had the chance to watch a video ad and the rate at which they actually watched the ad.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdService#RegisterAdOpportunityAsync)
     * @param this A class that allows the display of mobile video ads.
     * @param instance
     * @param placementId The ID of the placement of the rewarded video ad inside the experience. Allows for reporting on the performance of individual ad placements.
     */
    RegisterAdOpportunityAsync(this: AdService, instance: Instance, placementId?: number): void;
    /**
     * Plays the video ad to the current user inside the experience.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdService#ShowRewardedVideoAdAsync)
     * @param this A class that allows the display of mobile video ads.
     * @param player The `Player` object for whom you are fetching the ad for.
     * @param reward The reward object for the reward you want to grant the user who watches an ad to completion.
     * @param placementId The ID of the placement of the rewarded video ad inside the experience. Allows for reporting on the performance of individual ad placements.
     */
    ShowRewardedVideoAdAsync(this: AdService, player: Player, reward: AdReward, placementId?: number): Enum.ShowAdResult;
    /**
     * **Deprecated:** `VideoAdClosed` has been decommissioned and is no longer operational.
     *
     * Fires when an `AdService` video closes.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdService#VideoAdClosed)
     *
     * @deprecated
     */
    readonly VideoAdClosed: RBXScriptSignal<(adShown: boolean) => void>;
}
/**
 * Collection of methods that allows you to track how users interact with your experiences.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnalyticsService)
 */
interface AnalyticsService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AnalyticsService: unique symbol;
    /**
     * **Deprecated:** This deprecated function is a variant of `AnalyticsService:LogCustomEvent()` which should be used instead.
     *
     * Fires a custom event with a custom event name and data.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnalyticsService#FireCustomEvent)
     * @param this Collection of methods that allows you to track how users interact with your experiences.
     * @param player The player who triggered the custom event. `nil` if not player related.
     * @param eventCategory User defined category. This should be the name of the event.
     * @param customData Optional. User defined data, could be a string, a number or a table.
     *
     * @deprecated
     */
    FireCustomEvent(this: AnalyticsService, player: Player | undefined, eventCategory: string, customData?: unknown): void;
    /**
     * **Deprecated:** This function has been deprecated in favor of more descriptive methods, including `AnalyticsService:LogCustomEvent()`, `AnalyticsService:LogEconomyEvent()`, and `AnalyticsService:LogProgressionEvent()`.
     *
     * Report a custom event to PlayFab.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnalyticsService#FireEvent)
     * @param this Collection of methods that allows you to track how users interact with your experiences.
     * @param category 'The category of event to report. Cannot contain the following characters: comma `,`, double quote `"` or newline characters `\r\n`'.
     * @param value A value to be serialized and reported. Serialized length must not exceed 1 KiB, or 1024 bytes.
     *
     * @deprecated
     */
    FireEvent(this: AnalyticsService, category: string, value: unknown): void;
    /**
     * **Deprecated:** This deprecated function is a variant of `AnalyticsService:LogEconomyEvent()` which should be used instead.
     *
     * Fire an event used to track player actions pertaining to the in-game economy.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnalyticsService#FireInGameEconomyEvent)
     * @param this Collection of methods that allows you to track how users interact with your experiences.
     * @param player The player who triggered the economy event.
     * @param itemName The name of the item.
     * @param economyAction Indicates the acquisition or spending of an in game resource.
     * @param itemCategory A user defined category for items such as "Vehicle," "Weapon.".
     * @param amount The amount of the currency.
     * @param currency The currency used. Examples: 'gold', 'gems', 'life.'.
     * @param location The event location. A dictionary that each key-value represents an entry of location data. The key-value is a string-string pair. With this you can query which are the most popular "stores" then maybe you want to increase/lower the price for the stores. See the example below:
     * ```lua
     * local location = {     ["placeDesc"] = "Dungeon1",     ["levelDesc"] = "level2",     ["mapDesc"] = "LeftChamberMap",     ["storeName"] = "DarkSmith",     ["userDefinedKey"] = "0005" }
     * ```
     * @param customData Optional. User defined data, could be a string, a number or a table.
     *
     * @deprecated
     */
    FireInGameEconomyEvent(this: AnalyticsService, player: Player | undefined, itemName: string, economyAction: CastsToEnum<Enum.AnalyticsEconomyAction>, itemCategory: string, amount: number, currency: string, location?: {
        [index: string]: string;
    }, customData?: unknown): void;
    /**
     * **Deprecated:**
     *
     * Fire a log event used to track errors and warnings experienced by players.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnalyticsService#FireLogEvent)
     * @param this Collection of methods that allows you to track how users interact with your experiences.
     * @param player The player who triggered the error event, `nil` if not player related.
     * @param logLevel The specified log level (e.g. Debug, Error).
     * @param message User defined message.
     * @param debugInfo Optional. A dictionary which contains predefined keys including "errorCode" and "stackTrace". Both keys values are strings. stackTrace is a traceback of the current function call stack.
     * @param customData Optional. User defined data, could be a string, a number or a table.
     *
     * @deprecated
     */
    FireLogEvent(this: AnalyticsService, player: Player | undefined, logLevel: CastsToEnum<Enum.AnalyticsLogLevel>, message: string, debugInfo?: {
        errorCode?: string;
        stackTrace?: string;
    }, customData?: unknown): void;
    /**
     * **Deprecated:** This deprecated function is a variant of `AnalyticsService:LogProgressionEvent()` which should be used instead.
     *
     * Fire an event used to track player progression through the game.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnalyticsService#FirePlayerProgressionEvent)
     * @param this Collection of methods that allows you to track how users interact with your experiences.
     * @param player The player who triggered the event.
     * @param category A user defined category for progression.
     * @param progressionStatus Indicates the status of the progression.
     * @param location The event location. A dictionary that each key-value represents an entry of location data. The key-value is a string-string pair. With this developers can query where is the most frequent location for a specific progression event category. For example, the category could be "LevelUp".
     * @param statistics Optional. A dictionary that each key-value represents an entry of statistics data that allows developers to track any specific data that they want to collect as players progress through their game. Key-Value is a string-number pair.
     * @param customData Optional. User defined data, could be a string, a number or a table.
     *
     * @deprecated
     */
    FirePlayerProgressionEvent(this: AnalyticsService, player: Player | undefined, category: string, progressionStatus: CastsToEnum<Enum.AnalyticsProgressionStatus>, location?: {
        [index: string]: string;
    }, statistics?: {
        [index: string]: number;
    }, customData?: unknown): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnalyticsService#GetDurationLoggerTimestamp)
     */
    GetDurationLoggerTimestamp(this: AnalyticsService): number;
    /**
     * Logs an event used to track custom metrics of a user in experience.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnalyticsService#LogCustomEvent)
     * @param this Collection of methods that allows you to track how users interact with your experiences.
     * @param player The user who triggered the event.
     * @param eventName The name of the custom event.
     * @param value The value of the event that will be used in aggregation.
     * @param customFields Optional dictionary of custom fields that will provide breakdowns in Roblox-provided charts. Only specific keys, provided by `AnalyticsCustomFieldKeys`, will be used for these breakdowns. Limited to 8,000 unique combinations of values across the three custom fields per experience.
     */
    LogCustomEvent(this: AnalyticsService, player: Player, eventName: string, value?: number, customFields?: object): void;
    /**
     * Logs an event used to track player actions related in experience.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnalyticsService#LogEconomyEvent)
     * @param this Collection of methods that allows you to track how users interact with your experiences.
     * @param player The user who triggered the event.
     * @param flowType Should specify the direction that currency is flowing using `AnalyticsEconomyFlowType`.
     * @param currencyType The name of the currency being added or removed, for example `"gold"`, `"gems"`, or `"energy"`. Limited to 5 unique currency types per experience.
     * @param amount The amount of currency being added or removed. This value should always be positive.
     * @param endingBalance The user's balance after the currency has been added or removed. This value should always be greater than or equal to `0`.
     * @param transactionType The type of transaction that occurred. While you're free to use any transaction type, it's recommended to use the provided types from `AnalyticsEconomyTransactionType` such as `"IAP"` or `"ContextualPurchase"` to enable future insights from Roblox tools and charts. Because this field type is a string, you'll need to pass the `Name` value of the enum. For example `Enum.AnalyticsEconomyTransactionType.IAP.Name`. Limited to 20 unique types per experience.
     * @param itemSku Optional SKU of the item or bundle being purchased. This is a unique identifier for the item being purchased. Limited to 100 unique SKUs per experience.
     * @param customFields Optional dictionary of custom fields that will provide breakdowns in Roblox-provided charts. Only specific keys, provided by `AnalyticsCustomFieldKeys`, will be used for these breakdowns. Limited to 8,000 unique combinations of values across the three custom fields per experience.
     */
    LogEconomyEvent(this: AnalyticsService, player: Player, flowType: CastsToEnum<Enum.AnalyticsEconomyFlowType>, currencyType: string, amount: number, endingBalance: number, transactionType: string, itemSku?: string, customFields?: object): void;
    /**
     * Logs an event used to track user actions stepping through a pre-planned funnel.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnalyticsService#LogFunnelStepEvent)
     * @param this Collection of methods that allows you to track how users interact with your experiences.
     * @param player The user who triggered the event.
     * @param funnelName The name of the funnel. This should be the same for all steps in the funnel. Limited to 10 unique funnels per experience.
     * @param funnelSessionId Optional unique identifier for the funnel session. This should be the same for all steps in the funnel. Note that this field is only necessary for **recurring** funnels, for example a purchase flow funnel or an item upgrade funnel. If you don't have a natural funnel session identifier, it's recommended to use `HttpService:GenerateGUID()`.
     * @param step The step number in the funnel. This should be unique for each step in the funnel. All funnels start at step 1. Limited to steps 1-100. Repeated steps by the same user in the same funnel session, or when `funnelSessionId` is `nil` will be ignored. Note that if any steps are skipped, the intermediate steps will be considered completed.
     * @param stepName Optional name of the step in the funnel. This field is only used for display purposes in Roblox-provided charts.
     * @param customFields Optional dictionary of custom fields that will provide breakdowns in Roblox-provided charts. Only specific keys, provided by `AnalyticsCustomFieldKeys`, will be used for these breakdowns. Limited to 8,000 unique combinations of values across the three custom fields per experience.
     */
    LogFunnelStepEvent(this: AnalyticsService, player: Player, funnelName: string, funnelSessionId?: string, step?: number, stepName?: string, customFields?: object): void;
    /**
     * Logs an event used to track user actions stepping through an onboarding funnel.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnalyticsService#LogOnboardingFunnelStepEvent)
     * @param this Collection of methods that allows you to track how users interact with your experiences.
     * @param player The user who triggered the event.
     * @param step The step number in the funnel. This should be unique for each step in the funnel. All funnels start at step 1. Limited to steps 1-100. Note that if any steps are skipped, the intermediate steps will be considered completed.
     * @param stepName Optional name of the step in the funnel. This field is only used for display purposes in Roblox-provided charts.
     * @param customFields Optional dictionary of custom fields that will provide breakdowns in Roblox-provided charts. Only specific keys, provided by `AnalyticsCustomFieldKeys`, will be used for these breakdowns. Limited to 8,000 unique combinations of values across the three custom fields per experience.
     */
    LogOnboardingFunnelStepEvent(this: AnalyticsService, player: Player, step: number, stepName?: string, customFields?: object): void;
    /**
     * Logs an event for when a user has completed a level attempt.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnalyticsService#LogProgressionCompleteEvent)
     * @param this Collection of methods that allows you to track how users interact with your experiences.
     * @param player The player who triggered the event.
     * @param progressionPathName
     * @param level
     * @param levelName
     * @param customFields
     */
    LogProgressionCompleteEvent(this: AnalyticsService, player: Player, progressionPathName: string, level: number, levelName?: string, customFields?: object): void;
    /**
     * Logs an event for when a user has started, completed, or failed a level attempt.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnalyticsService#LogProgressionEvent)
     * @param this Collection of methods that allows you to track how users interact with your experiences.
     * @param player The player who triggered the event.
     * @param progressionPathName
     * @param status
     * @param level
     * @param levelName
     * @param customFields
     */
    LogProgressionEvent(this: AnalyticsService, player: Player, progressionPathName: string, status: CastsToEnum<Enum.AnalyticsProgressionType>, level: number, levelName?: string, customFields?: object): void;
    /**
     * Logs an event for when a user has failed a level attempt.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnalyticsService#LogProgressionFailEvent)
     * @param this Collection of methods that allows you to track how users interact with your experiences.
     * @param player The user who triggered the event.
     * @param progressionPathName
     * @param level
     * @param levelName
     * @param customFields
     */
    LogProgressionFailEvent(this: AnalyticsService, player: Player, progressionPathName: string, level: number, levelName?: string, customFields?: object): void;
    /**
     * Logs an event for when a user has started a level attempt.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnalyticsService#LogProgressionStartEvent)
     * @param this Collection of methods that allows you to track how users interact with your experiences.
     * @param player The player who triggered the event.
     * @param progressionPathName
     * @param level
     * @param levelName
     * @param customFields
     */
    LogProgressionStartEvent(this: AnalyticsService, player: Player, progressionPathName: string, level: number, levelName?: string, customFields?: object): void;
    /**
     * Returns coarse player segment buckets for the current experience.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnalyticsService#GetPlayerSegmentsAsync)
     * @param this Collection of methods that allows you to track how users interact with your experiences.
     * @param player The player whose segment buckets should be returned.
     * @returns A dictionary containing coarse player segment buckets for the current experience.
     */
    GetPlayerSegmentsAsync(this: AnalyticsService, player: Player): object;
}
/**
 * References an animation asset which can be loaded by an `AnimationController`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Animation)
 */
interface Animation extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Animation: unique symbol;
    /**
     * Asset ID of the animation an `Animation` object is referencing.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Animation#AnimationId)
     */
    AnimationId: ContentId;
}
/**
 * Represents all types of animation data that the Roblox animation system can consume.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationClip)
 */
interface AnimationClip extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AnimationClip: unique symbol;
    /**
     * Determines whether the animation stored in this `AnimationClip` is intended to loop.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationClip#Loop)
     */
    Loop: boolean;
    /**
     * Determines which clip takes priority when multiple animations are playing simultaneously.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationClip#Priority)
     */
    Priority: Enum.AnimationPriority;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationGraphDefinition)
 */
interface AnimationGraphDefinition extends AnimationClip {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AnimationGraphDefinition: unique symbol;
}
/**
 * Stores animation data in the form of curves for each individual channel to animate.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CurveAnimation)
 */
interface CurveAnimation extends AnimationClip {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CurveAnimation: unique symbol;
}
/**
 * This object stores all of the `Keyframes` and other data for the animation.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/KeyframeSequence)
 */
interface KeyframeSequence extends AnimationClip {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_KeyframeSequence: unique symbol;
    /**
     * Adds a `Keyframe` to the `KeyframeSequence` by parenting it to the `KeyframeSequence`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/KeyframeSequence#AddKeyframe)
     * @param this This object stores all of the `Keyframes` and other data for the animation.
     * @param keyframe The `Keyframe` to be added.
     */
    AddKeyframe(this: KeyframeSequence, keyframe: Instance): void;
    /**
     * Returns an array that contains all `Keyframes` contained in a `KeyframeSequence`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/KeyframeSequence#GetKeyframes)
     * @param this This object stores all of the `Keyframes` and other data for the animation.
     * @returns An array of `Keyframes`.
     */
    GetKeyframes(this: KeyframeSequence): Array<Keyframe>;
    /**
     * This method removes a `Keyframe` from the `KeyframeSequence` by setting its parent to `nil`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/KeyframeSequence#RemoveKeyframe)
     * @param this This object stores all of the `Keyframes` and other data for the animation.
     * @param keyframe The `Keyframe` to be removed.
     */
    RemoveKeyframe(this: KeyframeSequence, keyframe: Instance): void;
}
/**
 * Provides functions to load and preview `AnimationClips`.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationClipProvider)
 */
interface AnimationClipProvider extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AnimationClipProvider: unique symbol;
    /**
     * Generates a temporary asset ID from a `AnimationClip` that can be used for localized testing of an animation.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationClipProvider#RegisterActiveAnimationClip)
     * @param this Provides functions to load and preview `AnimationClips`.
     * @param animationClip The `AnimationClip` to be used.
     * @returns A temporary asset ID generated for localized animation playback.
     */
    RegisterActiveAnimationClip(this: AnimationClipProvider, animationClip: AnimationClip): ContentId;
    /**
     * Generates a temporary asset ID from a `AnimationClip` that can be used for localized testing of an animation. Generates a hash.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationClipProvider#RegisterAnimationClip)
     * @param this Provides functions to load and preview `AnimationClips`.
     * @param animationClip The `AnimationClip` to be used.
     * @returns A temporary asset ID generated for localized animation playback.
     */
    RegisterAnimationClip(this: AnimationClipProvider, animationClip: AnimationClip): ContentId;
    /**
     * Returns a `AnimationClip` based on the specified assetId asynchronously.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationClipProvider#GetAnimationClipAsync)
     * @param this Provides functions to load and preview `AnimationClips`.
     * @param assetId The content ID of the animation.
     * @returns The `AnimationClip` found.
     */
    GetAnimationClipAsync(this: AnimationClipProvider, assetId: ContentId): AnimationClip;
    /**
     * **Deprecated:**
     *
     * This function returns an `InventoryPages` object which can be used to iterate over animations owned by a specific user.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationClipProvider#GetAnimations)
     * @param this Provides functions to load and preview `AnimationClips`.
     * @param userId The user ID of the user.
     * @returns An `InventoryPages` of animations.
     *
     * @deprecated GetAnimationsAsync
     */
    GetAnimations(this: AnimationClipProvider, userId: number): Instance | undefined;
    /**
     * This function returns an `InventoryPages` object which can be used to iterate over animations owned by a specific user.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationClipProvider#GetAnimationsAsync)
     * @param this Provides functions to load and preview `AnimationClips`.
     * @param userId The user ID of the user.
     * @returns An `InventoryPages` of animations.
     */
    GetAnimationsAsync(this: AnimationClipProvider, userId: number): Instance | undefined;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationClipProvider#GetClipEvaluatorAsync)
     * @param this Provides functions to load and preview `AnimationClips`.
     * @param assetId
     */
    GetClipEvaluatorAsync(this: AnimationClipProvider, assetId: ContentId): ClipEvaluator;
}
/**
 * Allows animations to be loaded and applied to a character or model in place of a `Humanoid`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationController)
 */
interface AnimationController extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AnimationController: unique symbol;
    /**
     * **Deprecated:**
     *
     * Returns an array of all `AnimationTracks` that are currently being played by the `AnimationController`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationController#GetPlayingAnimationTracks)
     * @param this Allows animations to be loaded and applied to a character or model in place of a `Humanoid`.
     * @returns An array of playing `AnimationTracks`.
     *
     * @deprecated
     */
    GetPlayingAnimationTracks(this: AnimationController): Array<AnimationTrack>;
    /**
     * **Deprecated:** This function is deprecated in favor of using `Animator:LoadAnimation()` directly (the `Animator` may be created while editing or at runtime).
     *
     * Loads an `Animation` onto an `AnimationController`, returning an `AnimationTrack` that can be used for playback.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationController#LoadAnimation)
     * @param this Allows animations to be loaded and applied to a character or model in place of a `Humanoid`.
     * @param animation The `Animation` to be used.
     *
     * @deprecated
     */
    LoadAnimation(this: AnimationController, animation: Animation): AnimationTrack;
    /**
     * **Deprecated:**
     *
     * Fires whenever the `AnimationController` begins playing an animation. It returns the `AnimationTrack` playing.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationController#AnimationPlayed)
     *
     * @deprecated
     */
    readonly AnimationPlayed: RBXScriptSignal<(animationTrack: AnimationTrack) => void>;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationFromVideoCreatorService)
 */
interface AnimationFromVideoCreatorService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AnimationFromVideoCreatorService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationFromVideoCreatorStudioService)
 */
interface AnimationFromVideoCreatorStudioService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AnimationFromVideoCreatorStudioService: unique symbol;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationNodeDefinition)
 */
interface AnimationNodeDefinition extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AnimationNodeDefinition: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationNodeDefinition#NodeType)
     */
    NodeType: Enum.AnimationNodeType;
}
/**
 * Used to store information regarding the model an animation was authored for.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationRigData)
 */
interface AnimationRigData extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AnimationRigData: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationStreamTrack)
 */
interface AnimationStreamTrack extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AnimationStreamTrack: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationStreamTrack#Animation)
     */
    readonly Animation: TrackerStreamAnimation | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationStreamTrack#FACSDataLod)
     */
    readonly FACSDataLod: Enum.FACSDataLod;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationStreamTrack#IsPlaying)
     */
    readonly IsPlaying: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationStreamTrack#Priority)
     */
    Priority: Enum.AnimationPriority;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationStreamTrack#WeightCurrent)
     */
    readonly WeightCurrent: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationStreamTrack#WeightTarget)
     */
    readonly WeightTarget: number;
}
/**
 * Controls the playback of an animation on an `Animator`.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack)
 */
interface AnimationTrack extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AnimationTrack: unique symbol;
    /**
     * The `Animation` object that was used to create this `AnimationTrack`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#Animation)
     */
    readonly Animation: Animation | undefined;
    /**
     * A read-only property that returns true when the `AnimationTrack` is playing.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#IsPlaying)
     */
    readonly IsPlaying: boolean;
    /**
     * A read-only property that returns the length (in seconds) of an `AnimationTrack`. This will return `0` until the animation has fully loaded and thus may not be immediately available.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#Length)
     */
    readonly Length: number;
    /**
     * Sets whether the animation will repeat after finishing. If it is changed while playing the result will take effect after the animation finishes.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#Looped)
     */
    Looped: boolean;
    /**
     * Sets the priority of an `AnimationTrack`. Depending on what this is set to, playing multiple animations at once will look to this property to figure out which `Keyframe` `Poses` should be played over one another.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#Priority)
     */
    Priority: Enum.AnimationPriority;
    /**
     * Read-only property that gives the current playback speed of the `AnimationTrack`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#Speed)
     */
    readonly Speed: number;
    /**
     * Returns the position in time in seconds that an `AnimationTrack` is through playing its source animation. Can be set to make the track jump to a specific moment in the animation.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#TimePosition)
     */
    TimePosition: number;
    /**
     * Read-only property that gives the current weight of the `AnimationTrack`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#WeightCurrent)
     */
    readonly WeightCurrent: number;
    /**
     * Read-only property that gives the current weight of the `AnimationTrack`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#WeightTarget)
     */
    readonly WeightTarget: number;
    /**
     * Changes the `AnimationTrack.Speed` of an animation. A positive value for speed plays the animation forward, a negative one plays it backwards, and `0` pauses it.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#AdjustSpeed)
     * @param this Controls the playback of an animation on an `Animator`.
     * @param speed The playback speed the animation is to be changed to.
     */
    AdjustSpeed(this: AnimationTrack, speed?: number): void;
    /**
     * Changes the weight of an animation, with the optional `fadeTime` parameter determining how long it takes for `AnimationTrack.WeightCurrent` to reach `AnimationTrack.WeightTarget`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#AdjustWeight)
     * @param this Controls the playback of an animation on an `Animator`.
     * @param weight The weight the animation is to be changed to.
     * @param fadeTime The duration of time that the animation will fade between the old weight and the new weight for.
     */
    AdjustWeight(this: AnimationTrack, weight?: number, fadeTime?: number): void;
    /**
     * Returns an `RBXScriptSignal` (event) that fires when a specified `KeyframeMarker` has been hit in an `animation`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#GetMarkerReachedSignal)
     * @param this Controls the playback of an animation on an `Animator`.
     * @param name The name of the `KeyframeMarker` the signal is being created for. Not to be confused with the name of the `Keyframe`.
     * @returns The signal created and fired when the animation reaches the created `KeyframeMarker`.
     */
    GetMarkerReachedSignal(this: AnimationTrack, name: string): RBXScriptSignal<(param?: string) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#GetParameter)
     * @param this Controls the playback of an animation on an `Animator`.
     * @param key
     */
    GetParameter(this: AnimationTrack, key: string): unknown;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#GetParameterDefaults)
     * @param this Controls the playback of an animation on an `Animator`.
     */
    GetParameterDefaults(this: AnimationTrack): object;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#GetTargetInstance)
     * @param this Controls the playback of an animation on an `Animator`.
     * @param name
     */
    GetTargetInstance(this: AnimationTrack, name: string): Instance | undefined;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#GetTargetNames)
     * @param this Controls the playback of an animation on an `Animator`.
     */
    GetTargetNames(this: AnimationTrack): Array<unknown>;
    /**
     * Returns the time position of the first `Keyframe` of the given name in an `AnimationTrack`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#GetTimeOfKeyframe)
     * @param this Controls the playback of an animation on an `Animator`.
     * @param keyframeName The name associated with the `Keyframe` to be found.
     * @returns The time, in seconds, the `Keyframe` occurs at normal playback speed.
     */
    GetTimeOfKeyframe(this: AnimationTrack, keyframeName: string): number;
    /**
     * Plays the `AnimationTrack`. Once called an `AnimationTrack` will play with the specified `fadeTime`, weight and speed.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#Play)
     * @param this Controls the playback of an animation on an `Animator`.
     * @param fadeTime The duration of time that the animation's weight should be faded in for.
     * @param weight The weight the animation is to be played at.
     * @param speed The playback speed of the animation.
     */
    Play(this: AnimationTrack, fadeTime?: number, weight?: number, speed?: number): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#SetParameter)
     * @param this Controls the playback of an animation on an `Animator`.
     * @param key
     * @param value
     */
    SetParameter(this: AnimationTrack, key: string, value: unknown): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#SetTargetInstance)
     * @param this Controls the playback of an animation on an `Animator`.
     * @param name
     * @param target
     */
    SetTargetInstance(this: AnimationTrack, name: string, target: Instance): void;
    /**
     * Stops the `AnimationTrack`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#Stop)
     * @param this Controls the playback of an animation on an `Animator`.
     * @param fadeTime The time, in seconds, for which animation weight is to be faded out over.
     */
    Stop(this: AnimationTrack, fadeTime?: number): void;
    /**
     * Fires when an `AnimationTrack` loops on the next update following the end of the previous animation loop.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#DidLoop)
     */
    readonly DidLoop: RBXScriptSignal<() => void>;
    /**
     * Fires when the `AnimationTrack` is completely done moving anything in the world.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#Ended)
     */
    readonly Ended: RBXScriptSignal<() => void>;
    /**
     * Fires every time playback of an `AnimationTrack` reaches a `Keyframe` that does not have the default name of `Keyframe`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#KeyframeReached)
     */
    readonly KeyframeReached: RBXScriptSignal<(keyframeName: string) => void>;
    /**
     * Fires when the `AnimationTrack` finishes playing. The AnimationTrack might still animate the subject while the animation "fades out". To catch when the AnimationTrack is completely done moving anything in the world, use the `AnimationTrack.Ended` event.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationTrack#Stopped)
     */
    readonly Stopped: RBXScriptSignal<() => void>;
}
/**
 * Responsible for the playback and replication of `Animations`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Animator)
 */
interface Animator extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Animator: unique symbol;
    /**
     * - **ThreadSafety**: Safe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Animator#EvaluationThrottled)
     */
    readonly EvaluationThrottled: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Animator#PreferLodEnabled)
     */
    PreferLodEnabled: boolean;
    /**
     * - **ThreadSafety**: Safe
     * - **Tags**: NotReplicated, NotBrowsable
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Animator#RootMotion)
     */
    readonly RootMotion: CFrame;
    /**
     * - **ThreadSafety**: Safe
     * - **Tags**: NotReplicated, NotBrowsable
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Animator#RootMotionWeight)
     */
    readonly RootMotionWeight: number;
    /**
     * Computes relative velocities between parts and apply them to `Motor6D.Part1`. These relative velocity calculations and assignments happen in the order provided.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Animator#ApplyJointVelocities)
     * @param this Responsible for the playback and replication of `Animations`.
     * @param motors
     */
    ApplyJointVelocities(this: Animator, motors: Array<Motor6D>): void;
    /**
     * Returns the list of currently playing `AnimationTracks`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Animator#GetPlayingAnimationTracks)
     * @param this Responsible for the playback and replication of `Animations`.
     */
    GetPlayingAnimationTracks(this: Animator): Array<AnimationTrack>;
    /**
     * Loads an `Animation` onto an `Animator`, returning an `AnimationTrack`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Animator#LoadAnimation)
     * @param this Responsible for the playback and replication of `Animations`.
     * @param animation The `Animation` to be used.
     */
    LoadAnimation(this: Animator, animation: Animation): AnimationTrack;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Animator#RegisterEvaluationParallelCallback)
     * @param this Responsible for the playback and replication of `Animations`.
     * @param callback
     */
    RegisterEvaluationParallelCallback(this: Animator, callback: Callback): void;
    /**
     * Fires when the Animator starts playing an AnimationTrack.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Animator#AnimationPlayed)
     */
    readonly AnimationPlayed: RBXScriptSignal<(animationTrack: AnimationTrack) => void>;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Annotation)
 */
interface Annotation extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Annotation: unique symbol;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorkspaceAnnotation)
 */
interface WorkspaceAnnotation extends Annotation {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_WorkspaceAnnotation: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnnotationsService)
 */
interface AnnotationsService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AnnotationsService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AppAgeSignalsService)
 */
interface AppAgeSignalsService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AppAgeSignalsService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AppLifecycleObserverService)
 */
interface AppLifecycleObserverService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AppLifecycleObserverService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AppRatingPromptService)
 */
interface AppRatingPromptService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AppRatingPromptService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AppUpdateService)
 */
interface AppUpdateService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AppUpdateService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetCounterService)
 */
interface AssetCounterService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AssetCounterService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetDeliveryProxy)
 */
interface AssetDeliveryProxy extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AssetDeliveryProxy: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetDeliveryProxy#Interface)
     */
    Interface: string;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetDeliveryProxy#Port)
     */
    Port: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetDeliveryProxy#StartServer)
     */
    StartServer: boolean;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetImportService)
 */
interface AssetImportService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AssetImportService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetManagerService)
 */
interface AssetManagerService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AssetManagerService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetPatchSettings)
 */
interface AssetPatchSettings extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AssetPatchSettings: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetPatchSettings#ContentId)
     */
    ContentId: string;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetPatchSettings#OutputPath)
     */
    OutputPath: string;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetPatchSettings#PatchId)
     */
    PatchId: string;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetQualityService)
 */
interface AssetQualityService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AssetQualityService: unique symbol;
}
/**
 * A non-replicated service that handles asset-related queries to the Roblox web API.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService)
 */
interface AssetService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AssetService: unique symbol;
    /**
     * Creates a new `EditableImage`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#CreateEditableImage)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param editableImageOptions Options table containing controls for the method: - `Size` – A `Vector2` that specifies the image's desired   width and height.
     */
    CreateEditableImage(this: AssetService, editableImageOptions?: object): EditableImage;
    /**
     * Creates a new, empty `EditableMesh`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#CreateEditableMesh)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param editableMeshOptions Table containing options for the created `EditableMesh`. Currently no options are available since `FixedSize` will always be `false` for empty editable meshes.
     */
    CreateEditableMesh(this: AssetService, editableMeshOptions?: object): EditableMesh;
    /**
     * Modifies an existing `Decal` to contain a composite PBR textures created by layering the provided textures in the order they are provided in the `layers` array. Textures layer based on the alpha value of the color map.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#ComposeDecalAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param decal A `Decal` instance that will be modified to contain a representation of the layers. Any existing maps on this instance will be cleared.
     * @param layers An array of dictionary tables that maps PBR names to `Content` IDs.
     */
    ComposeDecalAsync(this: AssetService, decal: Decal, layers: Array<unknown>): void;
    /**
     * Uploads a new asset to Roblox from the given object.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#CreateAssetAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param object The object to be created as an asset.
     * @param assetType Currently supported types are: - `AssetType.Model` – with `object` as any valid `Instance`   root.
     * - `AssetType.Plugin` – with `object` as any valid   `Instance` root.
     * - `AssetType.Mesh` – with `object` as any valid   `EditableMesh` root.
     * - `AssetType.Image` – with `object` as any valid   `EditableImage` root.
     *
     *
     * @param requestParameters Options table containing asset metadata: - `Name` – Name of the asset as a string. Defaults to `[object.Name]`.
     * - `Description` – Description of the asset as a string. Defaults to   `"Created with AssetService:CreateAssetAsync"`.
     * - `CreatorId` – ID of the asset creator as a number. Defaults to the   logged in Roblox Studio user for Plugin context. Required for Open   Cloud Luau Execution context.
     * - `CreatorType` – `AssetCreatorType` indicating the type of asset   creator. Defaults to `AssetCreatorType.User` in Plugin context.   Required for Open Cloud Luau Execution context.
     * - `IsPackage` – Boolean value, only applicable to the   `AssetType.Model` type. Defaults to `true`.
     *
     *
     * @returns The `CreateAssetResult` and asset ID pair if successful.
     */
    CreateAssetAsync(this: AssetService, object: RBXObject, assetType: CastsToEnum<Enum.AssetType>, requestParameters?: object): unknown;
    /**
     * Uploads a new version for an existing asset from the given object.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#CreateAssetVersionAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param object The object to be created as an asset.
     * @param assetType Currently supported types are: - `AssetType.Model` – with `object` as any valid `Instance`   root.
     * - `AssetType.Plugin` – with `object` as any valid   `Instance` root.
     * - `AssetType.Mesh` – with `object` as any valid   `EditableMesh` root.
     * - `AssetType.Image` – with `object` as any valid   `EditableImage` root.
     *
     *
     * @param assetId The ID of the asset for the new version.
     * @param requestParameters Options table containing asset metadata: - `Name` – A `string`. Name of the asset. Default: object.Name.
     * - `Description` – A `string`. Description of the asset. Default:   "Created with AssetService:CreateAssetAsync".
     * - `CreatorId` – A `number`. ID of the asset creator. Default: The   logged in Roblox Studio user for Plugin context. Required for Open   Cloud Luau Execution context.
     * - `CreatorType` – A `AssetCreatorType`. Type of asset creator.   Default: `AssetCreatorType.User` in Plugin context. Required   for Open Cloud Luau Execution context.
     * - `IsPackage` – A `bool`. Only applicable to the   `AssetType.Model` type. Default: true.
     *
     *
     * @returns The `CreateAssetResult` and asset version number pair if successful.
     */
    CreateAssetVersionAsync(this: AssetService, object: RBXObject, assetType: CastsToEnum<Enum.AssetType>, assetId: number, requestParameters?: object): unknown;
    /**
     * Creates ephemeral, `DataModel`-scoped content from the provided content input.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#CreateDataModelContentAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param content Reference to the input content. Currently, this only supports `Content` wrapping a `EditableMesh` or `EditableImage`.
     * @param options Optional dictionary containing configuration controls for the created `DataModel` content. Currently no controls are surfaced and this parameter exists for future functionality.
     * @returns A tuple containing an `CreateContentResult` indicating the success or failure of the request, and the resulting `DataModel`-scoped `Opaque` `Content`.
     */
    CreateDataModelContentAsync(this: AssetService, content: Content, options?: object): unknown;
    /**
     * Creates a new `EditableImage` object populated with the given image.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#CreateEditableImageAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param content Reference to asset content stored externally or as an object within the place, wrapping a single value of one of the supported `ContentSourceType` values.
     * @param editableImageOptions Table containing options for the created `EditableImage`. Currently no options are available since resizing via `Size` is not supported.
     * @returns A new `EditableImage` containing the provided image.
     */
    CreateEditableImageAsync(this: AssetService, content: Content, editableImageOptions?: object): EditableImage;
    /**
     * Returns a new `EditableMesh` object created from an existing mesh content ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#CreateEditableMeshAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param content Reference to asset content stored externally or as an object within the place, wrapping a single value of one of the supported `ContentSourceType` values.
     * @param editableMeshOptions Options table containing controls for the method: - `FixedSize` – A `bool`. Default value is `true`, and the returned   `EditableMesh` will not allow you to add or remove vertices,   only modify their values. Set to `false` if the ability to change   the mesh topology is required, at the expense of using more memory.
     *
     *
     * @returns The new `EditableMesh` instance.
     */
    CreateEditableMeshAsync(this: AssetService, content: Content, editableMeshOptions?: object): EditableMesh;
    /**
     * Creates a new `MeshPart` with a specified mesh ID and an optional table of fidelity values.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#CreateMeshPartAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param meshContent Reference to asset content stored externally or as an object within the place, wrapping a single value of one of the supported `ContentSourceType` values.
     * @param options Options table containing one or more controls for the method: - `CollisionFidelity` – The value of   `CollisionFidelity` in the   resulting part. Defaults to `CollisionFidelity.Default` if the   option is absent or the `options` table is `nil`.
     * - `RenderFidelity` – The value of   `RenderFidelity` in the resulting   part. Defaults to `RenderFidelity.Automatic` if the option is   absent or the `options` table is `nil`.
     * - `FluidFidelity` – The value of   `FluidFidelity` in the resulting part.   Defaults to `FluidFidelity.Automatic` if the option is absent   or the `options` table is `nil`.
     */
    CreateMeshPartAsync(this: AssetService, meshContent: Content, options?: CreateMeshPartAsyncOptions): MeshPart;
    /**
     * Clones a place through the given `templatePlaceID`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#CreatePlaceAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param placeName Name of the new place.
     * @param templatePlaceID `PlaceId` of the place to clone.
     * @param description Description of the new place.
     * @returns `PlaceId` of the new place.
     */
    CreatePlaceAsync(this: AssetService, placeName: string, templatePlaceID: number, description?: string): number;
    /**
     * Clones a place through the given `templatePlaceID` and puts it into the inventory of the given player.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#CreatePlaceInPlayerInventoryAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param player
     * @param placeName
     * @param templatePlaceID
     * @param description
     */
    CreatePlaceInPlayerInventoryAsync(this: AssetService, player: Player, placeName: string, templatePlaceID: number, description: string): number;
    /**
     * Creates a new `SurfaceAppearance` object using the provided content maps.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#CreateSurfaceAppearanceAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param content Dictionary containing the following key-value pairs: - `ColorMap` — A `Content` object that contains the color   map. Default is `nil`.
     * - `MetalnessMap` — A `Content` object that contains the   metalness map. If more than one channel is present, only the red   channel is used. Default is `nil`.
     * - `NormalMap` — A `Content` object that contains the normal   map. Default is `nil`.
     * - `RoughnessMap` — A `Content` object that contains the   roughness map. If more than one channel is present, only the red   channel is used. Default is `nil`.
     * - `EmissiveMask` — A `Content` object that contains the   emissive mask. If more than one channel is present, only the red   channel is used. Default is `nil`.
     *
     *
     * @returns A new `SurfaceAppearance` instance with the given maps from the `content` parameter.
     */
    CreateSurfaceAppearanceAsync(this: AssetService, content: object): SurfaceAppearance;
    /**
     * **Deprecated:**
     *
     * Returns an array of asset IDs that are contained in a specified package.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#GetAssetIdsForPackage)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param packageAssetId
     * @returns Asset IDs that are contained in a specified package.
     *
     * @deprecated GetAssetIdsForPackageAsync
     */
    GetAssetIdsForPackage(this: AssetService, packageAssetId: number): Array<number>;
    /**
     * Returns an array of asset IDs that are contained in a specified package.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#GetAssetIdsForPackageAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param packageAssetId
     * @returns Asset IDs that are contained in a specified package.
     */
    GetAssetIdsForPackageAsync(this: AssetService, packageAssetId: number): Array<unknown>;
    /**
     * Provides relevant metadata about a specific audio source.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#GetAudioMetadataAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param idList Array of asset or content IDs for which to retrieve metadata. Max batch size is 30.
     * @returns Array of dictionary tables in the same order as the request, where each dictionary contains the following metadata for its asset/content: -  `AssetId` (string)
     * -  `Title` (string)
     * -  `Artist` (string)
     * -  `Duration` (number) in seconds
     * -  `AudioType` (`AudioSubType`)
     *
     *  Note that if an error occurs on fetching metadata for any of the requested assets, for example the asset ID doesn't exist, its dictionary table is still included in the returned array but it only contains the `AssetId` field for reference purposes. Additionally, if the `AudioType` cannot be determined for a given asset (perhaps because it's private audio), the resulting dictionary will not contain an `AudioType` entry.
     */
    GetAudioMetadataAsync(this: AssetService, idList: Array<unknown>): Array<unknown>;
    /**
     * Returns details of the contents of specified bundle.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#GetBundleDetailsAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param bundleId The ID of the specified bundle.
     * @returns Dictionary with the following key-value pairs containing details about the specified bundle: -  `Id` — Bundle ID (same as passed `bundleId` argument)
     * -  `Name` — Bundle name
     * -  `Description` — Bundle description
     * -  `BundleType` — String representing the `BundleType`, for   example `"BodyParts"` or `"DynamicHead"`
     * -  `Items` — Array of items in the bundle, each with details   represented through the following keys:
     * -  `Id` — Item ID
     * -  `Name` — Item name
     * -  `Type` — Item type such as `"Asset"`
     * -  `AssetType` — String representing the `AvatarAssetType`
     * -  `SupportsHeadShapes` — Whether the asset supports head shape     swapping. Only present if `AssetType` is `"DynamicHead"`.
     */
    GetBundleDetailsAsync(this: AssetService, bundleId: number): BundleInfo;
    /**
     * **Deprecated:** This item is deprecated and no longer functions correctly. Do not use it for new work.
     *
     * Returns the UserId of the account who created the creationID asset.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#GetCreatorAssetID)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param creationID
     *
     * @deprecated GetProductInfo
     */
    GetCreatorAssetID(this: AssetService, creationID: number): number;
    /**
     * Returns a `StandardPages` object which contains the name and `PlaceId` of places within the current experience.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#GetGamePlacesAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     */
    GetGamePlacesAsync(this: AssetService): StandardPages<{
        Name: string;
        PlaceId: number;
    }>;
    /**
     * Loads a `Model` instance given its asset ID. This is the modern replacement for `InsertService:LoadAsset()` and supports loading third-party assets.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#LoadAssetAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param assetId The asset ID number of the asset being loaded.
     * @returns A `Model` instance containing the loaded asset.
     */
    LoadAssetAsync(this: AssetService, assetId: number): Instance | undefined;
    /**
     * Allows in-experience asset creation for users by prompting a publish dialog.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#PromptCreateAssetAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param player The user who submits an asset creation.
     * @param instance The asset to be created. Currently can't contain scripts or nest non-public assets.
     * @param assetType The asset type. Currently can only be `AssetType.Model`.
     * @returns The `PromptCreateAssetResult` and asset ID pair if successful.
     */
    PromptCreateAssetAsync(this: AssetService, player: Player, instance: Instance, assetType: CastsToEnum<Enum.AssetType>): unknown;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#PromptImportAnimationClipFromVideoAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param player
     * @param progressCallback
     */
    PromptImportAnimationClipFromVideoAsync(this: AssetService, player: Player, progressCallback: Callback): unknown;
    /**
     * Saves the state of the current place.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#SavePlaceAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param requestParameters Optional dictionary that includes `SaveWithoutPublish`, a boolean indicating whether to save with publish or without publish, and `PlaceId`, the destination place ID to save over. An example usage would be: AssetService:SavePlaceAsync({PlaceId = 1, SaveWithoutPublish = true}). If PlaceId is not provided, the default behavior will save over the current original place which is calling SavePlaceAsync. If SaveWithoutPublish is not provided, the default behavior is SaveWithoutPublish=false.
     */
    SavePlaceAsync(this: AssetService, requestParameters?: object): void;
    /**
     * **Deprecated:**
     *
     * Finds audio assets matching a variety of search criteria.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#SearchAudio)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param searchParameters
     *
     * @deprecated SearchAudioAsync
     */
    SearchAudio(this: AssetService, searchParameters: AudioSearchParams): AudioPages;
    /**
     * Finds audio assets matching a variety of search criteria.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetService#SearchAudioAsync)
     * @param this A non-replicated service that handles asset-related queries to the Roblox web API.
     * @param searchParameters
     */
    SearchAudioAsync(this: AssetService, searchParameters: AudioSearchParams): AudioPages;
}
/**
 * The `Atmosphere` object pushes Roblox closer toward realistic environments where sunlight scatters in different ways depending on density and other air particle properties.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Atmosphere)
 */
interface Atmosphere extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Atmosphere: unique symbol;
    /**
     * Changes the `Atmosphere` hue for subtle environmental moods.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Atmosphere#Color)
     */
    Color: Color3;
    /**
     * When used with increased `Atmosphere.Haze` and `Atmosphere.Glare`, defines the hue of the `Atmosphere` away from the sun, gradually falling off from `Atmosphere.Color` towards this value.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Atmosphere#Decay)
     */
    Decay: Color3;
    /**
     * Defines the amount of particles in the `Atmosphere` and essentially controls how much in-game objects/terrain will be obscured by them.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Atmosphere#Density)
     */
    Density: number;
    /**
     * When used with increased `Atmosphere.Haze`, specifies the glow/glare of the `Atmosphere` around the sun. More glare results in an increased effect of sunlight cast onto the sky and world.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Atmosphere#Glare)
     */
    Glare: number;
    /**
     * Defines the haziness of the `Atmosphere` with a visible effect both above the horizon and into the distance.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Atmosphere#Haze)
     */
    Haze: number;
    /**
     * Controls how light transmits between the camera and the sky background.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Atmosphere#Offset)
     */
    Offset: number;
}
/**
 * Defines a point and orientation relative to an ancestor `PVInstance`, `Bone`, or another `Attachment`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment)
 */
interface Attachment extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Attachment: unique symbol;
    /**
     * Direction of the **X** axis of the attachment, represented as a unit `Vector3`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#Axis)
     */
    Axis: Vector3;
    /**
     * `CFrame` offset of the attachment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#CFrame)
     */
    CFrame: CFrame;
    /**
     * Orientation of the attachment relative to the orientation of its parent.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#Orientation)
     */
    Orientation: Vector3;
    /**
     * Positional offset of the attachment, relative to the position and orientation of its parent.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#Position)
     */
    Position: Vector3;
    /**
     * **Deprecated:** This property is deprecated and should not be used in new work. See `Orientation` instead.
     *
     * Rotation of the attachment relative to the rotation of its parent.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#Rotation)
     *
     * @deprecated Orientation
     */
    Rotation: Vector3;
    /**
     * Direction of the **Y** axis of the attachment, represented as a unit `Vector3`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#SecondaryAxis)
     */
    SecondaryAxis: Vector3;
    /**
     * Toggles the in-experience visibility of the attachment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#Visible)
     */
    Visible: boolean;
    /**
     * Direction of the **X** axis of the attachment relative to the world, represented as a unit `Vector3` with a length of 1.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#WorldAxis)
     */
    WorldAxis: Vector3;
    /**
     * The exact `CFrame` of the attachment in world space coordinates.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#WorldCFrame)
     */
    WorldCFrame: CFrame;
    /**
     * Orientation of the attachment relative to the world rather than its own parent.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#WorldOrientation)
     */
    WorldOrientation: Vector3;
    /**
     * Position of the attachment relative to the world rather than its own parent.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#WorldPosition)
     */
    WorldPosition: Vector3;
    /**
     * **Deprecated:** This item has been superseded by `WorldOrientation` which should be used in new work.
     *
     * Rotation of the attachment relative to the world rather than its own parent.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#WorldRotation)
     *
     * @deprecated WorldOrientation
     */
    readonly WorldRotation: Vector3;
    /**
     * Direction of the **Y** axis of the attachment relative to the world, represented as a unit `Vector3` with a length of 1.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#WorldSecondaryAxis)
     */
    WorldSecondaryAxis: Vector3;
    /**
     * **Deprecated:** This method is deprecated and should not be used in new work.
     *
     * Returns the value of the attachment's `Axis`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#GetAxis)
     * @param this Defines a point and orientation relative to an ancestor `PVInstance`, `Bone`, or another `Attachment`.
     *
     * @deprecated Axis
     */
    GetAxis(this: Attachment): Vector3;
    /**
     * Returns a list of `Constraints` connected to the attachment.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#GetConstraints)
     * @param this Defines a point and orientation relative to an ancestor `PVInstance`, `Bone`, or another `Attachment`.
     */
    GetConstraints(this: Attachment): Array<Instance>;
    /**
     * **Deprecated:** This method is deprecated and should not be used in new work.
     *
     * Returns the value of the attachment's `SecondaryAxis`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#GetSecondaryAxis)
     * @param this Defines a point and orientation relative to an ancestor `PVInstance`, `Bone`, or another `Attachment`.
     *
     * @deprecated SecondaryAxis
     */
    GetSecondaryAxis(this: Attachment): Vector3;
    /**
     * **Deprecated:** This method is deprecated and should not be used in new work.
     *
     * Sets the value of the attachment's `Axis`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#SetAxis)
     * @param this Defines a point and orientation relative to an ancestor `PVInstance`, `Bone`, or another `Attachment`.
     * @param axis
     *
     * @deprecated Axis
     */
    SetAxis(this: Attachment, axis: Vector3): void;
    /**
     * **Deprecated:** This method is deprecated and should not be used in new work.
     *
     * Sets the value of the attachment's `SecondaryAxis`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Attachment#SetSecondaryAxis)
     * @param this Defines a point and orientation relative to an ancestor `PVInstance`, `Bone`, or another `Attachment`.
     * @param axis
     *
     * @deprecated SecondaryAxis
     */
    SetSecondaryAxis(this: Attachment, axis: Vector3): void;
}
/**
 * Bones are non-rendered objects that drive the movement of one or more parts for the purposes of animation, or creating clothing and characters.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Bone)
 */
interface Bone extends Attachment {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Bone: unique symbol;
    /**
     * Determines the current animated offset of the bone in its local space.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Bone#Transform)
     */
    Transform: CFrame;
    /**
     * Describes the combined `CFrame` offset of the bone and the current animation offset in the bone local space.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Bone#TransformedCFrame)
     */
    readonly TransformedCFrame: CFrame;
    /**
     * Describes the combined `CFrame` offset of the bone and the current animation offset in world space.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Bone#TransformedWorldCFrame)
     */
    readonly TransformedWorldCFrame: CFrame;
}
/**
 * Takes measurements from audio streams that are connected to it via one or more `Wires`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioAnalyzer)
 */
interface AudioAnalyzer extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioAnalyzer: unique symbol;
    /**
     * The loudest volume observed during the last audio buffer.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioAnalyzer#PeakLevel)
     */
    readonly PeakLevel: number;
    /**
     * The root-mean-square average volume observed during the last audio buffer.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioAnalyzer#RmsLevel)
     */
    readonly RmsLevel: number;
    /**
     * Enables usage of `GetSpectrum`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioAnalyzer#SpectrumEnabled)
     */
    SpectrumEnabled: boolean;
    /**
     * Controls the resolution and timeliness of `GetSpectrum`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioAnalyzer#WindowSize)
     */
    WindowSize: Enum.AudioWindowSize;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioAnalyzer#GetConnectedWires)
     * @param this Takes measurements from audio streams that are connected to it via one or more `Wires`.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioAnalyzer, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioAnalyzer#GetInputPins)
     * @param this Takes measurements from audio streams that are connected to it via one or more `Wires`.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioAnalyzer): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioAnalyzer#GetOutputPins)
     * @param this Takes measurements from audio streams that are connected to it via one or more `Wires`.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioAnalyzer): Array<unknown>;
    /**
     * Returns the frequency spectrum of the last audio buffer.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioAnalyzer#GetSpectrum)
     * @param this Takes measurements from audio streams that are connected to it via one or more `Wires`.
     * @returns A table of numbers representing the amplitude levels of various frequencies of audio within the last buffer, or an empty table if a spectrum cannot be obtained.
     */
    GetSpectrum(this: AudioAnalyzer): Array<number>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioAnalyzer` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioAnalyzer#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Combines multiple audio streams into a single, multichannel audio stream.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChannelMixer)
 */
interface AudioChannelMixer extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioChannelMixer: unique symbol;
    /**
     * Controls the output channel layout to be mixed to.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChannelMixer#Layout)
     */
    Layout: Enum.AudioChannelLayout;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChannelMixer#GetConnectedWires)
     * @param this Combines multiple audio streams into a single, multichannel audio stream.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioChannelMixer, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChannelMixer#GetInputPins)
     * @param this Combines multiple audio streams into a single, multichannel audio stream.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioChannelMixer): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChannelMixer#GetOutputPins)
     * @param this Combines multiple audio streams into a single, multichannel audio stream.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioChannelMixer): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioChannelMixer` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChannelMixer#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Splits an audio stream into component channels so that each can be processed independently.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChannelSplitter)
 */
interface AudioChannelSplitter extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioChannelSplitter: unique symbol;
    /**
     * Controls the input channel layout to be split from.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChannelSplitter#Layout)
     */
    Layout: Enum.AudioChannelLayout;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChannelSplitter#GetConnectedWires)
     * @param this Splits an audio stream into component channels so that each can be processed independently.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioChannelSplitter, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChannelSplitter#GetInputPins)
     * @param this Splits an audio stream into component channels so that each can be processed independently.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioChannelSplitter): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChannelSplitter#GetOutputPins)
     * @param this Splits an audio stream into component channels so that each can be processed independently.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioChannelSplitter): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioChannelSplitter` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChannelSplitter#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Makes an audio stream sound more voluminous. If applied to a single voice, it may sound like multiple voices.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChorus)
 */
interface AudioChorus extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioChorus: unique symbol;
    /**
     * Whether audio streams are passed-through unaffected by this effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChorus#Bypass)
     */
    Bypass: boolean;
    /**
     * Controls the maximum delay time of the copied streams in the chorus effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChorus#Depth)
     */
    Depth: number;
    /**
     * Controls the balance of plain input stream to modified output stream.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChorus#Mix)
     */
    Mix: number;
    /**
     * Controls the rate of pitch modulations.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChorus#Rate)
     */
    Rate: number;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChorus#GetConnectedWires)
     * @param this Makes an audio stream sound more voluminous. If applied to a single voice, it may sound like multiple voices.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioChorus, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChorus#GetInputPins)
     * @param this Makes an audio stream sound more voluminous. If applied to a single voice, it may sound like multiple voices.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioChorus): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChorus#GetOutputPins)
     * @param this Makes an audio stream sound more voluminous. If applied to a single voice, it may sound like multiple voices.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioChorus): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioChorus` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioChorus#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Adjusts the dynamic range of input streams.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioCompressor)
 */
interface AudioCompressor extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioCompressor: unique symbol;
    /**
     * Controls how quickly the compressor will clamp down on volume after it surpasses `Threshold`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioCompressor#Attack)
     */
    Attack: number;
    /**
     * Whether audio streams are passed-through unaffected by this effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioCompressor#Bypass)
     */
    Bypass: boolean;
    /**
     * A gain value to be applied after compression.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioCompressor#MakeupGain)
     */
    MakeupGain: number;
    /**
     * Ratio of input volume to output volume, to be applied when surpassing `Threshold`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioCompressor#Ratio)
     */
    Ratio: number;
    /**
     * Controls how quickly the compressor will unclamp after the stream volume dips back below `Threshold`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioCompressor#Release)
     */
    Release: number;
    /**
     * Gain value at which the compressor will start to modify the input stream.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioCompressor#Threshold)
     */
    Threshold: number;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioCompressor#GetConnectedWires)
     * @param this Adjusts the dynamic range of input streams.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioCompressor, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioCompressor#GetInputPins)
     * @param this Adjusts the dynamic range of input streams.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioCompressor): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioCompressor#GetOutputPins)
     * @param this Adjusts the dynamic range of input streams.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioCompressor): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioCompressor` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioCompressor#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Produces audio streams from physical devices, such as microphones.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceInput)
 */
interface AudioDeviceInput extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioDeviceInput: unique symbol;
    /**
     * Determines whether the list of user IDs provided to `SetUserIdAccessList` is treated as an allow-list or deny-list.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceInput#AccessType)
     */
    AccessType: Enum.AccessModifierType;
    /**
     * Controls whether the physical device is actively recording.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceInput#Active)
     */
    get Active(): boolean;
    /**
     * Controls whether this `AudioDeviceInput` is muted.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceInput#Muted)
     */
    Muted: boolean;
    /**
     * Determines whose device is producing sound.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceInput#Player)
     */
    Player: Player | undefined;
    /**
     * Volume level which is multiplied onto the output audio stream.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceInput#Volume)
     */
    Volume: number;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceInput#GetConnectedWires)
     * @param this Produces audio streams from physical devices, such as microphones.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioDeviceInput, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceInput#GetInputPins)
     * @param this Produces audio streams from physical devices, such as microphones.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioDeviceInput): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceInput#GetOutputPins)
     * @param this Produces audio streams from physical devices, such as microphones.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioDeviceInput): Array<unknown>;
    /**
     * Returns a list of user IDs that are either permitted to hear or blocked from hearing this `AudioDeviceInput`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceInput#GetUserIdAccessList)
     * @param this Produces audio streams from physical devices, such as microphones.
     */
    GetUserIdAccessList(this: AudioDeviceInput): Array<unknown>;
    /**
     * Sets a list of user IDs that are either permitted to hear or blocked from hearing this `AudioDeviceInput`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceInput#SetUserIdAccessList)
     * @param this Produces audio streams from physical devices, such as microphones.
     * @param userIds
     */
    SetUserIdAccessList(this: AudioDeviceInput, userIds: Array<unknown>): void;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioDeviceInput` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceInput#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Accepts audio streams to be rendered out to physical hardware devices such as speakers or headphones.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceOutput)
 */
interface AudioDeviceOutput extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioDeviceOutput: unique symbol;
    /**
     * A `Player` who is intended to hear the connected audio streams.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceOutput#Player)
     */
    Player: Player | undefined;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceOutput#GetConnectedWires)
     * @param this Accepts audio streams to be rendered out to physical hardware devices such as speakers or headphones.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioDeviceOutput, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceOutput#GetInputPins)
     * @param this Accepts audio streams to be rendered out to physical hardware devices such as speakers or headphones.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioDeviceOutput): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceOutput#GetOutputPins)
     * @param this Accepts audio streams to be rendered out to physical hardware devices such as speakers or headphones.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioDeviceOutput): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioDeviceOutput` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDeviceOutput#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Distorts audio streams, making them sound fuzzier, grittier, and louder.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDistortion)
 */
interface AudioDistortion extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioDistortion: unique symbol;
    /**
     * Whether audio streams are passed-through unaffected by this effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDistortion#Bypass)
     */
    Bypass: boolean;
    /**
     * Controls how distorted the input stream will become.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDistortion#Level)
     */
    Level: number;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDistortion#GetConnectedWires)
     * @param this Distorts audio streams, making them sound fuzzier, grittier, and louder.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioDistortion, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDistortion#GetInputPins)
     * @param this Distorts audio streams, making them sound fuzzier, grittier, and louder.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioDistortion): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDistortion#GetOutputPins)
     * @param this Distorts audio streams, making them sound fuzzier, grittier, and louder.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioDistortion): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioDistortion` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioDistortion#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Overlays delayed copies of audio streams.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEcho)
 */
interface AudioEcho extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioEcho: unique symbol;
    /**
     * Whether audio streams are passed-through unaffected by this effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEcho#Bypass)
     */
    Bypass: boolean;
    /**
     * The amount of time between echoes.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEcho#DelayTime)
     */
    DelayTime: number;
    /**
     * Gain level determining how loud the original, unaltered audio stream will be.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEcho#DryLevel)
     */
    DryLevel: number;
    /**
     * How slowly echoes fade away.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEcho#Feedback)
     */
    Feedback: number;
    /**
     * The time taken to interpolate between `DelayTime` values.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEcho#RampTime)
     */
    RampTime: number;
    /**
     * Gain level determining how loud the echoed stream will be.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEcho#WetLevel)
     */
    WetLevel: number;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEcho#GetConnectedWires)
     * @param this Overlays delayed copies of audio streams.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioEcho, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEcho#GetInputPins)
     * @param this Overlays delayed copies of audio streams.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioEcho): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEcho#GetOutputPins)
     * @param this Overlays delayed copies of audio streams.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioEcho): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioEcho` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEcho#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Emits audio streams into the world.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEmitter)
 */
interface AudioEmitter extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioEmitter: unique symbol;
    /**
     * Determines whether acoustic simulation should be used for this `AudioEmitter`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEmitter#AcousticSimulationEnabled)
     */
    AcousticSimulationEnabled: boolean;
    /**
     * Controls which `AudioListeners` are capable of hearing this `AudioEmitter`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEmitter#AudioInteractionGroup)
     */
    AudioInteractionGroup: string;
    /**
     * **Deprecated:**
     *
     * Controls how detailed the audio simulation should be for this `AudioEmitter`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEmitter#SimulationFidelity)
     *
     * @deprecated AcousticSimulationEnabled
     */
    SimulationFidelity: Enum.AudioSimulationFidelity;
    /**
     * Gets the angle attenuation curve that the `AudioEmitter` is using, or an empty table if it's using the default curve.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEmitter#GetAngleAttenuation)
     * @param this Emits audio streams into the world.
     * @returns Table mapping angle to volume, as described above.
     */
    GetAngleAttenuation(this: AudioEmitter): object;
    /**
     * Calculates how audible this emitter is for a particular `AudioListener`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEmitter#GetAudibilityFor)
     * @param this Emits audio streams into the world.
     * @param listener
     */
    GetAudibilityFor(this: AudioEmitter, listener: AudioListener): number;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEmitter#GetConnectedWires)
     * @param this Emits audio streams into the world.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioEmitter, pin: string): Array<Instance>;
    /**
     * Gets the distance attenuation curve that the `AudioEmitter` is using, or an empty table if it's using the default curve.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEmitter#GetDistanceAttenuation)
     * @param this Emits audio streams into the world.
     */
    GetDistanceAttenuation(this: AudioEmitter): object;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEmitter#GetInputPins)
     * @param this Emits audio streams into the world.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioEmitter): Array<unknown>;
    /**
     * Lists all `AudioListeners` that are capable of hearing this emitter.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEmitter#GetInteractingListeners)
     * @param this Emits audio streams into the world.
     */
    GetInteractingListeners(this: AudioEmitter): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEmitter#GetOutputPins)
     * @param this Emits audio streams into the world.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioEmitter): Array<unknown>;
    /**
     * Sets the angle attenuation curve that the `AudioEmitter` should use, or uses a constant curve of volume `1` if none is provided.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEmitter#SetAngleAttenuation)
     * @param this Emits audio streams into the world.
     * @param curve
     */
    SetAngleAttenuation(this: AudioEmitter, curve: object): void;
    /**
     * Sets the distance attenuation curve that the `AudioEmitter` should use, or uses an inverse rolloff curve if none is provided.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEmitter#SetDistanceAttenuation)
     * @param this Emits audio streams into the world.
     * @param curve
     */
    SetDistanceAttenuation(this: AudioEmitter, curve: DistanceAttenuationCurve): void;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioEmitter` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEmitter#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Adjusts the frequency content of audio streams.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEqualizer)
 */
interface AudioEqualizer extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioEqualizer: unique symbol;
    /**
     * Whether audio streams are passed-through unaffected by this effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEqualizer#Bypass)
     */
    Bypass: boolean;
    /**
     * Gain value to be applied to the frequency content of the highest band in the equalizer.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEqualizer#HighGain)
     */
    HighGain: number;
    /**
     * Gain value to be applied to the frequency content of the lowest band in the equalizer.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEqualizer#LowGain)
     */
    LowGain: number;
    /**
     * Gain value to be applied to the frequency content of the middle band in the equalizer.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEqualizer#MidGain)
     */
    MidGain: number;
    /**
     * The frequency range of the band influenced by `MidGain`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEqualizer#MidRange)
     */
    MidRange: NumberRange;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEqualizer#GetConnectedWires)
     * @param this Adjusts the frequency content of audio streams.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioEqualizer, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEqualizer#GetInputPins)
     * @param this Adjusts the frequency content of audio streams.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioEqualizer): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEqualizer#GetOutputPins)
     * @param this Adjusts the frequency content of audio streams.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioEqualizer): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioEqualizer` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioEqualizer#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Adjusts the volume of audio streams.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFader)
 */
interface AudioFader extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioFader: unique symbol;
    /**
     * Whether audio streams are passed-through unaffected by this effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFader#Bypass)
     */
    Bypass: boolean;
    /**
     * Volume level which is multiplied onto the input stream.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFader#Volume)
     */
    Volume: number;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFader#GetConnectedWires)
     * @param this Adjusts the volume of audio streams.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioFader, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFader#GetInputPins)
     * @param this Adjusts the volume of audio streams.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioFader): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFader#GetOutputPins)
     * @param this Adjusts the volume of audio streams.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioFader): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioFader` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFader#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Adjusts the frequency content of audio streams.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFilter)
 */
interface AudioFilter extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioFilter: unique symbol;
    /**
     * Whether audio streams are passed-through unaffected by this effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFilter#Bypass)
     */
    Bypass: boolean;
    /**
     * The curve type of the band represented by the filter.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFilter#FilterType)
     */
    FilterType: Enum.AudioFilterType;
    /**
     * The central frequency that the filter acts around.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFilter#Frequency)
     */
    Frequency: number;
    /**
     * For peaking and shelving filters, controls volume increase or reduction.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFilter#Gain)
     */
    Gain: number;
    /**
     * For peaking, lowpass, highpass, bandpass, and notch filters, controls the selectiveness or resonance.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFilter#Q)
     */
    Q: number;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFilter#GetConnectedWires)
     * @param this Adjusts the frequency content of audio streams.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioFilter, pin: string): Array<Instance>;
    /**
     * Returns the magnitude response of the filter at the given frequency.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFilter#GetGainAt)
     * @param this Adjusts the frequency content of audio streams.
     * @param frequency The frequency, in hertz, to sample.
     * @returns The gain value, in decibels, at the given frequency.
     */
    GetGainAt(this: AudioFilter, frequency: number): number;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFilter#GetInputPins)
     * @param this Adjusts the frequency content of audio streams.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioFilter): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFilter#GetOutputPins)
     * @param this Adjusts the frequency content of audio streams.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioFilter): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioFilter` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFilter#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Imparts a whooshing or sweeping sound on audio streams.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFlanger)
 */
interface AudioFlanger extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioFlanger: unique symbol;
    /**
     * Whether audio streams are passed-through unaffected by this effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFlanger#Bypass)
     */
    Bypass: boolean;
    /**
     * Controls how strong the pitch modulation of the flanger is.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFlanger#Depth)
     */
    Depth: number;
    /**
     * Controls the balance of plain input stream to modified output stream.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFlanger#Mix)
     */
    Mix: number;
    /**
     * Controls the rate of pitch modulations.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFlanger#Rate)
     */
    Rate: number;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFlanger#GetConnectedWires)
     * @param this Imparts a whooshing or sweeping sound on audio streams.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioFlanger, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFlanger#GetInputPins)
     * @param this Imparts a whooshing or sweeping sound on audio streams.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioFlanger): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFlanger#GetOutputPins)
     * @param this Imparts a whooshing or sweeping sound on audio streams.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioFlanger): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioFlanger` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFlanger#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioFocusService)
 */
interface AudioFocusService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioFocusService: unique symbol;
}
/**
 * Mutes audio streams that fall below a certain volume threshold.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioGate)
 */
interface AudioGate extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioGate: unique symbol;
    /**
     * Controls how long it takes for the gate to open when the signal level rises above the `Threshold`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioGate#Attack)
     */
    Attack: number;
    /**
     * Whether audio streams are passed-through unaffected by this effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioGate#Bypass)
     */
    Bypass: boolean;
    /**
     * Controls how long it takes for the gate to close when the signal level drops below the `Threshold`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioGate#Release)
     */
    Release: number;
    /**
     * The gain value(s) around which the gate opens and closes.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioGate#Threshold)
     */
    Threshold: NumberRange;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioGate#GetConnectedWires)
     * @param this Mutes audio streams that fall below a certain volume threshold.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioGate, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioGate#GetInputPins)
     * @param this Mutes audio streams that fall below a certain volume threshold.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioGate): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioGate#GetOutputPins)
     * @param this Mutes audio streams that fall below a certain volume threshold.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioGate): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioGate` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioGate#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Limits how loud audio streams are allowed to be.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioLimiter)
 */
interface AudioLimiter extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioLimiter: unique symbol;
    /**
     * Whether audio streams are passed-through unaffected by this effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioLimiter#Bypass)
     */
    Bypass: boolean;
    /**
     * The maximum volume tolerated.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioLimiter#MaxLevel)
     */
    MaxLevel: number;
    /**
     * The amount of time it takes for previously limited streams to return to their normal volume.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioLimiter#Release)
     */
    Release: number;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioLimiter#GetConnectedWires)
     * @param this Limits how loud audio streams are allowed to be.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioLimiter, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioLimiter#GetInputPins)
     * @param this Limits how loud audio streams are allowed to be.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioLimiter): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioLimiter#GetOutputPins)
     * @param this Limits how loud audio streams are allowed to be.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioLimiter): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioLimiter` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioLimiter#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Records an audio stream from its surrounding `AudioEmitters` in the 3D world.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioListener)
 */
interface AudioListener extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioListener: unique symbol;
    /**
     * Determines whether acoustic simulation should be used for this `AudioListener`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioListener#AcousticSimulationEnabled)
     */
    AcousticSimulationEnabled: boolean;
    /**
     * Controls which `AudioEmitters` are audible to this `AudioListener`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioListener#AudioInteractionGroup)
     */
    AudioInteractionGroup: string;
    /**
     * **Deprecated:**
     *
     * Controls how detailed the audio simulation should be for this `AudioListener`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioListener#SimulationFidelity)
     *
     * @deprecated AcousticSimulationEnabled
     */
    SimulationFidelity: Enum.AudioSimulationFidelity;
    /**
     * Gets the angle attenuation curve that the `AudioListener` is using, or an empty table if it's using the default curve.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioListener#GetAngleAttenuation)
     * @param this Records an audio stream from its surrounding `AudioEmitters` in the 3D world.
     * @returns Table mapping angle to volume, as described above.
     */
    GetAngleAttenuation(this: AudioListener): object;
    /**
     * Calculates how audible an `AudioEmitter` is for this listener
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioListener#GetAudibilityFor)
     * @param this Records an audio stream from its surrounding `AudioEmitters` in the 3D world.
     * @param emitter
     */
    GetAudibilityFor(this: AudioListener, emitter: AudioEmitter): number;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioListener#GetConnectedWires)
     * @param this Records an audio stream from its surrounding `AudioEmitters` in the 3D world.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioListener, pin: string): Array<Instance>;
    /**
     * Gets the distance attenuation curve that the `AudioListener` is using, or an empty table if it's using the default curve.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioListener#GetDistanceAttenuation)
     * @param this Records an audio stream from its surrounding `AudioEmitters` in the 3D world.
     */
    GetDistanceAttenuation(this: AudioListener): object;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioListener#GetInputPins)
     * @param this Records an audio stream from its surrounding `AudioEmitters` in the 3D world.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioListener): Array<unknown>;
    /**
     * Lists all `AudioEmitters` that this listener is capable of hearing.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioListener#GetInteractingEmitters)
     * @param this Records an audio stream from its surrounding `AudioEmitters` in the 3D world.
     */
    GetInteractingEmitters(this: AudioListener): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioListener#GetOutputPins)
     * @param this Records an audio stream from its surrounding `AudioEmitters` in the 3D world.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioListener): Array<unknown>;
    /**
     * Sets the angle attenuation curve that the `AudioListener` should use, or uses a constant curve of volume `1` if none is provided.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioListener#SetAngleAttenuation)
     * @param this Records an audio stream from its surrounding `AudioEmitters` in the 3D world.
     * @param curve
     */
    SetAngleAttenuation(this: AudioListener, curve: object): void;
    /**
     * Sets the distance attenuation curve that the `AudioListener` should use, or uses an inverse rolloff curve if none is provided.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioListener#SetDistanceAttenuation)
     * @param this Records an audio stream from its surrounding `AudioEmitters` in the 3D world.
     * @param curve
     */
    SetDistanceAttenuation(this: AudioListener, curve: object): void;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioListener` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioListener#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Adjusts the perceived pitch of audio streams.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPitchShifter)
 */
interface AudioPitchShifter extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioPitchShifter: unique symbol;
    /**
     * Whether audio streams are passed-through unaffected by this effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPitchShifter#Bypass)
     */
    Bypass: boolean;
    /**
     * Pitch modification to be multiplied by the pitch of the input stream.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPitchShifter#Pitch)
     */
    Pitch: number;
    /**
     * Controls how much audio will be buffered and shifted at once.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPitchShifter#WindowSize)
     */
    WindowSize: Enum.AudioWindowSize;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPitchShifter#GetConnectedWires)
     * @param this Adjusts the perceived pitch of audio streams.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioPitchShifter, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPitchShifter#GetInputPins)
     * @param this Adjusts the perceived pitch of audio streams.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioPitchShifter): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPitchShifter#GetOutputPins)
     * @param this Adjusts the perceived pitch of audio streams.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioPitchShifter): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioPitchShifter` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPitchShifter#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Used to play audio assets.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer)
 */
interface AudioPlayer extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioPlayer: unique symbol;
    /**
     * The asset to be loaded into the `AudioPlayer`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#Asset)
     */
    Asset: ContentId;
    /**
     * **Deprecated:** This property is deprecated; use `Asset` instead.
     *
     * The asset to be loaded into the `AudioPlayer`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#AssetId)
     *
     * @deprecated Asset
     */
    AssetId: string;
    /**
     * The audio content to be loaded into the `AudioPlayer`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#AudioContent)
     */
    AudioContent: Content;
    /**
     * Controls whether `Asset` loads automatically once assigned.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#AutoLoad)
     */
    AutoLoad: boolean;
    /**
     * Denotes whether this `AudioPlayer` starts playing as soon as it spawns in for the first time.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#AutoPlay)
     */
    AutoPlay: boolean;
    /**
     * Denotes whether this `AudioPlayer` is currently playing or planning to play.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#IsPlaying)
     */
    get IsPlaying(): boolean;
    /**
     * Denotes whether this `AudioPlayer` is loaded, buffered, and ready to play.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#IsReady)
     */
    readonly IsReady: boolean;
    /**
     * A range, in seconds, denoting a desired loop start and loop end within the `PlaybackRegion` of this `AudioPlayer`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#LoopRegion)
     */
    LoopRegion: NumberRange;
    /**
     * Controls whether this `AudioPlayer` loops.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#Looping)
     */
    Looping: boolean;
    /**
     * Range in seconds denoting a desired start time (minimum) and stop time (maximum) within the `TimeLength`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#PlaybackRegion)
     */
    PlaybackRegion: NumberRange;
    /**
     * Controls how quickly the asset will be played, which controls its pitch.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#PlaybackSpeed)
     */
    PlaybackSpeed: number;
    /**
     * Denotes the length of the loaded asset.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#TimeLength)
     */
    readonly TimeLength: number;
    /**
     * Tracks the current position of the playhead within the asset.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#TimePosition)
     */
    TimePosition: number;
    /**
     * Controls how loudly the asset will be played.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#Volume)
     */
    Volume: number;
    /**
     * Attempts to cancel a pre-planned future `Play` or `Stop` command.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#Cancel)
     * @param this Used to play audio assets.
     * @param actionId The unique-ID of a pre-planned `Play` or `Stop` command.
     * @returns Whether the cancellation was successful. Returns false if the action has already occurred, or otherwise does not exist.
     */
    Cancel(this: AudioPlayer, actionId?: number): boolean;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#GetConnectedWires)
     * @param this Used to play audio assets.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioPlayer, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#GetInputPins)
     * @param this Used to play audio assets.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioPlayer): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#GetOutputPins)
     * @param this Used to play audio assets.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioPlayer): Array<unknown>;
    /**
     * Plays the `AudioPlayer` from wherever its `TimePosition` is.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#Play)
     * @param this Used to play audio assets.
     * @param atTime A specific time, based on `GetMixerTime`, that this `AudioPlayer` should begin playing at.
     * @returns If `atTime` was provided, a unique ID, which can be passed to `Cancel()`.
     */
    Play(this: AudioPlayer, atTime?: number): number | undefined;
    /**
     * Stops the `AudioPlayer` wherever its `TimePosition` is.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#Stop)
     * @param this Used to play audio assets.
     * @param atTime A specific time, based on `GetMixerTime`, that this `AudioPlayer` should stop playing at.
     * @returns If `atTime` was provided, a unique ID, which can be passed to `Cancel()`.
     */
    Stop(this: AudioPlayer, atTime?: number): number | undefined;
    /**
     * Returns a sampling of the waveform data for the loaded `Asset`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#GetWaveformAsync)
     * @param this Used to play audio assets.
     * @param timeRange The start and end time (in seconds) of the segment to read.
     * @param samples The number of samples to return for the specified range.
     * @returns A table of `samples` numbers ranging between -1 and 1 representing the sampled waveform, or an empty table if a waveform could not be read.
     */
    GetWaveformAsync(this: AudioPlayer, timeRange: NumberRange, samples: number): Array<unknown>;
    /**
     * Fires when the `AudioPlayer` has completed playback and stopped.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#Ended)
     */
    readonly Ended: RBXScriptSignal<() => void>;
    /**
     * Fires when the `AudioPlayer` loops.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#Looped)
     */
    readonly Looped: RBXScriptSignal<() => void>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioPlayer` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPlayer#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Records audio streams in-experience.
 *
 * - **Tags**: NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioRecorder)
 */
interface AudioRecorder extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioRecorder: unique symbol;
    /**
     * Whether the `AudioRecorder` is currently recording.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioRecorder#IsRecording)
     */
    get IsRecording(): boolean;
    /**
     * The current length of the recording in seconds.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioRecorder#TimeLength)
     */
    readonly TimeLength: number;
    /**
     * Clears out the recording from the `AudioRecorder`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioRecorder#Clear)
     * @param this Records audio streams in-experience.
     */
    Clear(this: AudioRecorder): void;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioRecorder#GetConnectedWires)
     * @param this Records audio streams in-experience.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioRecorder, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioRecorder#GetInputPins)
     * @param this Records audio streams in-experience.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioRecorder): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioRecorder#GetOutputPins)
     * @param this Records audio streams in-experience.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioRecorder): Array<unknown>;
    /**
     * Returns a `Content` object representing the current audio recording.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioRecorder#GetTemporaryContent)
     * @param this Records audio streams in-experience.
     * @returns A temporary `Content` ID that can be used with `AudioPlayer`.
     */
    GetTemporaryContent(this: AudioRecorder): Content;
    /**
     * Stops recording audio.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioRecorder#Stop)
     * @param this Records audio streams in-experience.
     */
    Stop(this: AudioRecorder): void;
    /**
     * Returns whether the `AudioRecorder` can currently record.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioRecorder#CanRecordAsync)
     * @param this Records audio streams in-experience.
     * @returns `true` if recording is possible, `false` otherwise.
     */
    CanRecordAsync(this: AudioRecorder): boolean;
    /**
     * Returns any instances which cannot be recorded.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioRecorder#GetUnrecordableInstancesAsync)
     * @param this Records audio streams in-experience.
     * @returns A table of `Instances` that are not recordable.
     */
    GetUnrecordableInstancesAsync(this: AudioRecorder): Array<Instance>;
    /**
     * Starts recording audio.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioRecorder#RecordAsync)
     * @param this Records audio streams in-experience.
     */
    RecordAsync(this: AudioRecorder): void;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioRecorder` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioRecorder#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Reverberates audio streams.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb)
 */
interface AudioReverb extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioReverb: unique symbol;
    /**
     * Whether audio streams are passed-through unaffected by this effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#Bypass)
     */
    Bypass: boolean;
    /**
     * Controls how quickly high frequency sound decays compared to the overall reverb.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#DecayRatio)
     */
    DecayRatio: number;
    /**
     * Controls how long it takes for the reverb to dissipate.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#DecayTime)
     */
    DecayTime: number;
    /**
     * Controls how many reflections are generated.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#Density)
     */
    Density: number;
    /**
     * Controls how smooth and reflective the simulated surfaces are.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#Diffusion)
     */
    Diffusion: number;
    /**
     * Gain level determining how loud the original, unaltered audio stream will be.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#DryLevel)
     */
    DryLevel: number;
    /**
     * Controls the amount of time before reverberation begins .
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#EarlyDelayTime)
     */
    EarlyDelayTime: number;
    /**
     * Frequency above which sound is filtered out of the reverb.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#HighCutFrequency)
     */
    HighCutFrequency: number;
    /**
     * Time, following early delays, before diffuse reverberations begin.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#LateDelayTime)
     */
    LateDelayTime: number;
    /**
     * Frequency below which audio can be boosted or reduced in the reverb.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#LowShelfFrequency)
     */
    LowShelfFrequency: number;
    /**
     * Controls the presence of low frequency content in the reverb.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#LowShelfGain)
     */
    LowShelfGain: number;
    /**
     * Frequency that separates low frequency decay speeds from high frequency decay speeds.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#ReferenceFrequency)
     */
    ReferenceFrequency: number;
    /**
     * Gain level determining how loud the reverberated stream will be.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#WetLevel)
     */
    WetLevel: number;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#GetConnectedWires)
     * @param this Reverberates audio streams.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioReverb, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#GetInputPins)
     * @param this Reverberates audio streams.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioReverb): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#GetOutputPins)
     * @param this Reverberates audio streams.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioReverb): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioReverb` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioReverb#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Instance to be passed to `AssetService:SearchAudioAsync()` to search for audio assets.
 *
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioSearchParams)
 */
interface AudioSearchParams extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioSearchParams: unique symbol;
    /**
     * The album the audio asset belongs to.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioSearchParams#Album)
     */
    Album: string;
    /**
     * The artist that created the audio asset.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioSearchParams#Artist)
     */
    Artist: string;
    /**
     * The subtype of the audio asset.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioSearchParams#AudioSubType)
     */
    AudioSubType: Enum.AudioSubType;
    /**
     * **Deprecated:**
     *
     * The subtype of the audio asset.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioSearchParams#AudioSubtype)
     *
     * @deprecated AudioSubType
     */
    AudioSubtype: Enum.AudioSubType;
    /**
     * The maximum duration of the audio asset.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioSearchParams#MaxDuration)
     */
    MaxDuration: number;
    /**
     * The minimum duration of the audio asset.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioSearchParams#MinDuration)
     */
    MinDuration: number;
    /**
     * The keyword to search for.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioSearchParams#SearchKeyword)
     */
    SearchKeyword: string;
    /**
     * The tag of the audio asset.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioSearchParams#Tag)
     */
    Tag: string;
    /**
     * The title of the audio asset.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioSearchParams#Title)
     */
    Title: string;
}
/**
 * Converts spoken audio into text.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioSpeechToText)
 */
interface AudioSpeechToText extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioSpeechToText: unique symbol;
    /**
     * Whether the `AudioSpeechToText` object is enabled for processing input audio into text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioSpeechToText#Enabled)
     */
    Enabled: boolean;
    /**
     * The text resulting from the conversion of speech audio.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioSpeechToText#Text)
     */
    Text: string;
    /**
     * Whether the `AudioSpeechToText` object is detecting speech in the incoming audio signal.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioSpeechToText#VoiceDetected)
     */
    readonly VoiceDetected: boolean;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioSpeechToText#GetConnectedWires)
     * @param this Converts spoken audio into text.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioSpeechToText, pin: string): Array<Instance>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioSpeechToText` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioSpeechToText#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Plays text as speech audio.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech)
 */
interface AudioTextToSpeech extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioTextToSpeech: unique symbol;
    /**
     * Denotes whether the `AudioTextToSpeech` object is loaded, buffered, and ready to play.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#IsLoaded)
     */
    readonly IsLoaded: boolean;
    /**
     * Denotes whether the `AudioTextToSpeech` object is currently playing.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#IsPlaying)
     */
    get IsPlaying(): boolean;
    /**
     * Controls whether the `AudioTextToSpeech` object loops.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#Looping)
     */
    Looping: boolean;
    /**
     * Controls the pitch of the generated speech audio, which will be independent of its speed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#Pitch)
     */
    Pitch: number;
    /**
     * Controls how quickly the speech audio will be played, which controls its pitch.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#PlaybackSpeed)
     */
    PlaybackSpeed: number;
    /**
     * Controls the speed of the generated speech audio, which will be independent of its pitch.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#Speed)
     */
    Speed: number;
    /**
     * The text to be converted into speech audio by `AudioTextToSpeech`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#Text)
     */
    Text: string;
    /**
     * Denotes the length of the generated speech audio.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#TimeLength)
     */
    readonly TimeLength: number;
    /**
     * Tracks the current position of the playhead within the generated speech audio.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#TimePosition)
     */
    TimePosition: number;
    /**
     * The voice style to be used by `AudioTextToSpeech`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#VoiceId)
     */
    VoiceId: string;
    /**
     * Controls how loudly the generated speech audio will be played.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#Volume)
     */
    Volume: number;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#GetConnectedWires)
     * @param this Plays text as speech audio.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioTextToSpeech, pin: string): Array<Instance>;
    /**
     * Pauses the `AudioTextToSpeech` object wherever its `TimePosition` is.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#Pause)
     * @param this Plays text as speech audio.
     */
    Pause(this: AudioTextToSpeech): void;
    /**
     * Plays the `AudioTextToSpeech` from wherever its `TimePosition` is.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#Play)
     * @param this Plays text as speech audio.
     */
    Play(this: AudioTextToSpeech): void;
    /**
     * Unload the generated speech audio.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#Unload)
     * @param this Plays text as speech audio.
     */
    Unload(this: AudioTextToSpeech): void;
    /**
     * Returns a sampling of the waveform data for the generated audio.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#GetWaveformAsync)
     * @param this Plays text as speech audio.
     * @param timeRange The start and end time (in seconds) of the segment to read.
     * @param samples The number of samples to return for the specified range.
     * @returns A table of `samples` numbers ranging between -1 and 1 representing the sampled waveform,
     */
    GetWaveformAsync(this: AudioTextToSpeech, timeRange: NumberRange, samples: number): Array<unknown>;
    /**
     * Generates speech audio.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#LoadAsync)
     * @param this Plays text as speech audio.
     */
    LoadAsync(this: AudioTextToSpeech): Enum.AssetFetchStatus;
    /**
     * Fires when the `AudioTextToSpeech` object has completed playback and paused.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#Ended)
     */
    readonly Ended: RBXScriptSignal<() => void>;
    /**
     * Fires when the `AudioTextToSpeech` object loops.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#Looped)
     */
    readonly Looped: RBXScriptSignal<() => void>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioTextToSpeech` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTextToSpeech#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * Creates a trembling effect on a sound by varying the volume of the sound up and down.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTremolo)
 */
interface AudioTremolo extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioTremolo: unique symbol;
    /**
     * Whether audio streams are passed-through unaffected by this effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTremolo#Bypass)
     */
    Bypass: boolean;
    /**
     * Controls how much the volume will raise and lower.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTremolo#Depth)
     */
    Depth: number;
    /**
     * Controls how long the effect will be active during one volume oscillation.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTremolo#Duty)
     */
    Duty: number;
    /**
     * Sets how often the effect will oscillate the volume.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTremolo#Frequency)
     */
    Frequency: number;
    /**
     * Controls the shape of the low frequency oscillations.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTremolo#Shape)
     */
    Shape: number;
    /**
     * Time-skews the low frequency oscillations cycle.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTremolo#Skew)
     */
    Skew: number;
    /**
     * Flatness of the low frequency oscillations shape.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTremolo#Square)
     */
    Square: number;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTremolo#GetConnectedWires)
     * @param this Creates a trembling effect on a sound by varying the volume of the sound up and down.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: AudioTremolo, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTremolo#GetInputPins)
     * @param this Creates a trembling effect on a sound by varying the volume of the sound up and down.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: AudioTremolo): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTremolo#GetOutputPins)
     * @param this Creates a trembling effect on a sound by varying the volume of the sound up and down.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: AudioTremolo): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `AudioTremolo` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioTremolo#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScriptObject)
 *
 * @deprecated
 */
interface AuroraScriptObject extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AuroraScriptObject: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScriptObject#FrameId)
     */
    FrameId: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScriptObject#LODLevel)
     */
    LODLevel: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScriptObject#PriorFrameInvoked)
     */
    PriorFrameInvoked: number;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScriptService)
 *
 * @deprecated
 */
interface AuroraScriptService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AuroraScriptService: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScriptService#CreateCollection)
     */
    CreateCollection(this: AuroraScriptService, query: string, root?: Instance): CollectionHandle;
    /**
     * - **ThreadSafety**: Safe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScriptService#FindBinding)
     */
    FindBinding(this: AuroraScriptService, instance: Instance, scriptName: string): RBXObject;
    /**
     * - **ThreadSafety**: Safe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScriptService#FindBindings)
     */
    FindBindings(this: AuroraScriptService, instance: Instance): object;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScriptService#GetAllCollections)
     */
    GetAllCollections(this: AuroraScriptService): Array<unknown>;
    /**
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScriptService#GetLocalFrameId)
     */
    GetLocalFrameId(this: AuroraScriptService): number;
    /**
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScriptService#SendMessage)
     */
    SendMessage(this: AuroraScriptService, instance: Instance, behaviorName: string, functionName: string, args: unknown): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScriptService#getBehaviors)
     */
    getBehaviors(this: AuroraScriptService): Array<Instance>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScriptService#getBehaviorsForInstance)
     */
    getBehaviorsForInstance(this: AuroraScriptService, instance: Instance): Array<Instance>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScriptService#getInstancesForBehavior)
     */
    getInstancesForBehavior(this: AuroraScriptService, behavior: AuroraScript): Array<Instance>;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService)
 *
 * @deprecated
 */
interface AuroraService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AuroraService: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#HashRoundingPoint)
     */
    HashRoundingPoint: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#IgnoreRotation)
     */
    IgnoreRotation: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#LockStepIdOffset)
     */
    LockStepIdOffset: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#RollbackOffset)
     */
    RollbackOffset: number;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#GetPredictedInstances)
     */
    GetPredictedInstances(this: AuroraService): Array<unknown>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#GetRemoteWorldStepId)
     */
    GetRemoteWorldStepId(this: AuroraService): number;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#GetServerView)
     */
    GetServerView(this: AuroraService, target: Instance): Instance | undefined;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#GetWorldStepId)
     */
    GetWorldStepId(this: AuroraService): number;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#IsInstancePredicted)
     */
    IsInstancePredicted(this: AuroraService, target: Instance): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#PlayInputRecording)
     */
    PlayInputRecording(this: AuroraService): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#SetReplicationLag)
     */
    SetReplicationLag(this: AuroraService, seconds: number): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#ShowDebugVisualizer)
     */
    ShowDebugVisualizer(this: AuroraService, state: boolean): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#StartInputRecording)
     */
    StartInputRecording(this: AuroraService): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#StartPrediction)
     */
    StartPrediction(this: AuroraService, target: Instance): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#StepPhysics)
     */
    StepPhysics(this: AuroraService, worldSteps: number, parts?: Array<Instance>): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#StopInputRecording)
     */
    StopInputRecording(this: AuroraService): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#StopPrediction)
     */
    StopPrediction(this: AuroraService, target: Instance): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#UpdateProperties)
     */
    UpdateProperties(this: AuroraService, target: Instance): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#FixedRateTick)
     */
    readonly FixedRateTick: RBXScriptSignal<(deltaTime: number, worldStepId: number) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraService#Step)
     */
    readonly Step: RBXScriptSignal<() => void>;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarAbilityRules)
 */
interface AvatarAbilityRules extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AvatarAbilityRules: unique symbol;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarAccessoryRules)
 */
interface AvatarAccessoryRules extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AvatarAccessoryRules: unique symbol;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarAnimationRules)
 */
interface AvatarAnimationRules extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AvatarAnimationRules: unique symbol;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarBodyRules)
 */
interface AvatarBodyRules extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AvatarBodyRules: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarChatService)
 */
interface AvatarChatService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AvatarChatService: unique symbol;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarClothingRules)
 */
interface AvatarClothingRules extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AvatarClothingRules: unique symbol;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCollisionRules)
 */
interface AvatarCollisionRules extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AvatarCollisionRules: unique symbol;
}
/**
 * A service to support developer avatar creators.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService)
 */
interface AvatarCreationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AvatarCreationService: unique symbol;
    /**
     * Gets data regarding rules that assets must abide by to pass UGC validation.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#GetValidationRules)
     * @param this A service to support developer avatar creators.
     * @returns Dictionary of validation rules as detailed above.
     */
    GetValidationRules(this: AvatarCreationService): object;
    /**
     * Automatically sets up a custom `Model` and/or avatar accessories.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#AutoSetupAvatarAsync)
     * @param this A service to support developer avatar creators.
     * @param player The `Player` that the avatar is being set up for.
     * @param autoSetupParams A table containing the arguments. Type: `type AutoSetupAccessory = { AccessoryType: Enum.AccessoryType, IsLayered: bool, Instance: Model, } type AutoSetupParams = { Body: Model?, Accessories: {AutoSetupAccessory}, }`
     * @param progressCallback Optional callback function that will be invoked periodically with a progressInfo table with the overall progress (from 0 to 1). Type: `(progressInfo: { Progress: number }) -> ()`
     * @returns A unique identifier for the generated avatar.
     */
    AutoSetupAvatarAsync(this: AvatarCreationService, player: Player, autoSetupParams: object, progressCallback?: Callback): string;
    /**
     * Creates a 2D avatar preview and returns a previewId.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#GenerateAvatar2DPreviewAsync)
     * @param this A service to support developer avatar creators.
     * @param avatarGeneration2dPreviewParams A table of arguments for 2D preview generation. Type: `avatarGeneration2dPreviewParams: {SessionId: string, FileId: string, TextPrompt: string?}`
     * @returns A string previewId
     */
    GenerateAvatar2DPreviewAsync(this: AvatarCreationService, avatarGeneration2dPreviewParams: object): string;
    /**
     * Generates an avatar and returns a generationId.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#GenerateAvatarAsync)
     * @param this A service to support developer avatar creators.
     * @param avatarGenerationParams A table of arguments for generating an avatar. Type: `avatarGenerationParams: {SessionId: string, PreviewId: string}`
     * @returns A string generationId.
     */
    GenerateAvatarAsync(this: AvatarCreationService, avatarGenerationParams: object): string;
    /**
     * Gets the avatar creation token details for a list of avatar creation tokens at once.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#GetBatchTokenDetailsAsync)
     * @param this A service to support developer avatar creators.
     * @param tokenIds The list of avatar creation token IDs to get details of.
     * @returns Array of avatar creation token details as outlined above.
     */
    GetBatchTokenDetailsAsync(this: AvatarCreationService, tokenIds: Array<unknown>): Array<unknown>;
    /**
     * Load an AvatarGeneration 2D preview on the client from a previewId.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#LoadAvatar2DPreviewAsync)
     * @param this A service to support developer avatar creators.
     * @param previewId Load the preview generated from `GenerateAvatar2DPreviewAsync()`.
     * @returns An `EditableImage` containing the preview image.
     */
    LoadAvatar2DPreviewAsync(this: AvatarCreationService, previewId: string): EditableImage;
    /**
     * Loads a generated avatar using an avatar generation ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#LoadGeneratedAvatarAsync)
     * @param this A service to support developer avatar creators.
     * @param generationId A unique string that identifies the generated avatar, as returned by `AutoSetupAvatarAsync()`.
     * @returns The `HumanoidDescription` of the generated avatar, which includes all the generated instances and properties.
     */
    LoadGeneratedAvatarAsync(this: AvatarCreationService, generationId: string): HumanoidDescription;
    /**
     * Prepares in-experience avatar for preview.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#PrepareAvatarForPreviewAsync)
     * @param this A service to support developer avatar creators.
     * @param humanoidModel The `Model` containing `MeshPart` children with `WrapDeformer` instances that require HSR data updating for preview.
     */
    PrepareAvatarForPreviewAsync(this: AvatarCreationService, humanoidModel: Model): void;
    /**
     * Prompts a `Player` to purchase and create an avatar asset from an `Instance`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#PromptCreateAvatarAssetAsync)
     * @param this A service to support developer avatar creators.
     * @param tokenId The ID of a creation token. The token must be valid in that the universe the method is called from is the same universe the token was created for. Furthermore, the token creator must maintain ID verification and [Roblox Premium](https://www.roblox.com/premium/membership). To create a token for utilization in this API, follow the [token creation](../../../production/monetization/avatar-creation-token.md) process. The token's creation type must match the `AvatarAssetType` passed in to the method.
     * @param player The `Player` intended to be presented with the creation prompt.
     * @param assetInstance The `Instance` of the avatar asset intended for creation.
     * @param assetType The `AvatarAssetType` of the expected creation. This must match the creation type of the provided token.
     * @returns A tuple containing, in order: -  An `PromptCreateAssetResult` indicating the result of the   creation prompt.
     * -  A string result. In the case of   `PromptCreateAssetResult.Success`, this will indicate the asset   ID. In the case of any failure enum, this will indicate the   resultant error message.
     */
    PromptCreateAvatarAssetAsync(this: AvatarCreationService, tokenId: string, player: Player, assetInstance: Instance, assetType: CastsToEnum<Enum.AvatarAssetType>): unknown;
    /**
     * Prompts a `Player` to purchase and create an avatar from a `HumanoidDescription`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#PromptCreateAvatarAsync)
     * @param this A service to support developer avatar creators.
     * @param tokenId The ID of an avatar creation token. The token must be valid in that the universe the method is called from is the same universe the token was created for. Furthermore, the token creator must maintain ID verification and [Roblox Premium](https://www.roblox.com/premium/membership). To create a token for utilization in this API, follow the [token creation](../../../production/monetization/avatar-creation-token.md) process.
     * @param player The `Player` intended to be presented with the creation prompt.
     * @param humanoidDescription The `HumanoidDescription` of the avatar intended for creation.
     * @returns A tuple containing, in order: -  An `PromptCreateAvatarResult` indicating the result of the   creation prompt.
     * -  A string result. In the case of   `PromptCreateAvatarResult.Success`, this will indicate the   bundle ID. In the case of any failure enum, this will indicate the   resultant error message.
     * -  A secondary optional string result. In the case of   `PromptCreateAvatarResult.Success`, this will indicate the   outfit ID. In the case of any failure enum, this will be `nil`.
     */
    PromptCreateAvatarAsync(this: AvatarCreationService, tokenId: string, player: Player, humanoidDescription: HumanoidDescription): unknown;
    /**
     * Prompt the `Player` to take a selfie and return the FileId.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#PromptSelectAvatarGenerationImageAsync)
     * @param this A service to support developer avatar creators.
     * @param player The `Player` to prompt for taking a selfie.
     * @returns A string FileId of the selfie.
     */
    PromptSelectAvatarGenerationImageAsync(this: AvatarCreationService, player: Player): string;
    /**
     * Request an AvatarGeneration session for a `Player`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#RequestAvatarGenerationSessionAsync)
     * @param this A service to support developer avatar creators.
     * @param player The `Player` to request an AvatarGeneration session for.
     * @param callback Callback function that is invoked with a SessionInfo table, with information about the session. Type: `(SessionInfo: { SessionId: string, Allowed2DGenerations: number, Allowed3DGenerations: number, SessionTime: number }) -> ()`
     * @returns A tuple containing a `RBXScriptConnection` that can be used to cancel the session request and the estimated wait time in seconds.
     */
    RequestAvatarGenerationSessionAsync(this: AvatarCreationService, player: Player, callback: Callback): unknown;
    /**
     * Studio only. Runs UGC validation for an `AccessoryType`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#ValidateUGCAccessoryAsync)
     * @param this A service to support developer avatar creators.
     * @param player The `Player` validation is completed for.
     * @param accessory The instance validation is run on.
     * @param accessoryType `AccessoryType` the instance is expected to be. Expects `Eyebrow`, `Eyelash`, or `Hair`.
     * @returns A tuple containing, in order: - A boolean indicating if validation was successful for the accessory.
     * - An optional table of strings. This includes failure reasons if   validation was unsuccessful; otherwise `nil` if validation was   successful.
     */
    ValidateUGCAccessoryAsync(this: AvatarCreationService, player: Player, accessory: Instance, accessoryType: CastsToEnum<Enum.AccessoryType>): unknown;
    /**
     * Studio only. Runs UGC validation for an `BodyPart`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#ValidateUGCBodyPartAsync)
     * @param this A service to support developer avatar creators.
     * @param player The `Player` validation is completed for.
     * @param instance The instance validation is run on.
     * @param bodyPart `BodyPart` the instance is expected to be.
     * @returns A tuple containing, in order: - A boolean indicating if validation was successful for the body part.
     * - An optional table of strings. This includes failure reasons if   validation was unsuccessful; otherwise `nil` if validation was   successful.
     */
    ValidateUGCBodyPartAsync(this: AvatarCreationService, player: Player, instance: Instance, bodyPart: CastsToEnum<Enum.BodyPart>): unknown;
    /**
     * Studio only. Runs UGC validation for a whole body.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#ValidateUGCFullBodyAsync)
     * @param this A service to support developer avatar creators.
     * @param player The `Player` validation is completed for.
     * @param humanoidDescription `HumanoidDescription` representing the body that validation is run on.
     * @returns A tuple containing, in order: - A boolean indicating if validation was successful for the body.
     * - An optional table of strings. This includes failure reasons if   validation was unsuccessful; otherwise `nil` if validation was   successful.
     */
    ValidateUGCFullBodyAsync(this: AvatarCreationService, player: Player, humanoidDescription: HumanoidDescription): unknown;
    /**
     * Fires when an in-experience-created avatar asset's moderation status has been updated from pending.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#AvatarAssetModerationCompleted)
     */
    readonly AvatarAssetModerationCompleted: RBXScriptSignal<(assetId: number, moderationStatus: Enum.ModerationStatus) => void>;
    /**
     * Fires when an in-experience-created avatar's moderation status has been updated from pending.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarCreationService#AvatarModerationCompleted)
     */
    readonly AvatarModerationCompleted: RBXScriptSignal<(outfitId: number, moderationStatus: Enum.ModerationStatus) => void>;
}
/**
 * A service to support developer Avatar Editors.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService)
 */
interface AvatarEditorService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AvatarEditorService: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetAccessoryType)
     * @param this A service to support developer Avatar Editors.
     * @param avatarAssetType
     */
    GetAccessoryType(this: AvatarEditorService, avatarAssetType: CastsToEnum<Enum.AvatarAssetType>): Enum.AccessoryType;
    /**
     * Prompts the `Players.LocalPlayer` to allow the developer to read what items the user has in their inventory and other avatar editor related information.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#PromptAllowInventoryReadAccess)
     * @param this A service to support developer Avatar Editors.
     */
    PromptAllowInventoryReadAccess(this: AvatarEditorService): void;
    /**
     * Prompts the `Players.LocalPlayer` to save the given `HumanoidDescription` as an outfit.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#PromptCreateOutfit)
     * @param this A service to support developer Avatar Editors.
     * @param outfit The `Outfit` that the player will be prompted to created.
     * @param rigType The `RigType` that the outfit will be created for if the player confirms the prompt.
     */
    PromptCreateOutfit(this: AvatarEditorService, outfit: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>): void;
    /**
     * Prompts the `Players.LocalPlayer` to delete the given outfit.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#PromptDeleteOutfit)
     * @param this A service to support developer Avatar Editors.
     * @param outfitId The outfitId of the outfit to delete.
     */
    PromptDeleteOutfit(this: AvatarEditorService, outfitId: number): void;
    /**
     * Prompts the `Players.LocalPlayer` to rename the given outfit.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#PromptRenameOutfit)
     * @param this A service to support developer Avatar Editors.
     * @param outfitId The outfitId of the outfit to rename.
     */
    PromptRenameOutfit(this: AvatarEditorService, outfitId: number): void;
    /**
     * Prompts the `Players.LocalPlayer` to update their avatar based on the given `HumanoidDescription` and `RigType` of R6 or R15.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#PromptSaveAvatar)
     * @param this A service to support developer Avatar Editors.
     * @param humanoidDescription The given `HumanoidDescription` being prompted to save.
     * @param rigType The `RigType` that the avatar will be saved for if the player confirms the prompt.
     */
    PromptSaveAvatar(this: AvatarEditorService, humanoidDescription: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>): void;
    /**
     * Prompts the `Players.LocalPlayer` to favorite or unfavorite the given asset or bundle.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#PromptSetFavorite)
     * @param this A service to support developer Avatar Editors.
     * @param itemId The ItemId of the item being prompted to favorite.
     * @param itemType The type of item being prompted to favorite.
     * @param shouldFavorite
     */
    PromptSetFavorite(this: AvatarEditorService, itemId: number, itemType: CastsToEnum<Enum.AvatarItemType>, shouldFavorite: boolean): void;
    /**
     * Prompts the `Players.LocalPlayer` to update the given outfit.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#PromptUpdateOutfit)
     * @param this A service to support developer Avatar Editors.
     * @param outfitId The outfitId of the outfit to update.
     * @param updatedOutfit A HumanoidDescription that represents the new outfit data.
     * @param rigType The HumanoidRigType to update the outfit to.
     */
    PromptUpdateOutfit(this: AvatarEditorService, outfitId: number, updatedOutfit: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>): void;
    /**
     * **Deprecated:**
     *
     * Used to apply default clothing to the `HumanoidDescription` if necessary.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#CheckApplyDefaultClothing)
     * @param this A service to support developer Avatar Editors.
     * @param humanoidDescription The HumanoidDescription to check if default clothing is required.
     * @returns Returns a HumanoidDescription if default clothing was necessary. Otherwise returns `nil`.
     *
     * @deprecated CheckApplyDefaultClothingAsync
     */
    CheckApplyDefaultClothing(this: AvatarEditorService, humanoidDescription: HumanoidDescription): HumanoidDescription | undefined;
    /**
     * Used to apply default clothing to the `HumanoidDescription` if necessary.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#CheckApplyDefaultClothingAsync)
     * @param this A service to support developer Avatar Editors.
     * @param humanoidDescription The HumanoidDescription to check if default clothing is required.
     * @returns Returns a HumanoidDescription if default clothing was necessary. Otherwise returns `nil`.
     */
    CheckApplyDefaultClothingAsync(this: AvatarEditorService, humanoidDescription: HumanoidDescription): HumanoidDescription;
    /**
     * **Deprecated:**
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#ConformToAvatarRules)
     * @param this A service to support developer Avatar Editors.
     * @param humanoidDescription
     *
     * @deprecated ConformToAvatarRulesAsync
     */
    ConformToAvatarRules(this: AvatarEditorService, humanoidDescription: HumanoidDescription): HumanoidDescription;
    /**
     * Returns a copy of the given `HumanoidDescription` that conforms to the platform Avatar rules.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#ConformToAvatarRulesAsync)
     * @param this A service to support developer Avatar Editors.
     * @param humanoidDescription The `HumanoidDescription` to conform.
     * @returns A new `HumanoidDescription` that conforms to the platform Avatar rules.
     */
    ConformToAvatarRulesAsync(this: AvatarEditorService, humanoidDescription: HumanoidDescription): HumanoidDescription;
    /**
     * **Deprecated:**
     *
     * Returns the platform Avatar rules for things such as scaling, default shirts and pants, number of wearable assets.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetAvatarRules)
     * @param this A service to support developer Avatar Editors.
     * @returns A dictionary containing the platform Avatar rules for things like scaling, default shirts and pants, number of wearable assets, ect. See the example return in the main description above.
     *
     * @deprecated GetAvatarRulesAsync
     */
    GetAvatarRules(this: AvatarEditorService): AvatarRules;
    /**
     * Returns the platform Avatar rules for things such as scaling, default shirts and pants, number of wearable assets.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetAvatarRulesAsync)
     * @param this A service to support developer Avatar Editors.
     * @returns A dictionary containing the platform Avatar rules for things like scaling, default shirts and pants, number of wearable assets, ect. See the example return in the main description above.
     */
    GetAvatarRulesAsync(this: AvatarEditorService): object;
    /**
     * **Deprecated:**
     *
     * Gets the item details for a list of items at once.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetBatchItemDetails)
     * @param this A service to support developer Avatar Editors.
     * @param itemIds The list of item ids to get details of.
     * @param itemType The type of the item ids provided.
     * @returns Returns an array of item details. See `AvatarEditorService:GetBatchItemDetailsAsync()` for the response format.
     *
     * @deprecated GetBatchItemDetailsAsync
     */
    GetBatchItemDetails(this: AvatarEditorService, itemIds: ReadonlyArray<number>, itemType: CastsToEnum<Enum.AvatarItemType.Asset>): ReadonlyArray<AssetItemDetails>;
    GetBatchItemDetails(this: AvatarEditorService, itemIds: ReadonlyArray<number>, itemType: CastsToEnum<Enum.AvatarItemType.Bundle>): ReadonlyArray<BundleItemDetails>;
    GetBatchItemDetails(this: AvatarEditorService, itemIds: ReadonlyArray<number>, itemType: CastsToEnum<Enum.AvatarItemType>): ReadonlyArray<ItemDetails>;
    /**
     * Gets the item details for a list of items at once.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetBatchItemDetailsAsync)
     * @param this A service to support developer Avatar Editors.
     * @param itemIds The list of item ids to get details of.
     * @param itemType The type of the item ids provided.
     * @returns Returns an array of item details.
     */
    GetBatchItemDetailsAsync(this: AvatarEditorService, itemIds: Array<unknown>, itemType: CastsToEnum<Enum.AvatarItemType>): Array<unknown>;
    /**
     * **Deprecated:**
     *
     * Returns if the `Players.LocalPlayer` has favorited the given bundle or asset.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetFavorite)
     * @param this A service to support developer Avatar Editors.
     * @param itemId The ID of the specified asset or bundle.
     * @param itemType The `AvatarItemType` of the specified asset or bundle.
     * @returns Whether the `LocalPlayer` has favorited the given bundle or asset.
     *
     * @deprecated GetFavoriteAsync
     */
    GetFavorite(this: AvatarEditorService, itemId: number, itemType: CastsToEnum<Enum.AvatarItemType>): boolean;
    /**
     * Returns if the `Players.LocalPlayer` has favorited the given bundle or asset.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetFavoriteAsync)
     * @param this A service to support developer Avatar Editors.
     * @param itemId The ID of the specified asset or bundle.
     * @param itemType The `AvatarItemType` of the specified asset or bundle.
     * @returns Whether the `LocalPlayer` has favorited the given bundle or asset.
     */
    GetFavoriteAsync(this: AvatarEditorService, itemId: number, itemType: CastsToEnum<Enum.AvatarItemType>): boolean;
    /**
     * Returns an array of head shape names that the `Players.LocalPlayer` owns.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetHeadShapesAsync)
     * @param this A service to support developer Avatar Editors.
     * @returns An array of strings, each identifying a head shape owned by `Players.LocalPlayer`. Possible values include: `"RobloxClassic"`, `"Blockhead"`, `"Cheeks"`, `"Chiseled"`, `"CoolThing"`, `"EraserHead"`, `"FatHead"`, `"FlatTop"`, `"GoldenKorbloxGeneral"`, `"GoldenMrRobot"`, `"KnightOfChivalry"`, `"KnightOfCourage"`, `"ManHead"`, `"MercilessNinja"`, `"Narrow"`, `"Paragon"`, `"Peabrain"`, `"Perfection"`, `"Roll"`, `"Roundy"`, `"RoxBox"`, `"TheEngineer"`, `"Trim"`, `"WomanHead"`.
     */
    GetHeadShapesAsync(this: AvatarEditorService): Array<unknown>;
    /**
     * **Deprecated:**
     *
     * Returns an `InventoryPages` object with information about owned items in the users inventory with the given AvatarAssetTypes.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetInventory)
     * @param this A service to support developer Avatar Editors.
     * @param assetTypes The `AvatarAssetType` that can will be checked for in the player's inventory.
     *
     * @deprecated GetInventoryAsync
     */
    GetInventory(this: AvatarEditorService, assetTypes: ReadonlyArray<Enum.AvatarAssetType>): InventoryPages<{
        AssetId: number;
        AssetType: string;
        Created: string;
        Name: string;
    }>;
    /**
     * Returns an `InventoryPages` object with information about owned items in the users inventory with the given AvatarAssetTypes.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetInventoryAsync)
     * @param this A service to support developer Avatar Editors.
     * @param assetTypes The `AvatarAssetType` that can will be checked for in the player's inventory.
     */
    GetInventoryAsync(this: AvatarEditorService, assetTypes: Array<unknown>): InventoryPages;
    /**
     * **Deprecated:**
     *
     * Returns the item details for the given item.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetItemDetails)
     * @param this A service to support developer Avatar Editors.
     * @param itemId The ID of the item whose details are being retrieved.
     * @param itemType An enum value indicating the type of item whose details are being retrieved.
     * @returns A table containing the item info for the retrieved item. See above for a sample table.
     *
     * @deprecated GetItemDetailsAsync
     */
    GetItemDetails(this: AvatarEditorService, itemId: number, itemType: CastsToEnum<Enum.AvatarItemType.Asset>): AssetItemDetails;
    GetItemDetails(this: AvatarEditorService, itemId: number, itemType: CastsToEnum<Enum.AvatarItemType.Bundle>): BundleItemDetails;
    GetItemDetails(this: AvatarEditorService, itemId: number, itemType: CastsToEnum<Enum.AvatarItemType>): ItemDetails;
    /**
     * Returns the item details for the given item.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetItemDetailsAsync)
     * @param this A service to support developer Avatar Editors.
     * @param itemId The ID of the item whose details are being retrieved.
     * @param itemType An enum value indicating the type of item whose details are being retrieved.
     * @returns A table containing the item info for the retrieved item.
     */
    GetItemDetailsAsync(this: AvatarEditorService, itemId: number, itemType: CastsToEnum<Enum.AvatarItemType>): object;
    /**
     * **Deprecated:**
     *
     * Returns the outfit details for the given outfit.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetOutfitDetails)
     * @param this A service to support developer Avatar Editors.
     * @param outfitId The ID of the outfit whose details are being retrieved.
     * @returns A table containing the outfit info for the retrieved outfit. See above for a sample table.
     *
     * @deprecated GetOutfitDetailsAsync
     */
    GetOutfitDetails(this: AvatarEditorService, outfitId: number): object;
    /**
     * Returns the outfit details for the given outfit.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetOutfitDetailsAsync)
     * @param this A service to support developer Avatar Editors.
     * @param outfitId The ID of the outfit whose details are being retrieved.
     * @returns A table containing the outfit info for the retrieved outfit. See above for a sample table.
     */
    GetOutfitDetailsAsync(this: AvatarEditorService, outfitId: number): object;
    /**
     * **Deprecated:**
     *
     * Returns outfit data for the `Players.LocalPlayer`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetOutfits)
     * @param this A service to support developer Avatar Editors.
     * @param outfitSource
     * @param outfitType
     *
     * @deprecated GetOutfitsAsync
     */
    GetOutfits(this: AvatarEditorService, outfitSource?: CastsToEnum<Enum.OutfitSource>, outfitType?: CastsToEnum<Enum.OutfitType>): OutfitPages;
    /**
     * Returns outfit data for the `Players.LocalPlayer`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetOutfitsAsync)
     * @param this A service to support developer Avatar Editors.
     * @param outfitSource
     * @param outfitType
     */
    GetOutfitsAsync(this: AvatarEditorService, outfitSource?: CastsToEnum<Enum.OutfitSource>, outfitType?: CastsToEnum<Enum.OutfitType>): OutfitPages;
    /**
     * **Deprecated:**
     *
     * Returns a list of recommended assets based on a given `AssetType` and asset ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetRecommendedAssets)
     * @param this A service to support developer Avatar Editors.
     * @param assetType The type of asset recommendations to retrieve recommendations for. Only affects the response when item based recommendations don't exist for the given `contextAssetId`.
     * @param contextAssetId The ID of an asset with a type matching the provided assetType used for context when retrieving recommendations.
     * @returns A list of recommendations based on the given `AssetType`.
     *
     * @deprecated GetRecommendedAssetsAsync
     */
    GetRecommendedAssets(this: AvatarEditorService, assetType: CastsToEnum<Enum.AvatarAssetType>, contextAssetId?: number): ReadonlyArray<RecommendedAsset>;
    /**
     * Returns a list of recommended assets based on a given `AssetType` and asset ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetRecommendedAssetsAsync)
     * @param this A service to support developer Avatar Editors.
     * @param assetType The type of asset recommendations to retrieve recommendations for. Only affects the response when item based recommendations don't exist for the given `contextAssetId`.
     * @param contextAssetId The ID of an asset with a type matching the provided assetType used for context when retrieving recommendations.
     * @returns A list of recommendations based on the given `AssetType`.
     */
    GetRecommendedAssetsAsync(this: AvatarEditorService, assetType: CastsToEnum<Enum.AvatarAssetType>, contextAssetId?: number): Array<unknown>;
    /**
     * **Deprecated:**
     *
     * Returns a list of recommended bundles for a given bundle id.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetRecommendedBundles)
     * @param this A service to support developer Avatar Editors.
     * @param bundleId A list of recommended bundles.
     * @returns The bundle ID that the recommended bundles will be returned for.
     *
     * @deprecated GetRecommendedBundlesAsync
     */
    GetRecommendedBundles(this: AvatarEditorService, bundleId: number): ReadonlyArray<RecommendedBundle>;
    /**
     * Returns a list of recommended bundles for a given bundle id.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetRecommendedBundlesAsync)
     * @param this A service to support developer Avatar Editors.
     * @param bundleId A list of recommended bundles.
     * @returns The bundle ID that the recommended bundles will be returned for.
     */
    GetRecommendedBundlesAsync(this: AvatarEditorService, bundleId: number): Array<unknown>;
    /**
     * **Deprecated:**
     *
     * Returns a `CatalogPages` object containing the result of the given search.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#SearchCatalog)
     * @param this A service to support developer Avatar Editors.
     * @param searchParameters An object containing the parameters used for the search.
     *
     * @deprecated SearchCatalogAsync
     */
    SearchCatalog(this: AvatarEditorService, searchParameters: CatalogSearchParams): CatalogPages;
    /**
     * Returns a `CatalogPages` object containing the result of the given search.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#SearchCatalogAsync)
     * @param this A service to support developer Avatar Editors.
     * @param searchParameters An object containing the parameters used for the search.
     * @returns A `CatalogPages` object containing the search results.
     */
    SearchCatalogAsync(this: AvatarEditorService, searchParameters: CatalogSearchParams): CatalogPages;
    /**
     * Fires when the `AvatarEditorService:PromptAllowInventoryReadAccess()` prompt is responded to by the user.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#PromptAllowInventoryReadAccessCompleted)
     */
    readonly PromptAllowInventoryReadAccessCompleted: RBXScriptSignal<(result: Enum.AvatarPromptResult) => void>;
    /**
     * Fires when the PromptSaveOutfit operation is completed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#PromptCreateOutfitCompleted)
     */
    readonly PromptCreateOutfitCompleted: RBXScriptSignal<(result: Enum.AvatarPromptResult, failureType: unknown) => void>;
    /**
     * Fires when the PromptDeleteOutfit operation is completed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#PromptDeleteOutfitCompleted)
     */
    readonly PromptDeleteOutfitCompleted: RBXScriptSignal<(result: Enum.AvatarPromptResult) => void>;
    /**
     * Fires when the PromptRenameOutfit operation is completed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#PromptRenameOutfitCompleted)
     */
    readonly PromptRenameOutfitCompleted: RBXScriptSignal<(result: Enum.AvatarPromptResult) => void>;
    /**
     * Fires when the `AvatarEditorService:PromptSaveAvatar()` operation is completed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#PromptSaveAvatarCompleted)
     */
    readonly PromptSaveAvatarCompleted: RBXScriptSignal<(result: Enum.AvatarPromptResult, humanoidDescription: HumanoidDescription) => void>;
    /**
     * Fires when the `AvatarEditorService:PromptSetFavorite()` operation is completed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#PromptSetFavoriteCompleted)
     */
    readonly PromptSetFavoriteCompleted: RBXScriptSignal<(result: Enum.AvatarPromptResult) => void>;
    /**
     * Fires when the `AvatarEditorService:PromptUpdateOutfit()` operation is completed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#PromptUpdateOutfitCompleted)
     */
    readonly PromptUpdateOutfitCompleted: RBXScriptSignal<(result: Enum.AvatarPromptResult) => void>;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarImportService)
 */
interface AvatarImportService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AvatarImportService: unique symbol;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarRules)
 */
interface AvatarRules extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AvatarRules: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AvatarSettings)
 */
interface AvatarSettings extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AvatarSettings: unique symbol;
}
/**
 * A container object that holds a player's inventory. Any `Tool` in a player's Backpack will be displayed in their inventory at the bottom of their screen.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Backpack)
 */
interface Backpack extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Backpack: unique symbol;
}
/**
 * Provides information on badges and awards them.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BadgeService)
 */
interface BadgeService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BadgeService: unique symbol;
    /**
     * **Deprecated:**
     *
     * Award a badge to a player given the ID of each.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BadgeService#AwardBadge)
     * @param this Provides information on badges and awards them.
     * @param userId The `Player.UserId` of the user the badge is to be awarded to.
     * @param badgeId The ID of the badge to be awarded.
     * @returns Boolean of `true` if the badge was awarded successfully.
     *
     * @deprecated AwardBadgeAsync
     */
    AwardBadge(this: BadgeService, userId: number, badgeId: number): boolean;
    /**
     * Award a badge to a player given the ID of each.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BadgeService#AwardBadgeAsync)
     * @param this Provides information on badges and awards them.
     * @param userId The `Player.UserId` of the user the badge is to be awarded to.
     * @param badgeId The ID of the badge to be awarded.
     * @returns Boolean of `true` if the badge was awarded successfully.
     */
    AwardBadgeAsync(this: BadgeService, userId: number, badgeId: number): boolean;
    /**
     * Checks a list of badge IDs against a `UserId` and returns a list of badge IDs that the player owns.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BadgeService#CheckUserBadgesAsync)
     * @param this Provides information on badges and awards them.
     * @param userId The `UserId` of the player to check for ownership of the specified badges.
     * @param badgeIds The list of IDs of the badges to check ownership of. Maximum length of 10.
     * @returns The list of badge IDs the given user owns out of the provided badge IDs. Empty if none of the provided badges are owned by the given user. Not guaranteed to be in the same order as the input list. Some badge IDs may be omitted if the user with the target `userId` has not recently been in the server and the badge IDs are not associated with the requesting experience.
     */
    CheckUserBadgesAsync(this: BadgeService, userId: number, badgeIds: Array<unknown>): Array<unknown>;
    /**
     * Fetch information about a badge given its ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BadgeService#GetBadgeInfoAsync)
     * @param this Provides information on badges and awards them.
     * @param badgeId The badge ID of the badge whose information should be fetched.
     * @returns A dictionary of information about the specified badge.
     */
    GetBadgeInfoAsync(this: BadgeService, badgeId: number): BadgeInfo;
    /**
     * **Deprecated:** This function is deprecated. Do not use it for new work. Instead, it can be checked by calling BadgeService:GetBadgeInfoAsync() and checking the IsEnabled field.
     *
     * Returns whether a given badge is disabled.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BadgeService#IsDisabled)
     * @param this Provides information on badges and awards them.
     * @param badgeId The ID of the badge.
     * @returns True if the specified badge is not available to be awarded.
     *
     * @deprecated
     */
    IsDisabled(this: BadgeService, badgeId: number): boolean;
    /**
     * **Deprecated:** This function is deprecated and will always return true. Do not use it for new work.
     *
     * Determines if a given badge is associated with the current game.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BadgeService#IsLegal)
     * @param this Provides information on badges and awards them.
     * @param badgeId The badge ID of the badge.
     * @returns True if the badge is associated with the current game.
     *
     * @deprecated
     */
    IsLegal(this: BadgeService, badgeId: number): boolean;
    /**
     * **Deprecated:** This method has been superseded by `BadgeService:UserHasBadgeAsync()` which should be used for new instead.
     *
     * Checks whether a user has the badge given the `Player.UserId` and the badge ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BadgeService#UserHasBadge)
     * @param this Provides information on badges and awards them.
     * @param userId The user ID of the user.
     * @param badgeId The badge ID of the badge.
     * @returns True if the user has the badge.
     *
     * @deprecated
     */
    UserHasBadge(this: BadgeService, userId: number, badgeId: number): boolean;
    /**
     * Checks whether a player has the badge given the `Player.UserId` and the badge ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BadgeService#UserHasBadgeAsync)
     * @param this Provides information on badges and awards them.
     * @param userId The `Player.UserId` of the player to check for ownership of the specified badge.
     * @param badgeId The badge ID of the badge whose ownership will be checked.
     * @returns Indicates if the specified user has the specified badge.
     */
    UserHasBadgeAsync(this: BadgeService, userId: number, badgeId: number): boolean;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseCoreGuiConfiguration)
 */
interface BaseCoreGuiConfiguration extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BaseCoreGuiConfiguration: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseCoreGuiConfiguration#Enabled)
     */
    Enabled: boolean;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CapturesViewConfiguration)
 */
interface CapturesViewConfiguration extends BaseCoreGuiConfiguration {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CapturesViewConfiguration: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CapturesViewConfiguration#Open)
     */
    Open: boolean;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerListConfiguration)
 */
interface PlayerListConfiguration extends BaseCoreGuiConfiguration {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlayerListConfiguration: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerListConfiguration#Open)
     */
    Open: boolean;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelfViewConfiguration)
 */
interface SelfViewConfiguration extends BaseCoreGuiConfiguration {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SelfViewConfiguration: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelfViewConfiguration#Open)
     */
    Open: boolean;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseImportData)
 */
interface BaseImportData extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BaseImportData: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseImportData#Id)
     */
    readonly Id: string;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseImportData#ImportName)
     */
    ImportName: string;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseImportData#ShouldImport)
     */
    ShouldImport: boolean;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseImportData#StatusRemoved)
     */
    readonly StatusRemoved: RBXScriptSignal<(status: object) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseImportData#StatusReported)
     */
    readonly StatusReported: RBXScriptSignal<(status: object) => void>;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationImportData)
 */
interface AnimationImportData extends BaseImportData {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AnimationImportData: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FacsImportData)
 */
interface FacsImportData extends BaseImportData {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FacsImportData: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroupImportData)
 */
interface GroupImportData extends BaseImportData {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GroupImportData: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroupImportData#Anchored)
     */
    Anchored: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroupImportData#ImportAsModelAsset)
     */
    ImportAsModelAsset: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroupImportData#InsertInWorkspace)
     */
    InsertInWorkspace: boolean;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/JointImportData)
 */
interface JointImportData extends BaseImportData {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_JointImportData: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialImportData)
 */
interface MaterialImportData extends BaseImportData {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MaterialImportData: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialImportData#DiffuseFilePath)
     */
    DiffuseFilePath: string;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialImportData#EmissiveFilePath)
     */
    EmissiveFilePath: string;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialImportData#IsPbr)
     */
    readonly IsPbr: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialImportData#MetalnessFilePath)
     */
    MetalnessFilePath: string;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialImportData#NormalFilePath)
     */
    NormalFilePath: string;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialImportData#RoughnessFilePath)
     */
    RoughnessFilePath: string;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData)
 */
interface MeshImportData extends BaseImportData {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MeshImportData: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#Anchored)
     */
    Anchored: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#CageManifold)
     */
    readonly CageManifold: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#CageMeshIntersectedPreview)
     */
    CageMeshIntersectedPreview: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#CageMeshNotIntersected)
     */
    readonly CageMeshNotIntersected: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#CageNoOverlappingVertices)
     */
    readonly CageNoOverlappingVertices: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#CageNonManifoldPreview)
     */
    CageNonManifoldPreview: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#CageOverlappingVerticesPreview)
     */
    CageOverlappingVerticesPreview: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#CageUVMatched)
     */
    readonly CageUVMatched: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#CageUVMisMatchedPreview)
     */
    CageUVMisMatchedPreview: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#Dimensions)
     */
    readonly Dimensions: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#DoubleSided)
     */
    DoubleSided: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#IgnoreVertexColors)
     */
    IgnoreVertexColors: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#IrrelevantCageModifiedPreview)
     */
    IrrelevantCageModifiedPreview: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#MeshHoleDetectedPreview)
     */
    MeshHoleDetectedPreview: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#MeshNoHoleDetected)
     */
    readonly MeshNoHoleDetected: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#NoIrrelevantCageModified)
     */
    readonly NoIrrelevantCageModified: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#NoOuterCageFarExtendedFromMesh)
     */
    readonly NoOuterCageFarExtendedFromMesh: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#OuterCageFarExtendedFromMeshPreview)
     */
    OuterCageFarExtendedFromMeshPreview: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#PolygonCount)
     */
    readonly PolygonCount: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshImportData#UseImportedPivot)
     */
    UseImportedPivot: boolean;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData)
 */
interface RootImportData extends BaseImportData {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RootImportData: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#AddModelToInventory)
     */
    AddModelToInventory: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#Anchored)
     */
    Anchored: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#AnimationIdForRestPose)
     */
    AnimationIdForRestPose: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#ExistingPackageId)
     */
    ExistingPackageId: string;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#FileDimensions)
     */
    readonly FileDimensions: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#ImportAsModelAsset)
     */
    ImportAsModelAsset: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#ImportAsPackage)
     */
    ImportAsPackage: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#InsertInWorkspace)
     */
    InsertInWorkspace: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#InsertWithScenePosition)
     */
    InsertWithScenePosition: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#InvertNegativeFaces)
     */
    InvertNegativeFaces: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#KeepZeroInfluenceBones)
     */
    KeepZeroInfluenceBones: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#MergeMeshes)
     */
    MergeMeshes: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#PhysicalConstraintType)
     */
    PhysicalConstraintType: Enum.PhysicalConstraintType;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#PolygonCount)
     */
    readonly PolygonCount: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#PreferredUploadId)
     */
    PreferredUploadId: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#RestPose)
     */
    RestPose: Enum.RestPose;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#RigScale)
     */
    RigScale: Enum.RigScale;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#RigType)
     */
    RigType: Enum.RigType;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#RigVisualization)
     */
    RigVisualization: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#ScaleFactor)
     */
    ScaleFactor: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#ScaleUnit)
     */
    ScaleUnit: Enum.MeshScaleUnit;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#UseSceneOriginAsPivot)
     */
    UseSceneOriginAsPivot: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#UsesCages)
     */
    UsesCages: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#ValidateUgcBody)
     */
    ValidateUgcBody: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#WorldForward)
     */
    WorldForward: Enum.NormalId;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RootImportData#WorldUp)
     */
    WorldUp: Enum.NormalId;
}
/**
 * The BasePlayerGui is an abstract class which the GUI drawing storage classes inherit from.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePlayerGui)
 */
interface BasePlayerGui extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BasePlayerGui: unique symbol;
    /**
     * Returns a list of all `GuiObject` instances occupying the given point on the screen.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePlayerGui#GetGuiObjectsAtPosition)
     * @param this The BasePlayerGui is an abstract class which the GUI drawing storage classes inherit from.
     * @param x The x position on the screen relative to the top left corner after the `GuiInset` is applied.
     * @param y The y position on the screen relative to the top left corner after the `GuiInset` is applied.
     * @returns A table of the `GuiObject` instances that occupy the given screen space.
     */
    GetGuiObjectsAtPosition(this: BasePlayerGui, x: number, y: number): Array<GuiObject>;
}
/**
 * A container for a player's currently rendered `ScreenGuis`.
 *
 * - **Tags**: NotCreatable, PlayerReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerGui)
 */
interface PlayerGui extends BasePlayerGui {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlayerGui: unique symbol;
    /**
     * Describes the player's current screen orientation.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerGui#CurrentScreenOrientation)
     */
    readonly CurrentScreenOrientation: Enum.ScreenOrientation;
    /**
     * Sets the preferred screen orientation mode for this player, if on a mobile device.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerGui#ScreenOrientation)
     */
    ScreenOrientation: Enum.ScreenOrientation;
    /**
     * Overrides the default selection adornment used for gamepads.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerGui#SelectionImageObject)
     */
    SelectionImageObject: GuiObject | undefined;
    /**
     * **Deprecated:**
     *
     * Returns the transparency of the Topbar.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerGui#GetTopbarTransparency)
     * @param this A container for a player's currently rendered `ScreenGuis`.
     *
     * @deprecated
     */
    GetTopbarTransparency(this: PlayerGui): number;
    /**
     * **Deprecated:**
     *
     * Sets the transparency of the top bar.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerGui#SetTopbarTransparency)
     * @param this A container for a player's currently rendered `ScreenGuis`.
     * @param transparency
     *
     * @deprecated
     */
    SetTopbarTransparency(this: PlayerGui, transparency: number): void;
    /**
     * **Deprecated:**
     *
     * Fires when the transparency of the Topbar CoreGui changes.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerGui#TopbarTransparencyChangedSignal)
     *
     * @deprecated
     */
    readonly TopbarTransparencyChangedSignal: RBXScriptSignal<(transparency: number) => void>;
}
/**
 * A container for `LayerCollector` objects to be copied into the `PlayerGui` of `Players`. Also provides a range of functions for interacting with the `CoreGui`.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterGui)
 */
interface StarterGui extends BasePlayerGui {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StarterGui: unique symbol;
    /**
     * **Deprecated:** This property is deprecated. Use `LayerCollector.ResetOnSpawn` to control the resetting behavior for individual `LayerCollector` objects.
     *
     * Determines whether each child parented to the StarterGui will be cloned into a player's PlayerGui when that player's character is respawned.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterGui#ResetPlayerGuiOnSpawn)
     *
     * @deprecated
     */
    ResetPlayerGuiOnSpawn: boolean;
    /**
     * Sets the default screen orientation mode for users with mobile devices.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterGui#ScreenOrientation)
     */
    ScreenOrientation: Enum.ScreenOrientation;
    /**
     * Determines whether the contents of `StarterGui` is visible in Studio.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterGui#ShowDevelopmentGui)
     */
    ShowDevelopmentGui: boolean;
    /**
     * Returns whether the given `CoreGuiType`is enabled, or if it has been disabled using `StarterGui:SetCoreGuiEnabled()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterGui#GetCoreGuiEnabled)
     * @param this A container for `LayerCollector` objects to be copied into the `PlayerGui` of `Players`. Also provides a range of functions for interacting with the `CoreGui`.
     * @param coreGuiType The given `CoreGuiType`.
     * @returns Whether the given `CoreGuiType` is enabled.
     */
    GetCoreGuiEnabled(this: StarterGui, coreGuiType: CastsToEnum<Enum.CoreGuiType>): boolean;
    /**
     * Allows you to perform certain interactions with Roblox's core scripts.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterGui#SetCore)
     * @param this A container for `LayerCollector` objects to be copied into the `PlayerGui` of `Players`. Also provides a range of functions for interacting with the `CoreGui`.
     * @param parameterName Selects the functionality with which the call will interact.
     * @param value A table of `BindableEvents` and `BindableFunctions`.
     */
    SetCore<T extends keyof SettableCores>(this: StarterGui, parameter: T, option: SettableCores[T]): void;
    /**
     * Sets whether the `CoreGui` element associated with the given `CoreGuiType` is enabled or disabled.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterGui#SetCoreGuiEnabled)
     * @param this A container for `LayerCollector` objects to be copied into the `PlayerGui` of `Players`. Also provides a range of functions for interacting with the `CoreGui`.
     * @param coreGuiType The given `CoreGuiType`.
     * @param enabled Whether to enable or disable the given `CoreGuiType`.
     */
    SetCoreGuiEnabled(this: StarterGui, coreGuiType: CastsToEnum<Enum.CoreGuiType>, enabled: boolean): void;
    /**
     * Returns a variable that has been specified by a Roblox core script.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterGui#GetCore)
     * @param this A container for `LayerCollector` objects to be copied into the `PlayerGui` of `Players`. Also provides a range of functions for interacting with the `CoreGui`.
     * @param parameterName
     */
    GetCore<T extends keyof GettableCores>(this: StarterGui, parameter: T): GettableCores[T];
}
/**
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseRemoteEvent)
 */
interface BaseRemoteEvent extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BaseRemoteEvent: unique symbol;
}
/**
 * An object which facilitates asynchronous, one-way communication across the client-server boundary. Scripts firing a `RemoteEvent` do not yield.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteEvent)
 */
interface RemoteEvent<T extends Callback = Callback> extends BaseRemoteEvent {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RemoteEvent: unique symbol;
    /**
     * Fires the `OnClientEvent` event for each connected client.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteEvent#FireAllClients)
     * @param this An object which facilitates asynchronous, one-way communication across the client-server boundary. Scripts firing a `RemoteEvent` do not yield.
     * @param arguments Values to pass to all `OnClientEvent` events connected to the same `RemoteEvent`.
     */
    FireAllClients(this: RemoteEvent, ...args: Parameters<T>): void;
    /**
     * Fires the `OnClientEvent` event for a specific client.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteEvent#FireClient)
     * @param this An object which facilitates asynchronous, one-way communication across the client-server boundary. Scripts firing a `RemoteEvent` do not yield.
     * @param player The client of the `Player` to fire the event to.
     * @param arguments Values to pass to `OnClientEvent` events connected to the same `RemoteEvent`.
     */
    FireClient(this: RemoteEvent, player: Player, ...args: Parameters<T>): void;
    /**
     * Fires the `OnServerEvent` event on the server from one connected client.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteEvent#FireServer)
     * @param this An object which facilitates asynchronous, one-way communication across the client-server boundary. Scripts firing a `RemoteEvent` do not yield.
     * @param arguments Values to pass to `OnServerEvent` events connected to the same `RemoteEvent`.
     */
    FireServer(this: RemoteEvent, ...args: Parameters<T>): void;
    /**
     * Fires from a `LocalScript` when either `FireClient()` or `FireAllClients()` is called on the same `RemoteEvent` instance from a `Script`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteEvent#OnClientEvent)
     */
    readonly OnClientEvent: RBXScriptSignal<T>;
    /**
     * Fires from a `Script` when `FireServer()` is called on the same `RemoteEvent` instance from a `LocalScript`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteEvent#OnServerEvent)
     */
    readonly OnServerEvent: RBXScriptSignal<(player: Player, ...args: Array<unknown>) => void>;
}
/**
 * An object which facilitates asynchronous, unordered and unreliable, one-way communication across the client-server boundary. Scripts firing a `UnreliableRemoteEvent` do not yield.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UnreliableRemoteEvent)
 */
interface UnreliableRemoteEvent<T extends Callback = Callback> extends BaseRemoteEvent {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UnreliableRemoteEvent: unique symbol;
    /**
     * Fires the `OnClientEvent` event for all connected clients. Has a 1000 byte limit to the payload of the event. Events with larger payloads are dropped.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UnreliableRemoteEvent#FireAllClients)
     * @param this An object which facilitates asynchronous, unordered and unreliable, one-way communication across the client-server boundary. Scripts firing a `UnreliableRemoteEvent` do not yield.
     * @param arguments Values to pass to all `OnClientEvent` events connected to the same `UnreliableRemoteEvent`.
     */
    FireAllClients(this: UnreliableRemoteEvent, ...args: Parameters<T>): void;
    /**
     * Fires the `OnClientEvent` event for a specific client. Has a 1000 byte limit to the payload of the event. Events with larger payloads are dropped.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UnreliableRemoteEvent#FireClient)
     * @param this An object which facilitates asynchronous, unordered and unreliable, one-way communication across the client-server boundary. Scripts firing a `UnreliableRemoteEvent` do not yield.
     * @param player The client of the `Player` to fire the event to.
     * @param arguments Values to pass to `OnClientEvent` events connected to the same `UnreliableRemoteEvent`.
     */
    FireClient(this: UnreliableRemoteEvent, player: Player, ...args: Parameters<T>): void;
    /**
     * Fires the `OnServerEvent` event on the server from one connected client. Has a 1000 byte limit to the payload of the event. Events with larger payloads are dropped.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UnreliableRemoteEvent#FireServer)
     * @param this An object which facilitates asynchronous, unordered and unreliable, one-way communication across the client-server boundary. Scripts firing a `UnreliableRemoteEvent` do not yield.
     * @param arguments Values to pass to `OnServerEvent` events connected to the same `UnreliableRemoteEvent`.
     */
    FireServer(this: UnreliableRemoteEvent, ...args: Parameters<T>): void;
    /**
     * Fires from a `LocalScript` when either `FireClient()` or `FireAllClients()` is called on the same `UnreliableRemoteEvent` instance from a `Script`, although this firing is not guaranteed even if one of the above methods are called. This can occur due to packet loss or to maintain optimal engine performance.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UnreliableRemoteEvent#OnClientEvent)
     */
    readonly OnClientEvent: RBXScriptSignal<T>;
    /**
     * Fires from a `Script` when `FireServer()` is called on the same `UnreliableRemoteEvent` instance from a `LocalScript`, although this firing is not guaranteed even if the above methods is called. This can occur due to packet loss or to maintain optimal engine performance.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UnreliableRemoteEvent#OnServerEvent)
     */
    readonly OnServerEvent: RBXScriptSignal<(player: Player, ...args: Array<unknown>) => void>;
}
/**
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseWrap)
 */
interface BaseWrap extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BaseWrap: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseWrap#CageMeshContent)
     */
    get CageMeshContent(): Content;
    /**
     * Asset ID for cage mesh.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseWrap#CageMeshId)
     */
    get CageMeshId(): ContentId;
    /**
     * Cage mesh offset relative to parent `MeshPart`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseWrap#CageOrigin)
     */
    get CageOrigin(): CFrame;
    /**
     * Cage mesh offset in world space.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseWrap#CageOriginWorld)
     */
    readonly CageOriginWorld: CFrame;
    /**
     * Describes where a global zero was while authoring the cage mesh in an asset creation tool.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseWrap#ImportOrigin)
     */
    get ImportOrigin(): CFrame;
    /**
     * Describes where the origin (in world space) was while authoring the cage mesh in an asset creation tool.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseWrap#ImportOriginWorld)
     */
    readonly ImportOriginWorld: CFrame;
}
/**
 * Allows for the real-time deformation of a `MeshPart`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapDeformer)
 */
interface WrapDeformer extends BaseWrap {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_WrapDeformer: unique symbol;
    /**
     * Sets the cage mesh used to deform against a sibling `WrapTarget` cage mesh.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapDeformer#SetCageMeshContent)
     * @param this Allows for the real-time deformation of a `MeshPart`.
     * @param content
     * @param cageOrigin
     */
    SetCageMeshContent(this: WrapDeformer, content: Content, cageOrigin?: CFrame): void;
    /**
     * Returns an `EditableMesh` (currently unskinned) equivalent to the deformed parent mesh.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapDeformer#CreateEditableMeshAsync)
     * @param this Allows for the real-time deformation of a `MeshPart`.
     */
    CreateEditableMeshAsync(this: WrapDeformer): EditableMesh;
    /**
     * Returns a `CFrame` deformed comparably to the `MeshPart`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapDeformer#GetDeformedCFrameAsync)
     * @param this Allows for the real-time deformation of a `MeshPart`.
     * @param originalCFrame
     */
    GetDeformedCFrameAsync(this: WrapDeformer, originalCFrame: CFrame): CFrame;
}
/**
 * The WrapLayer object defines a 3D accessory's inner and outer surfaces and other properties related to layering accessories. These surfaces, or the Inner Cage and Outer Cage, are similar to collision boxes, and describe the surfaces of which other 3D accessories can be placed without clipping or breaking.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapLayer)
 */
interface WrapLayer extends BaseWrap {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_WrapLayer: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapLayer#AutoSkin)
     */
    AutoSkin: Enum.WrapLayerAutoSkin;
    /**
     * `CFrame` is used to adjust a binding point for clothing item mesh. Could be used to move and rotate clothing items. This property is intended for fine-tuning only and it is heavily optional.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapLayer#BindOffset)
     */
    get BindOffset(): CFrame;
    /**
     * Allows for disabling of the `WrapLayer` object as if it does not exist.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapLayer#Enabled)
     */
    Enabled: boolean;
    /**
     * Controls the composition order for layered clothing.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapLayer#Order)
     */
    Order: number;
    /**
     * Controls how much underlying clothing items inflate the current clothing item.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapLayer#Puffiness)
     */
    Puffiness: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapLayer#ReferenceMeshContent)
     */
    get ReferenceMeshContent(): Content;
    /**
     * AssetID for reference mesh used to define Inner Cage of a 3D object.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapLayer#ReferenceMeshId)
     */
    get ReferenceMeshId(): ContentId;
    /**
     * Reference mesh offset relative to parent MeshPart (in the parent MeshPart space) Note: this property is set up automatically by the FBX importer.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapLayer#ReferenceOrigin)
     */
    get ReferenceOrigin(): CFrame;
    /**
     * Reference mesh offset relative to parent MeshPart (in the world space) Note: this property is set up automatically by the FBX importer.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapLayer#ReferenceOriginWorld)
     */
    readonly ReferenceOriginWorld: CFrame;
    /**
     * Allows slight shrinking/expanding of the resulting render mesh, without affecting any other layers.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapLayer#ShrinkFactor)
     */
    get ShrinkFactor(): number;
}
/**
 * The WrapTarget object defines a target. A target is the 3D body with only an outer surface, or an Outer Cage.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapTarget)
 */
interface WrapTarget extends BaseWrap {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_WrapTarget: unique symbol;
    /**
     * Defines how much the body mesh can be compressed by clothing.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapTarget#Stiffness)
     */
    get Stiffness(): number;
}
/**
 * Connects two `Attachments` by drawing a texture between them.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam)
 */
interface Beam extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Beam: unique symbol;
    /**
     * The `Attachment` the beam originates from.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#Attachment0)
     */
    Attachment0: Attachment | undefined;
    /**
     * The `Attachment` the beam ends at.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#Attachment1)
     */
    Attachment1: Attachment | undefined;
    /**
     * Scales the light emitted from the beam when `LightInfluence` is less than 1.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#Brightness)
     */
    Brightness: number;
    /**
     * Determines the color of the beam across its `Segments`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#Color)
     */
    Color: ColorSequence;
    /**
     * Determines, along with `Attachment0`, the position of the second control point in the beam's Bézier curve.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#CurveSize0)
     */
    CurveSize0: number;
    /**
     * Determines, along with `Attachment1`, the position of the third control point in the beam's Bézier curve.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#CurveSize1)
     */
    CurveSize1: number;
    /**
     * Determines whether the beam is visible or not.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#Enabled)
     */
    Enabled: boolean;
    /**
     * Determines whether the `Segments` of the beam will always face the camera, regardless of its orientation.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#FaceCamera)
     */
    FaceCamera: boolean;
    /**
     * Determines to what degree the colors of the beam are blended with the colors behind it.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#LightEmission)
     */
    LightEmission: number;
    /**
     * Determines the degree to which the beam is influenced by the environment's lighting.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#LightInfluence)
     */
    LightInfluence: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#LocalTransparencyModifier)
     */
    LocalTransparencyModifier: number;
    /**
     * Sets how many straight segments the beam is made up of.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#Segments)
     */
    Segments: number;
    /**
     * The content ID of the texture to be displayed on the beam.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#Texture)
     */
    Texture: ContentId;
    /**
     * Sets the length of the beam's texture, dependent on `TextureMode`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#TextureLength)
     */
    TextureLength: number;
    /**
     * Determines the manner in which the `Texture` scales and repeats.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#TextureMode)
     */
    TextureMode: Enum.TextureMode;
    /**
     * Determines the speed at which the `Texture` image moves along the beam.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#TextureSpeed)
     */
    TextureSpeed: number;
    /**
     * Determines the transparency of the beam across its segments.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#Transparency)
     */
    Transparency: NumberSequence;
    /**
     * The width of the beam at its origin (`Attachment0`), in studs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#Width0)
     */
    Width0: number;
    /**
     * The width of the beam at its end (`Attachment1`), in studs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#Width1)
     */
    Width1: number;
    /**
     * The distance, in studs, the beam display is offset relative to the `CurrentCamera`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#ZOffset)
     */
    ZOffset: number;
    /**
     * Sets the current offset of the beam's texture cycle.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Beam#SetTextureOffset)
     * @param this Connects two `Attachments` by drawing a texture between them.
     * @param offset The desired offset of the texture cycle.
     */
    SetTextureOffset(this: Beam, offset?: number): void;
}
/**
 * An object which enables custom events through asynchronous one-way communication between scripts on the same side of the client-server boundary. Scripts firing a `BindableEvent` do not yield.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BindableEvent)
 */
interface BindableEvent<T extends Callback = Callback> extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BindableEvent: unique symbol;
    /**
     * Fires the `BindableEvent` which in turn fires the `Event` event.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BindableEvent#Fire)
     * @param this An object which enables custom events through asynchronous one-way communication between scripts on the same side of the client-server boundary. Scripts firing a `BindableEvent` do not yield.
     * @param arguments Values to pass to `Event` events connected to the same `BindableEvent`.
     */
    Fire(this: BindableEvent, ...args: Parameters<T>): void;
    /**
     * Fires when any script calls the `Fire()` method on the same `BindableEvent` instance.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BindableEvent#Event)
     */
    readonly Event: RBXScriptSignal<T>;
}
/**
 * An object which allows for synchronous two-way communication between scripts on the same side of the client-server boundary. Scripts invoking a `BindableFunction` yield until the corresponding callback is found.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BindableFunction)
 */
interface BindableFunction<T extends Callback = Callback> extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BindableFunction: unique symbol;
    /**
     * Invokes the `BindableFunction` which in turn calls the `OnInvoke` callback, returning any values returned by the callback.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BindableFunction#Invoke)
     * @param this An object which allows for synchronous two-way communication between scripts on the same side of the client-server boundary. Scripts invoking a `BindableFunction` yield until the corresponding callback is found.
     * @param arguments Values to pass to the `OnInvoke` callback.
     * @returns Values returned from the `OnInvoke` callback.
     */
    Invoke(this: BindableFunction, ...args: Parameters<T>): ReturnType<T>;
    /**
     * Callback for when the `BindableFunction` is invoked with `Invoke()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BindableFunction#OnInvoke)
     * @param arguments The parameters sent through `Invoke()`.
     * @returns Values returned by the callback function.
     */
    OnInvoke: T | undefined;
}
/**
 * **Deprecated:** This class has been deprecated. See the [mover constraints](../../../physics/mover-constraints.md) article for an overview of `BodyMover` replacements, as well as the [legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
 *
 * Base class for objects that continually exert forces to assemblies.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyMover)
 *
 * @deprecated
 */
interface BodyMover extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BodyMover: unique symbol;
}
/**
 * **Deprecated:** This object is deprecated and should not be used for new work. Use `AngularVelocity` instead, and see the [legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
 *
 * Applies a torque to maintain a constant angular velocity.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyAngularVelocity)
 *
 * @deprecated AngularVelocity
 */
interface BodyAngularVelocity extends BodyMover {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BodyAngularVelocity: unique symbol;
    /**
     * Determines the axis of rotation (direction) and the rotational velocity (magnitude) in radians/s.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyAngularVelocity#AngularVelocity)
     */
    AngularVelocity: Vector3;
    /**
     * Determines the limit of torque that may be exerted on each world axis.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyAngularVelocity#MaxTorque)
     */
    MaxTorque: Vector3;
    /**
     * Determines how aggressive of a torque is applied in reaching the goal angular velocity.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyAngularVelocity#P)
     */
    P: number;
}
/**
 * **Deprecated:** This object is deprecated and should not be used for new work. Use `VectorForce` instead, and see the [legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
 *
 * Applies a constant force to an object.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyForce)
 *
 * @deprecated VectorForce
 */
interface BodyForce extends BodyMover {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BodyForce: unique symbol;
    /**
     * Determines the force exerted on each axis.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyForce#Force)
     */
    Force: Vector3;
}
/**
 * **Deprecated:** This object is deprecated and should not be used for new work. Use `AlignOrientation` instead, and see the [legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
 *
 * Applies a torque to maintain a constant orientation.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyGyro)
 *
 * @deprecated AlignOrientation
 */
interface BodyGyro extends BodyMover {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BodyGyro: unique symbol;
    /**
     * Determines the target orientation (translational component ignored).
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyGyro#CFrame)
     */
    CFrame: CFrame;
    /**
     * Determines the amount of dampening to use in reaching the goal `CFrame`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyGyro#D)
     */
    D: number;
    /**
     * Determines the limit on how much torque that may be applied to each axis.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyGyro#MaxTorque)
     */
    MaxTorque: Vector3;
    /**
     * Determines how aggressive of a torque is applied in reaching the goal orientation.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyGyro#P)
     */
    P: number;
}
/**
 * **Deprecated:** This object is deprecated and should not be used for new work. Use `AlignPosition` instead, and see the [legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
 *
 * Applies a force to maintain a constant position.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyPosition)
 *
 * @deprecated AlignPosition
 */
interface BodyPosition extends BodyMover {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BodyPosition: unique symbol;
    /**
     * Determines the amount of dampening to use in reaching the goal `Position`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyPosition#D)
     */
    D: number;
    /**
     * Determines the limit on how much force that may be applied to each axis.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyPosition#MaxForce)
     */
    MaxForce: Vector3;
    /**
     * Determines how aggressive of a force is applied in reaching the goal position.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyPosition#P)
     */
    P: number;
    /**
     * Determines the goal position towards which force will be applied.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyPosition#Position)
     */
    Position: Vector3;
    /**
     * Returns the last force in the object.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyPosition#GetLastForce)
     * @param this **Deprecated:** This object is deprecated and should not be used for new work. Use `AlignPosition` instead, and see the [legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
     *
     * Applies a force to maintain a constant position.
     */
    GetLastForce(this: BodyPosition): Vector3;
    /**
     * Fired when the Parent of the BodyPosition reaches the desired `BodyPosition.Position` (within .1 studs). Once this event fires it will not fire again until `BodyPosition.Position` is updated.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyPosition#ReachedTarget)
     */
    readonly ReachedTarget: RBXScriptSignal<() => void>;
}
/**
 * **Deprecated:** This object is deprecated and should not be used for new work. Use `VectorForce` instead, and see the [legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
 *
 * Applies a constant force to an object at a specific point.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyThrust)
 *
 * @deprecated VectorForce
 */
interface BodyThrust extends BodyMover {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BodyThrust: unique symbol;
    /**
     * Determines the amount of force exerted on each axis relative to the assembly.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyThrust#Force)
     */
    Force: Vector3;
    /**
     * Determines the relative position where the `Force` is exerted.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyThrust#Location)
     */
    Location: Vector3;
}
/**
 * **Deprecated:** This object is deprecated and should not be used for new work. Use `LinearVelocity` instead, and see the [legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
 *
 * Applies a force to maintain a constant velocity.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyVelocity)
 *
 * @deprecated LinearVelocity
 */
interface BodyVelocity extends BodyMover {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BodyVelocity: unique symbol;
    /**
     * Determines the limit on how much force that may be applied to each axis.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyVelocity#MaxForce)
     */
    MaxForce: Vector3;
    /**
     * Determines how aggressive of a force is applied in reaching the goal velocity.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyVelocity#P)
     */
    P: number;
    /**
     * Determines the goal velocity.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyVelocity#Velocity)
     */
    Velocity: Vector3;
    /**
     * Not implemented and will always return the `0` vector.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyVelocity#GetLastForce)
     * @param this **Deprecated:** This object is deprecated and should not be used for new work. Use `LinearVelocity` instead, and see the [legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
     *
     * Applies a force to maintain a constant velocity.
     */
    GetLastForce(this: BodyVelocity): Vector3;
    /**
     * Returns the last force in the object.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyVelocity#lastForce)
     * @param this **Deprecated:** This object is deprecated and should not be used for new work. Use `LinearVelocity` instead, and see the [legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
     *
     * Applies a force to maintain a constant velocity.
     */
    lastForce(this: BodyVelocity): Vector3;
}
/**
 * **Deprecated:** This object is deprecated and should not be used for new work. Use `LineForce` instead, and see the [legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
 *
 * Applies a force so that an assembly follows and faces a target part.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RocketPropulsion)
 *
 * @deprecated LineForce
 */
interface RocketPropulsion extends BodyMover {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RocketPropulsion: unique symbol;
    /**
     * Determines the tendency of the assembly to face the `Target`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RocketPropulsion#CartoonFactor)
     */
    CartoonFactor: number;
    /**
     * Determines the maximum speed at which the assembly will move toward the `Target`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RocketPropulsion#MaxSpeed)
     */
    MaxSpeed: number;
    /**
     * Determines the maximum amount of thrust that will be exerted to move the assembly.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RocketPropulsion#MaxThrust)
     */
    MaxThrust: number;
    /**
     * Determines the maximum amount of torque that may be exerted to rotate the assembly towards the `Target`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RocketPropulsion#MaxTorque)
     */
    MaxTorque: Vector3;
    /**
     * Determines the object towards which the assembly should follow/face.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RocketPropulsion#Target)
     */
    Target: BasePart | undefined;
    /**
     * Determines the world offset from the `Target` toward which the force/torque is exerted.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RocketPropulsion#TargetOffset)
     */
    TargetOffset: Vector3;
    /**
     * Determines the maximum distance from the `Target` at which the assembly must be in order for `ReachedTarget` to be fired.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RocketPropulsion#TargetRadius)
     */
    TargetRadius: number;
    /**
     * Determines the dampening applied to the assembly in order to prevent it from overshooting the `Target`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RocketPropulsion#ThrustD)
     */
    ThrustD: number;
    /**
     * Determines how aggressive of a force is applied in reaching the `Target`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RocketPropulsion#ThrustP)
     */
    ThrustP: number;
    /**
     * Determines the amount of dampening that to use in reaching the `Target`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RocketPropulsion#TurnD)
     */
    TurnD: number;
    /**
     * Determines how aggressive of a torque is applied in facing the `Target`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RocketPropulsion#TurnP)
     */
    TurnP: number;
    /**
     * Causes the assembly to stop moving toward its `Target`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RocketPropulsion#Abort)
     * @param this **Deprecated:** This object is deprecated and should not be used for new work. Use `LineForce` instead, and see the [legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
     *
     * Applies a force so that an assembly follows and faces a target part.
     */
    Abort(this: RocketPropulsion): void;
    /**
     * Causes the assembly to start moving toward its `Target`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RocketPropulsion#Fire)
     * @param this **Deprecated:** This object is deprecated and should not be used for new work. Use `LineForce` instead, and see the [legacy conversion notes](../../../physics/mover-constraints.md#legacy-mover-conversion).
     *
     * Applies a force so that an assembly follows and faces a target part.
     */
    Fire(this: RocketPropulsion): void;
    /**
     * Fires when the assembly comes within `TargetRadius` of the `Target`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RocketPropulsion#ReachedTarget)
     */
    readonly ReachedTarget: RBXScriptSignal<() => void>;
}
/**
 * Describes the appearance of an avatar body part for the `HumanoidDescription`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyPartDescription)
 */
interface BodyPartDescription extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BodyPartDescription: unique symbol;
    /**
     * The asset ID that should be applied when applying this `BodyPartDescription`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyPartDescription#AssetId)
     */
    AssetId: number;
    /**
     * The type of body part.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyPartDescription#BodyPart)
     */
    BodyPart: Enum.BodyPart;
    /**
     * The `Color3` for this body part.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyPartDescription#Color)
     */
    Color: Color3;
    /**
     * Specifies the head shape identifier to apply to a Dynamic Head when this `BodyPartDescription` is applied.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyPartDescription#HeadShape)
     */
    HeadShape: string;
    /**
     * A reference to the `Instance` that should be applied when applying this `BodyPartDescription`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyPartDescription#Instance)
     */
    Instance: Instance | undefined;
}
/**
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Breakpoint)
 */
interface Breakpoint extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Breakpoint: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BugReporterService)
 */
interface BugReporterService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BugReporterService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BulkImportService)
 */
interface BulkImportService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BulkImportService: unique symbol;
}
/**
 * A variant of the `ContentProvider` that caches assets that have already been received. This service is not used directly, but it is used by the services that inherit from it.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CacheableContentProvider)
 */
interface CacheableContentProvider extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CacheableContentProvider: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlimContentProvider)
 */
interface SlimContentProvider extends CacheableContentProvider {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SlimContentProvider: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CalloutService)
 */
interface CalloutService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CalloutService: unique symbol;
}
/**
 * A service which provides control over screenshot and video capture features.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService)
 */
interface CaptureService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CaptureService: unique symbol;
    /**
     * Takes a screenshot and provides a temporary `contentId` to identify it.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#CaptureScreenshot)
     * @param this A service which provides control over screenshot and video capture features.
     * @param onCaptureReady A callback function that is called with the `contentId` of the new capture once it is ready.
     */
    CaptureScreenshot(this: CaptureService, onCaptureReady: (captureContentId: string) => void): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#GetDeviceInfo)
     */
    GetDeviceInfo(this: CaptureService): object;
    /**
     * Prompts the user to save specified captures to their gallery.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#PromptSaveCapturesToGallery)
     * @param this A service which provides control over screenshot and video capture features.
     * @param captures An array of content IDs and/or `Capture` objects.
     * @param resultCallback A callback function that will be invoked with a dictionary mapping each `contentId` and/or `Capture` object to a boolean indicating if the user accepted saving that capture.
     */
    PromptSaveCapturesToGallery<T extends string>(this: CaptureService, contentIds: Array<T>, resultCallback: (results: Record<T, boolean>) => void): void;
    /**
     * Prompts the user to share a specified capture.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#PromptShareCapture)
     * @param this A service which provides control over screenshot and video capture features.
     * @param captureContent A `Content` containing a `contentId` or `Capture` object.
     * @param launchData An optional string to include as launch data in the invite link.
     * @param onAcceptedCallback An optional callback function invoked if the user accepts sharing.
     * @param onDeniedCallback An optional callback function invoked if the user denies sharing.
     */
    PromptShareCapture(this: CaptureService, contentId: string, launchData: string, onAcceptedCallback: () => void, onDeniedCallback: () => void): void;
    /**
     * Ends a video capture initiated by `StartVideoCaptureAsync()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#StopVideoCapture)
     * @param this A service which provides control over screenshot and video capture features.
     */
    StopVideoCapture(this: CaptureService): void;
    /**
     * Initiates a screenshot capture.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#TakeScreenshotCaptureAsync)
     * @param this A service which provides control over screenshot and video capture features.
     * @param onCaptureReady A callback function that is called on screenshot capture completion with a `ScreenshotCaptureResult` and, if successful, a `ScreenshotCapture`.
     * @param captureParams A dictionary that modifies capture behavior.
     */
    TakeScreenshotCaptureAsync(this: CaptureService, onCaptureReady: Callback, captureParams?: object): void;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#CheckUploadCaptureStatusAsync)
     */
    CheckUploadCaptureStatusAsync(this: CaptureService, token: string): unknown;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#InternalCheckPlayabilityAsync)
     */
    InternalCheckPlayabilityAsync(this: CaptureService, universeId: number): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#InternalGetStartPlaceIdAsync)
     */
    InternalGetStartPlaceIdAsync(this: CaptureService, universeId: number): number;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#PromptCaptureGalleryPermissionAsync)
     * @param this A service which provides control over screenshot and video capture features.
     * @param captureGalleryPermission An `CaptureGalleryPermission` representing the type of access for which the user will be prompted.
     * @returns A boolean representing whether or not the user has allowed access to their captures.
     */
    PromptCaptureGalleryPermissionAsync(this: CaptureService, captureGalleryPermission: CastsToEnum<Enum.CaptureGalleryPermission>): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#ReadCapturesFromGalleryAsync)
     * @param this A service which provides control over screenshot and video capture features.
     * @param captureTypeFilters An array of `CaptureType`.
     * @param readFromAllEligibleExperiences A boolean; default is `false`.
     * @returns Tuple of (result: `ReadCapturesFromGalleryResult`, capturesPages: `CapturesPages`)
     */
    ReadCapturesFromGalleryAsync(this: CaptureService, captureTypeFilters?: Array<unknown>, readFromAllEligibleExperiences?: boolean): unknown;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#StartUploadCaptureAsync)
     */
    StartUploadCaptureAsync(this: CaptureService, capture: Capture): unknown;
    /**
     * Initiates a video capture recording.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#StartVideoCaptureAsync)
     * @param this A service which provides control over screenshot and video capture features.
     * @param onCaptureReady A callback function that is called on video capture completion with a `VideoCaptureResult` and, if successful, a `VideoCapture`.
     * @param captureParams
     */
    StartVideoCaptureAsync(this: CaptureService, onCaptureReady: Callback, captureParams?: object): Enum.VideoCaptureStartedResult;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#UploadCaptureAsync)
     * @param this A service which provides control over screenshot and video capture features.
     * @param capture The `Capture` to upload.
     * @returns Tuple of (result: `UploadCaptureResult`, assetId: `number`)
     */
    UploadCaptureAsync(this: CaptureService, capture: Capture): unknown;
    /**
     * Fires immediately before a capture begins.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#CaptureBegan)
     */
    readonly CaptureBegan: RBXScriptSignal<(captureType: Enum.CaptureType) => void>;
    /**
     * Fires after a capture finishes.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#CaptureEnded)
     */
    readonly CaptureEnded: RBXScriptSignal<(captureType: Enum.CaptureType) => void>;
    /**
     * **Deprecated:** This event has been superseded by the `UserCaptureSaved` event.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#CaptureSaved)
     *
     * @deprecated UserCaptureSaved
     */
    readonly CaptureSaved: RBXScriptSignal<(captureInfo: Record<string, unknown>) => void>;
    /**
     * Fires when the user saves a capture.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CaptureService#UserCaptureSaved)
     */
    readonly UserCaptureSaved: RBXScriptSignal<(captureContentId: ContentId) => void>;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChangeHistoryStreamingService)
 */
interface ChangeHistoryStreamingService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ChangeHistoryStreamingService: unique symbol;
}
/**
 * The base class for objects that change the character's appearance, such as the `BodyColors`, `CharacterMesh`, `ShirtGraphic`, `Pants` and `Shirt` objects.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CharacterAppearance)
 */
interface CharacterAppearance extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CharacterAppearance: unique symbol;
}
/**
 * For a Humanoid character, the BodyColors will specify the colors for the different body parts.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyColors)
 */
interface BodyColors extends CharacterAppearance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BodyColors: unique symbol;
    /**
     * Sets the color of the head, as a `BrickColor`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyColors#HeadColor)
     */
    HeadColor: BrickColor;
    /**
     * Sets the color of the head, as a `Color3`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyColors#HeadColor3)
     */
    HeadColor3: Color3;
    /**
     * Sets the color of the left arm, as a `BrickColor`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyColors#LeftArmColor)
     */
    LeftArmColor: BrickColor;
    /**
     * Sets the color of the left arm, as a `Color3`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyColors#LeftArmColor3)
     */
    LeftArmColor3: Color3;
    /**
     * Sets the color of the left leg, as a `BrickColor`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyColors#LeftLegColor)
     */
    LeftLegColor: BrickColor;
    /**
     * Sets the color of the left leg, as a `Color3`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyColors#LeftLegColor3)
     */
    LeftLegColor3: Color3;
    /**
     * Sets the color of the right arm, as a `BrickColor`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyColors#RightArmColor)
     */
    RightArmColor: BrickColor;
    /**
     * Sets the color of the right arm, as a `Color3`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyColors#RightArmColor3)
     */
    RightArmColor3: Color3;
    /**
     * Sets the color of the right leg, as a `BrickColor`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyColors#RightLegColor)
     */
    RightLegColor: BrickColor;
    /**
     * Sets the color of the right leg, as a `Color3`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyColors#RightLegColor3)
     */
    RightLegColor3: Color3;
    /**
     * Sets the color of the torso, as a `BrickColor`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyColors#TorsoColor)
     */
    TorsoColor: BrickColor;
    /**
     * Sets the color of the torso, as a `Color3`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BodyColors#TorsoColor3)
     */
    TorsoColor3: Color3;
}
/**
 * Modifies the appearance of an R6 body part.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CharacterMesh)
 */
interface CharacterMesh extends CharacterAppearance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CharacterMesh: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CharacterMesh#BaseTextureContent)
     */
    BaseTextureContent: Content;
    /**
     * The texture of a CharacterMesh. It can be overridden by Shirts, Pants, T-Shirts, and the `CharacterMesh.OverlayTextureId` property.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CharacterMesh#BaseTextureId)
     */
    BaseTextureId: number;
    /**
     * The part of the Character's body that is affected.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CharacterMesh#BodyPart)
     */
    BodyPart: Enum.BodyPart;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CharacterMesh#MeshContent)
     */
    MeshContent: Content;
    /**
     * Used to load a mesh file, and apply it to the given BodyPart.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CharacterMesh#MeshId)
     */
    MeshId: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CharacterMesh#OverlayTextureContent)
     */
    OverlayTextureContent: Content;
    /**
     * The assetId of the overlay texture. The overlay covers Shirts, Pants, T-Shirts, and the `CharacterMesh.BaseTextureId`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CharacterMesh#OverlayTextureId)
     */
    OverlayTextureId: number;
}
/**
 * Clothing is the base class for the `Shirt` and `Pants` clothing objects.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Clothing)
 */
interface Clothing extends CharacterAppearance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Clothing: unique symbol;
    /**
     * Determines the colorization to be applied to the `Clothing` texture.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Clothing#Color3)
     */
    Color3: Color3;
}
/**
 * Displays a Pants texture from the Roblox website to display on a `Humanoid` rig.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Pants)
 */
interface Pants extends Clothing {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Pants: unique symbol;
    /**
     * Determines the texture of the `Pants`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Pants#PantsTemplate)
     */
    PantsTemplate: ContentId;
}
/**
 * Displays a shirt texture on a `Humanoid` rig.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Shirt)
 */
interface Shirt extends Clothing {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Shirt: unique symbol;
    /**
     * Determines the texture of the `Shirt`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Shirt#ShirtTemplate)
     */
    ShirtTemplate: ContentId;
}
/**
 * Applies a texture to the front surface of a character's torso, used to display t-shirts.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ShirtGraphic)
 */
interface ShirtGraphic extends CharacterAppearance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ShirtGraphic: unique symbol;
    /**
     * Determines the colorization to be applied to the `ShirtGraphic` texture.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ShirtGraphic#Color3)
     */
    Color3: Color3;
    /**
     * The content ID link pointing to the `ShirtGraphic` texture hosted on the Roblox website. This property sets the texture associated with a t-shirt.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ShirtGraphic#Graphic)
     */
    Graphic: ContentId;
}
/**
 * Houses the Luau code responsible for running the legacy chat system.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Chat)
 */
interface Chat extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Chat: unique symbol;
    /**
     * Determines whether player's chat messages will appear above their in-game avatar.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Chat#BubbleChatEnabled)
     */
    BubbleChatEnabled: boolean;
    /**
     * Toggles whether the default chat framework should be automatically loaded when the game runs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Chat#LoadDefaultChat)
     */
    get LoadDefaultChat(): boolean;
    /**
     * Fires the `Chat.Chatted` event with the parameters specified in this method.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Chat#Chat)
     * @param this Houses the Luau code responsible for running the legacy chat system.
     * @param partOrCharacter An instance that is the part or character which the *BubbleChat* dialog should appear above.
     * @param message The message string being chatted.
     * @param color An `ChatColor` specifying the color of the chatted message.
     */
    Chat(this: Chat, partOrCharacter: Instance, message: string, color?: CastsToEnum<Enum.ChatColor>): void;
    /**
     * Invoke a chat callback function registered by `RegisterChatCallback`. Used by the Luau Chat System.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Chat#InvokeChatCallback)
     * @param this Houses the Luau code responsible for running the legacy chat system.
     * @param callbackType The type of callback to invoke.
     * @param callbackArguments The arguments that will be sent to the registered callback function.
     * @returns The values returned by the function registered to the given ChatCallbackType.
     */
    InvokeChatCallback(this: Chat, callbackType: CastsToEnum<Enum.ChatCallbackType>, callbackArguments: unknown): unknown;
    /**
     * Register a function to be called upon the invocation of some chat system event (`InvokeChatCallback`).
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Chat#RegisterChatCallback)
     * @param this Houses the Luau code responsible for running the legacy chat system.
     * @param callbackType The callback to which the function shall be registered (this determines in what way the function is called).
     * @param callbackFunction The function to call when the callback is invoked using Chat:InvokeChatCallback.
     */
    RegisterChatCallback(this: Chat, callbackType: CastsToEnum<Enum.ChatCallbackType>, callbackFunction: Callback): void;
    /**
     * Customizes various settings of the in-game bubble chat.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Chat#SetBubbleChatSettings)
     * @param this Houses the Luau code responsible for running the legacy chat system.
     * @param settings A settings table.
     */
    SetBubbleChatSettings(this: Chat, settings: unknown): void;
    /**
     * Will return false if the player with the specified `Player.UserId` is not allowed to chat because of their account settings.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Chat#CanUserChatAsync)
     * @param this Houses the Luau code responsible for running the legacy chat system.
     * @param userId
     */
    CanUserChatAsync(this: Chat, userId: number): boolean;
    /**
     * Will return false if the two users cannot communicate because their account settings do not allow it.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Chat#CanUsersChatAsync)
     * @param this Houses the Luau code responsible for running the legacy chat system.
     * @param userIdFrom
     * @param userIdTo
     */
    CanUsersChatAsync(this: Chat, userIdFrom: number, userIdTo: number): boolean;
    /**
     * Filters a string sent from a player to another player using filtering that is appropriate to the players' account settings.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Chat#FilterStringAsync)
     * @param this Houses the Luau code responsible for running the legacy chat system.
     * @param stringToFilter The raw string to be filtered, exactly as entered by the player.
     * @param playerFrom The author of the text.
     * @param playerTo The intended recipient of the provided text; use the author if the text is persistent (see description).
     */
    FilterStringAsync(this: Chat, stringToFilter: string, playerFrom: Player, playerTo: Player): string;
    /**
     * Filters a string sent from a player meant for broadcast to no particular target. More restrictive than `Chat:FilterStringAsync()`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Chat#FilterStringForBroadcast)
     * @param this Houses the Luau code responsible for running the legacy chat system.
     * @param stringToFilter Message string being filtered.
     * @param playerFrom Instance of the player sending the message.
     * @returns Filtered message string.
     */
    FilterStringForBroadcast(this: Chat, stringToFilter: string, playerFrom: Player): string;
    /**
     * **Deprecated:** This item has been superseded by `Chat:FilterStringAsync()` and `Chat:FilterStringForBroadcast()` which should be used in all new work
     *
     * Filters a string appropriate to the given player's age settings, so they see what is appropriate to them.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Chat#FilterStringForPlayerAsync)
     * @param this Houses the Luau code responsible for running the legacy chat system.
     * @param stringToFilter String being filtered.
     * @param playerToFilterFor Player that the string is being filtered for.
     * @returns Filtered string result.
     *
     * @deprecated FilterStringAsync
     */
    FilterStringForPlayerAsync(this: Chat, stringToFilter: string, playerToFilterFor: Player): string;
    /**
     * Fires when `Chat:Chat()` is called.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Chat#Chatted)
     */
    readonly Chatted: RBXScriptSignal<(part: BasePart, message: string, color: Enum.ChatColor) => void>;
}
/**
 * An object that provides user input on in-experience `BaseParts` and `Models`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ClickDetector)
 */
interface ClickDetector extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ClickDetector: unique symbol;
    /**
     * Sets the cursor icon to display when the mouse is hovered over the parent of this `ClickDetector` or `DragDetector`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ClickDetector#CursorIcon)
     */
    CursorIcon: ContentId;
    /**
     * Sets the cursor icon to display when the mouse is hovered over the parent of this `ClickDetector` or `DragDetector`. Only supports asset URIs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ClickDetector#CursorIconContent)
     */
    CursorIconContent: Content;
    /**
     * Maximum distance between a character and the `ClickDetector` or `DragDetector` for the player to be able to interact with it.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ClickDetector#MaxActivationDistance)
     */
    MaxActivationDistance: number;
    /**
     * Fires when a player interacts with the parent of a `ClickDetector` or `DragDetector`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ClickDetector#MouseClick)
     */
    readonly MouseClick: RBXScriptSignal<(playerWhoClicked: Player) => void>;
    /**
     * Fires when the parent of a `ClickDetector` or `DragDetector` is hovered over by a player.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ClickDetector#MouseHoverEnter)
     */
    readonly MouseHoverEnter: RBXScriptSignal<(playerWhoHovered: Player) => void>;
    /**
     * Fires when a player's cursor hovers off the parent of a `ClickDetector` or `DragDetector`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ClickDetector#MouseHoverLeave)
     */
    readonly MouseHoverLeave: RBXScriptSignal<(playerWhoHovered: Player) => void>;
    /**
     * Fires when a player right clicks their mouse cursor on a `ClickDetector` or `DragDetector`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ClickDetector#RightMouseClick)
     */
    readonly RightMouseClick: RBXScriptSignal<(playerWhoClicked: Player) => void>;
}
/**
 * Instance which facilitates and encourages interaction with 3D objects in an experience.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector)
 */
interface DragDetector extends ClickDetector {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DragDetector: unique symbol;
    /**
     * Sets the cursor icon to display when the mouse is activated over the parent of this `DragDetector`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#ActivatedCursorIcon)
     */
    ActivatedCursorIcon: ContentId;
    /**
     * Sets the cursor icon to display when the mouse is activated over the parent of this `DragDetector`. Only supports asset URIs
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#ActivatedCursorIconContent)
     */
    ActivatedCursorIconContent: Content;
    /**
     * Whether constraint force is applied to the object's center of mass.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#ApplyAtCenterOfMass)
     */
    ApplyAtCenterOfMass: boolean;
    /**
     * The primary axis of motion, expressed relative to the reference frame.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#Axis)
     */
    Axis: Vector3;
    /**
     * The `CFrame` of the pivot, dependent on the drag detector's `ReferenceInstance`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#DragFrame)
     */
    DragFrame: CFrame;
    /**
     * The paradigm used to generate proposed motion.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#DragStyle)
     */
    DragStyle: Enum.DragDetectorDragStyle;
    /**
     * Whether the `DragDetector` responds to user input.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#Enabled)
     */
    Enabled: boolean;
    /**
     * During gamepad input, the modifier `KeyCode` for the secondary mode of motion.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#GamepadModeSwitchKeyCode)
     */
    GamepadModeSwitchKeyCode: Enum.KeyCode;
    /**
     * During keyboard input, the modifier `KeyCode` for the secondary mode of motion.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#KeyboardModeSwitchKeyCode)
     */
    KeyboardModeSwitchKeyCode: Enum.KeyCode;
    /**
     * Along with `MinDragAngle`, impedes the drag detector's attempts to generate motion.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#MaxDragAngle)
     */
    MaxDragAngle: number;
    /**
     * Along with `MinDragTranslation`, impedes the drag detector's attempts to generate motion.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#MaxDragTranslation)
     */
    MaxDragTranslation: Vector3;
    /**
     * Maximum force applied for the object to reach its goal.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#MaxForce)
     */
    MaxForce: number;
    /**
     * Maximum torque applied for the object to reach its goal.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#MaxTorque)
     */
    MaxTorque: number;
    /**
     * Along with `MaxDragAngle`, impedes the drag detector's attempts to generate motion.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#MinDragAngle)
     */
    MinDragAngle: number;
    /**
     * Along with `MaxDragTranslation`, impedes the drag detector's attempts to generate motion.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#MinDragTranslation)
     */
    MinDragTranslation: Vector3;
    /**
     * Specifies the **YXZ** rotation of axes of motion relative to the reference frame.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#Orientation)
     */
    Orientation: Vector3;
    /**
     * Controls the permission level for which players can interact with the `DragDetector`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#PermissionPolicy)
     */
    PermissionPolicy: Enum.DragDetectorPermissionPolicy;
    /**
     * An instance whose `CFrame` is the reference frame for the drag detector.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#ReferenceInstance)
     */
    ReferenceInstance: Instance | undefined;
    /**
     * The paradigm used to move, or not move, the objects affected by the drag detector.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#ResponseStyle)
     */
    ResponseStyle: Enum.DragDetectorResponseStyle;
    /**
     * Higher values cause the object to reach its goal more rapidly.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#Responsiveness)
     */
    Responsiveness: number;
    /**
     * Whether user input on a `DragDetector` replicates to the server or remains local to the specific client.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#RunLocally)
     */
    RunLocally: boolean;
    /**
     * The secondary axis of the motion.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#SecondaryAxis)
     */
    SecondaryAxis: Vector3;
    /**
     * If `DragStyle` is `DragDetectorDragStyle.RotateTrackball`, multiplier for adding a radial pull rotation as a contribution to the total.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#TrackballRadialPullFactor)
     */
    TrackballRadialPullFactor: number;
    /**
     * If `DragStyle` is `DragDetectorDragStyle.RotateTrackball`, multiplier for adding roll rotation to the total.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#TrackballRollFactor)
     */
    TrackballRollFactor: number;
    /**
     * During VR input, the modifier `KeyCode` for the secondary mode of motion.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#VRSwitchKeyCode)
     */
    VRSwitchKeyCode: Enum.KeyCode;
    /**
     * The `Axis` expressed in world space.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#WorldAxis)
     */
    WorldAxis: Vector3;
    /**
     * The `SecondaryAxis` expressed in world space.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#WorldSecondaryAxis)
     */
    WorldSecondaryAxis: Vector3;
    /**
     * Adds a function to modify or constrain proposed motion.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#AddConstraintFunction)
     * @param this Instance which facilitates and encourages interaction with 3D objects in an experience.
     * @param priority The order of priority for functions added via this method. Higher values take precedence over lower values.
     * @param function Function for modifying or constraining proposed motion. This function takes an input `CFrame` of **proposed** motion and returns a `CFrame` of **modified** or unmodified motion, both relative to the reference frame.
     * @returns Use this connection object to remove the constraint function.
     */
    AddConstraintFunction(this: DragDetector, priority: number, callback: Callback): RBXScriptConnection;
    /**
     * Returns the reference `CFrame` in which motion is expressed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#GetReferenceFrame)
     * @param this Instance which facilitates and encourages interaction with 3D objects in an experience.
     * @returns The reference `CFrame` in which motion is expressed.
     */
    GetReferenceFrame(this: DragDetector): CFrame;
    /**
     * May be invoked from a script to restart the drag using new parameters.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#RestartDrag)
     * @param this Instance which facilitates and encourages interaction with 3D objects in an experience.
     */
    RestartDrag(this: DragDetector): void;
    /**
     * Passes a function to be used if and only if `DragStyle` is set to `DragDetectorDragStyle.Scriptable`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#SetDragStyleFunction)
     * @param this Instance which facilitates and encourages interaction with 3D objects in an experience.
     * @param function Function for monitoring `DragContinue` signals. This function receives the signal's world space cursor ray and it returns a `CFrame` containing the desired location and orientation of the pivot in world space. If this function returns `nil`, the object will not be moved.
     */
    SetDragStyleFunction(this: DragDetector, callback: Callback): void;
    /**
     * Passes a function to be used if and only if `PermissionPolicy` is set to `DragDetectorPermissionPolicy.Scriptable`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#SetPermissionPolicyFunction)
     * @param this Instance which facilitates and encourages interaction with 3D objects in an experience.
     * @param function Function for setting the detector's interactivity. This function accepts a `Player` parameter for enabling/disabling the detector for a specific player. It also receives a `part` parameter indicating which specific `BasePart` was clicked, such as one part within a draggable `Model`; this is useful for enabling/disabling the detector based on that part's `Name`, `Color`, `HasTag()` value, or other details.
     */
    SetPermissionPolicyFunction(this: DragDetector, callback: Callback): void;
    /**
     * Fires when a user continues dragging the object after `DragStart` has been initiated.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#DragContinue)
     */
    readonly DragContinue: RBXScriptSignal<(playerWhoDragged: Player, cursorRay: Ray, viewFrame: CFrame, vrInputFrame: CFrame | undefined, isModeSwitchKeyDown: boolean) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#DragContinueReplicate)
     */
    readonly DragContinueReplicate: RBXScriptSignal<(playerWhoDragged: Player, cursorRay: Ray, viewFrame: CFrame, vrInputFrame: CFrame | undefined, isModeSwitchKeyDown: boolean) => void>;
    /**
     * Fires when a user stops dragging the object.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#DragEnd)
     */
    readonly DragEnd: RBXScriptSignal<(playerWhoDragged: Player) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#DragEndReplicate)
     */
    readonly DragEndReplicate: RBXScriptSignal<(playerWhoDragged: Player) => void>;
    /**
     * Fires when a user starts dragging the object.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#DragStart)
     */
    readonly DragStart: RBXScriptSignal<(playerWhoDragged: Player, cursorRay: Ray, viewFrame: CFrame, hitFrame: CFrame, clickedPart: BasePart, vrInputFrame: CFrame | undefined, isModeSwitchKeyDown: boolean) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#DragStartReplicate)
     */
    readonly DragStartReplicate: RBXScriptSignal<(playerWhoDragged: Player, cursorRay: Ray, viewFrame: CFrame, hitFrame: CFrame, clickedPart: BasePart, vrInputFrame: CFrame | undefined, isModeSwitchKeyDown: boolean) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DragDetector#RestartPhysicalDragReplicate)
     */
    readonly RestartPhysicalDragReplicate: RBXScriptSignal<(hitPoint: Vector3) => void>;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CloudCRUDService)
 */
interface CloudCRUDService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CloudCRUDService: unique symbol;
}
/**
 * Renders realistic clouds that drift slowly across the sky.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Clouds)
 */
interface Clouds extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Clouds: unique symbol;
    /**
     * Controls the material color of cloud particles.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Clouds#Color)
     */
    Color: Color3;
    /**
     * Defines the cloud cover within the overall skyscape layer.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Clouds#Cover)
     */
    Cover: number;
    /**
     * Controls the particulate density of clouds.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Clouds#Density)
     */
    Density: number;
    /**
     * Toggles rendering of the `Clouds` object.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Clouds#Enabled)
     */
    Enabled: boolean;
}
/**
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Collaborator)
 */
interface Collaborator extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Collaborator: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Collaborator#CFrame)
     */
    CFrame: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Collaborator#CollaboratorColor)
     *
     * @deprecated CollaboratorColor3
     */
    CollaboratorColor: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Collaborator#CollaboratorColor3)
     */
    CollaboratorColor3: Color3;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Collaborator#CurDocGUID)
     */
    CurDocGUID: string;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Collaborator#CurScriptLineNumber)
     */
    CurScriptLineNumber: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Collaborator#IsIdle)
     */
    IsIdle: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Collaborator#Status)
     */
    Status: Enum.CollaboratorStatus;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Collaborator#UserId)
     */
    UserId: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Collaborator#Username)
     */
    Username: string;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CollaboratorsService)
 */
interface CollaboratorsService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CollaboratorsService: unique symbol;
}
/**
 * A service which manages instance collections using assigned tags.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CollectionService)
 */
interface CollectionService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CollectionService: unique symbol;
    /**
     * Applies a tag to an `Instance`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CollectionService#AddTag)
     * @param this A service which manages instance collections using assigned tags.
     * @param instance
     * @param tag
     */
    AddTag(this: CollectionService, instance: Instance, tag: string): void;
    AddTag(this: Instance, tag: string): void;
    /**
     * Returns an array of all tags in the experience.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CollectionService#GetAllTags)
     * @param this A service which manages instance collections using assigned tags.
     */
    GetAllTags(this: CollectionService): Array<string>;
    /**
     * Returns a signal that fires when a given tag is added to an instance.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CollectionService#GetInstanceAddedSignal)
     * @param this A service which manages instance collections using assigned tags.
     * @param tag The tag to watch for.
     * @returns An event that fires when you add the tag to an instance.
     */
    GetInstanceAddedSignal(this: CollectionService, tag: string): RBXScriptSignal<(instance: Instance) => void>;
    /**
     * Returns a signal that fires when a given tag is removed from an instance.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CollectionService#GetInstanceRemovedSignal)
     * @param this A service which manages instance collections using assigned tags.
     * @param tag The tag to watch for.
     * @returns An event that fires when you remove the tag from an instance.
     */
    GetInstanceRemovedSignal(this: CollectionService, tag: string): RBXScriptSignal<(instance: Instance) => void>;
    /**
     * Returns an array of instances in the game with a given tag.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CollectionService#GetTagged)
     * @param this A service which manages instance collections using assigned tags.
     * @param tag The tag to search for.
     * @returns An array of all instances with the tag.
     */
    GetTagged(this: CollectionService, tag: string): Array<Instance>;
    /**
     * Gets an array of all tags applied to a given instance.
     *
     * - **ThreadSafety**: Safe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CollectionService#GetTags)
     * @param this A service which manages instance collections using assigned tags.
     * @param instance The instance whose tags should be returned.
     * @returns An array of strings which are the tags applied to the given instance.
     */
    GetTags(this: CollectionService, instance: Instance): Array<string>;
    GetTags(this: Instance): Array<string>;
    /**
     * Check whether an instance has a given tag.
     *
     * - **ThreadSafety**: Safe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CollectionService#HasTag)
     * @param this A service which manages instance collections using assigned tags.
     * @param instance The instance to check for the presence of a tag.
     * @param tag The tag to check for.
     * @returns Whether the instance has the tag.
     */
    HasTag(this: CollectionService, instance: Instance, tag: string): boolean;
    HasTag(this: Instance, tag: string): boolean;
    /**
     * Removes a tag from an instance.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CollectionService#RemoveTag)
     * @param this A service which manages instance collections using assigned tags.
     * @param instance The instance to remove the tag from.
     * @param tag The tag to remove from the instance.
     */
    RemoveTag(this: CollectionService, instance: Instance, tag: string): void;
    RemoveTag(this: Instance, tag: string): void;
    /**
     * **Deprecated:** This item has been superseded by a `CollectionService` tagging method. There is currently no means of checking when a tag is added.
     *
     * Fires when a `Configuration`, `CustomEvent`, `CustomEventReceiver`, `Dialog`, or `VehicleSeat` is added to the `DataModel`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CollectionService#ItemAdded)
     *
     * @deprecated GetInstanceAddedSignal
     */
    readonly ItemAdded: RBXScriptSignal<(instance: Instance) => void>;
    /**
     * **Deprecated:** This item has been superseded by a `CollectionService` tagging method. There is currently no means of checking when a tag is removed.
     *
     * Fires when a `Configuration`, `CustomEvent`, `CustomEventReceiver`, `Dialog`, or `VehicleSeat` is removed from the `DataModel`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CollectionService#ItemRemoved)
     *
     * @deprecated GetInstanceRemovedSignal
     */
    readonly ItemRemoved: RBXScriptSignal<(instance: Instance) => void>;
    /**
     * Fires when a tag is added to an instance and the added tag is the only occurrence of that tag in the place.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CollectionService#TagAdded)
     */
    readonly TagAdded: RBXScriptSignal<(tag: string) => void>;
    /**
     * Fires when a tag is removed from an instance and the removed tag is no longer used anywhere in the place.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CollectionService#TagRemoved)
     */
    readonly TagRemoved: RBXScriptSignal<(tag: string) => void>;
}
/**
 * Supports real-world purchases that you can bundle with digital benefits.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CommerceService)
 */
interface CommerceService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CommerceService: unique symbol;
    /**
     * Prompts a user to purchase a commerce product using the provided `commerceProductId`. Opens a webview that guides the user through the purchasing flow.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CommerceService#PromptCommerceProductPurchase)
     * @param this Supports real-world purchases that you can bundle with digital benefits.
     * @param user
     * @param commerceProductId
     */
    PromptCommerceProductPurchase(this: CommerceService, user: Player, commerceProductId: string): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CommerceService#PromptRealWorldCommerceBrowser)
     * @param this Supports real-world purchases that you can bundle with digital benefits.
     * @param player
     * @param url
     */
    PromptRealWorldCommerceBrowser(this: CommerceService, player: Player, url: string): void;
    /**
     * Retrieves information about the commerce products you are selling in experience.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CommerceService#GetCommerceProductInfoAsync)
     * @param this Supports real-world purchases that you can bundle with digital benefits.
     * @param commerceProductId
     */
    GetCommerceProductInfoAsync(this: CommerceService, commerceProductId: string): object;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CommerceService#UserEligibleForRealWorldCommerceAsync)
     * @param this Supports real-world purchases that you can bundle with digital benefits.
     */
    UserEligibleForRealWorldCommerceAsync(this: CommerceService): boolean;
    /**
     * Fires when commerce purchase webview has closed - not an indicator that a purchase was successful.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CommerceService#PromptCommerceProductPurchaseFinished)
     */
    readonly PromptCommerceProductPurchaseFinished: RBXScriptSignal<(user: Player, productId: string) => void>;
}
/**
 * An animation curve that groups child `FloatCurves` which each animate a different component of a non-unary value.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CompositeValueCurve)
 */
interface CompositeValueCurve extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CompositeValueCurve: unique symbol;
    /**
     * The type of value animated by this `CompositeValueCurve`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CompositeValueCurve#CurveType)
     */
    CurveType: Enum.CompositeValueCurveType;
    /**
     * Returns the child curves with the given names for the `CurveType` of this `CompositeValueCurve`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CompositeValueCurve#GetComponentCurves)
     * @param this An animation curve that groups child `FloatCurves` which each animate a different component of a non-unary value.
     */
    GetComponentCurves(this: CompositeValueCurve): Array<Instance>;
    /**
     * Returns the sampled animated value at the passed `time` argument.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CompositeValueCurve#GetValueAtTime)
     * @param this An animation curve that groups child `FloatCurves` which each animate a different component of a non-unary value.
     * @param time Time at which to get the value.
     * @returns The value of the curve at the passed time.
     */
    GetValueAtTime(this: CompositeValueCurve, time: number): unknown;
}
/**
 * A game service that gives access to in-experience configuration with updates in real time.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConfigService)
 */
interface ConfigService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ConfigService: unique symbol;
    /**
     * Clears current testing value for the given key.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConfigService#ClearTestingValue)
     * @param this A game service that gives access to in-experience configuration with updates in real time.
     * @param key Key of the configuration to clear testing value for.
     */
    ClearTestingValue(this: ConfigService, key: string): void;
    /**
     * Sets a testing override for the given key.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConfigService#SetTestingValue)
     * @param this A game service that gives access to in-experience configuration with updates in real time.
     * @param key Key of the configuration to override with a testing value.
     * @param value Value to set as the testing override.
     */
    SetTestingValue(this: ConfigService, key: string, value: unknown): void;
    /**
     * Retrieves a snapshot of the latest configuration.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConfigService#GetConfigAsync)
     * @param this A game service that gives access to in-experience configuration with updates in real time.
     * @returns A `ConfigSnapshot` instance with the latest configuration.
     */
    GetConfigAsync(this: ConfigService): ConfigSnapshot;
    /**
     * Retrieves a snapshot of the latest configuration for a specific player.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConfigService#GetConfigForPlayerAsync)
     * @param this A game service that gives access to in-experience configuration with updates in real time.
     * @param player The player to get the configuration for.
     * @returns A `ConfigSnapshot` instance with the latest configuration targeted to the player.
     */
    GetConfigForPlayerAsync(this: ConfigService, player: Player): ConfigSnapshot;
}
/**
 * The Configuration object is a container object that is designed to hold value objects to make values used in `Tools` or any model using `Scripts` more accessible.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Configuration)
 */
interface Configuration extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Configuration: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConfigureServerService)
 */
interface ConfigureServerService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ConfigureServerService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConnectivityService)
 */
interface ConnectivityService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ConnectivityService: unique symbol;
}
/**
 * The base class for constraint-based objects.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Constraint)
 */
interface Constraint extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Constraint: unique symbol;
    /**
     * Indicates if the constraint is currently active in the world.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Constraint#Active)
     */
    readonly Active: boolean;
    /**
     * The `Attachment` that is connected to `Constraint.Attachment1`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Constraint#Attachment0)
     */
    Attachment0: Attachment | undefined;
    /**
     * The `Attachment` that is connected to `Constraint.Attachment0`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Constraint#Attachment1)
     */
    Attachment1: Attachment | undefined;
    /**
     * The color of the constraint.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Constraint#Color)
     */
    Color: BrickColor;
    /**
     * Toggles whether or not the constraint is enabled.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Constraint#Enabled)
     */
    Enabled: boolean;
    /**
     * Toggles the constraint's visibility.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Constraint#Visible)
     */
    Visible: boolean;
    /**
     * **Deprecated:** This method should not be used in new work.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Constraint#GetDebugAppliedForce)
     * @param this The base class for constraint-based objects.
     * @param bodyId
     *
     * @deprecated
     */
    GetDebugAppliedForce(this: Constraint, bodyId: number): Vector3;
    /**
     * **Deprecated:** This method should not be used in new work.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Constraint#GetDebugAppliedTorque)
     * @param this The base class for constraint-based objects.
     * @param bodyId
     *
     * @deprecated
     */
    GetDebugAppliedTorque(this: Constraint, bodyId: number): Vector3;
}
/**
 * Constraint which applies torque to align two attachments, or to align one attachment with a goal orientation.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignOrientation)
 */
interface AlignOrientation extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AlignOrientation: unique symbol;
    /**
     * The constraint's axis alignment type.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignOrientation#AlignType)
     */
    AlignType: Enum.AlignType;
    /**
     * The `CFrame` orientation with which the constraint will attempt to match the orientation of `Attachment0`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignOrientation#CFrame)
     */
    CFrame: CFrame;
    /**
     * A `Vector3` world space location toward which the primary axis will attempt to align.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignOrientation#LookAtPosition)
     */
    LookAtPosition: Vector3;
    /**
     * Maximum angular velocity the constraint can use to reach its goal.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignOrientation#MaxAngularVelocity)
     */
    MaxAngularVelocity: number;
    /**
     * Maximum torque the constraint can use to reach its goal.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignOrientation#MaxTorque)
     */
    MaxTorque: number;
    /**
     * Whether the constraint uses one or two attachments in calculating its goal.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignOrientation#Mode)
     */
    Mode: Enum.OrientationAlignmentMode;
    /**
     * The direction of the goal's **X** axis, represented as a unit `Vector3`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignOrientation#PrimaryAxis)
     */
    PrimaryAxis: Vector3;
    /**
     * Determines how the constraint's axes are affected by torque.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignOrientation#PrimaryAxisOnly)
     */
    PrimaryAxisOnly: boolean;
    /**
     * Whether the constraint applies torque only to `Attachment0`, or to both attachments in equal and opposite directions.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignOrientation#ReactionTorqueEnabled)
     */
    ReactionTorqueEnabled: boolean;
    /**
     * Controls how quickly the constraint reaches its goal. Higher values cause the attachment(s) to align more rapidly.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignOrientation#Responsiveness)
     */
    Responsiveness: number;
    /**
     * Whether torque is dependent on other properties, or if the physics solver reacts as quickly as possible to complete the alignment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignOrientation#RigidityEnabled)
     */
    RigidityEnabled: boolean;
    /**
     * The direction of the goal's **Y** axis, represented as a unit `Vector3`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignOrientation#SecondaryAxis)
     */
    SecondaryAxis: Vector3;
}
/**
 * Constraint which applies force to move two attachments together, or to move one attachment to a goal position.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignPosition)
 */
interface AlignPosition extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AlignPosition: unique symbol;
    /**
     * Whether force is applied to the parent of `Attachment0` at that attachment's location, or at the parents' center of mass.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignPosition#ApplyAtCenterOfMass)
     */
    ApplyAtCenterOfMass: boolean;
    /**
     * Determines how the constraint force will be limited. Only used if `RigidityEnabled` is `false`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignPosition#ForceLimitMode)
     */
    ForceLimitMode: Enum.ForceLimitMode;
    /**
     * Determines the axes that the constraint uses to limit the force. Only applies when `RigidityEnabled` is `false` and `AlignPosition.ForceLimitMode` is `PerAxis`. .
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignPosition#ForceRelativeTo)
     */
    ForceRelativeTo: Enum.ActuatorRelativeTo;
    /**
     * Maximum force along each axis that the constraint can apply to achieve its goal.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignPosition#MaxAxesForce)
     */
    MaxAxesForce: Vector3;
    /**
     * Maximum force magnitude the constraint can apply to achieve its goal.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignPosition#MaxForce)
     */
    MaxForce: number;
    /**
     * Maximum speed the attachments can move when converging.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignPosition#MaxVelocity)
     */
    MaxVelocity: number;
    /**
     * Whether the constraint uses one or two attachments in calculating its goal.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignPosition#Mode)
     */
    Mode: Enum.PositionAlignmentMode;
    /**
     * The position to which the constraint should move its `Attachment0`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignPosition#Position)
     */
    Position: Vector3;
    /**
     * Whether the constraint applies force only to `Attachment0`, or to both attachments in equal and opposite directions.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignPosition#ReactionForceEnabled)
     */
    ReactionForceEnabled: boolean;
    /**
     * Controls how quickly the constraint reaches its goal. Higher values cause the attachment(s) to align more rapidly.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignPosition#Responsiveness)
     */
    Responsiveness: number;
    /**
     * Whether force is dependent on other properties, or if the physics solver reacts as quickly as possible to complete the alignment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AlignPosition#RigidityEnabled)
     */
    RigidityEnabled: boolean;
}
/**
 * Applies torque on an assembly to maintain a constant angular velocity.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AngularVelocity)
 */
interface AngularVelocity extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AngularVelocity: unique symbol;
    /**
     * A `Vector3` that gives the desired or target angular velocity.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AngularVelocity#AngularVelocity)
     */
    AngularVelocity: Vector3;
    /**
     * Magnitude of the maximum torque the constraint can apply.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AngularVelocity#MaxTorque)
     */
    MaxTorque: number;
    /**
     * Causes the constraint to apply equal and opposite reaction forces.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AngularVelocity#ReactionTorqueEnabled)
     */
    ReactionTorqueEnabled: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AngularVelocity#RelativeTo)
     */
    RelativeTo: Enum.ActuatorRelativeTo;
}
/**
 * Aligns two `BaseParts` with an animate-able kinematic or force-based joint.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationConstraint)
 */
interface AnimationConstraint extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AnimationConstraint: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationConstraint#C0)
     *
     * @deprecated
     */
    readonly C0: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationConstraint#C1)
     *
     * @deprecated
     */
    readonly C1: CFrame;
    /**
     * Toggles whether the constraint is kinematic or physically simulated.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationConstraint#IsKinematic)
     */
    IsKinematic: boolean;
    /**
     * Maximum force magnitude the constraint can apply to achieve its goal.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationConstraint#MaxForce)
     */
    MaxForce: number;
    /**
     * Maximum torque the constraint can apply to reach its goal.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationConstraint#MaxTorque)
     */
    MaxTorque: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationConstraint#Part0)
     *
     * @deprecated
     */
    readonly Part0: BasePart | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationConstraint#Part1)
     *
     * @deprecated
     */
    readonly Part1: BasePart | undefined;
    /**
     * Describes the current animation offset of the constraint joint.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AnimationConstraint#Transform)
     */
    Transform: CFrame;
}
/**
 * Forces its two attachments into the same position and allows them to freely rotate about all three axes, with optional limits to restrict both tilt and twist.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BallSocketConstraint)
 */
interface BallSocketConstraint extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BallSocketConstraint: unique symbol;
    /**
     * Sets whether the `BallSocketConstraint` sets a limit on rotation based on `UpperAngle`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BallSocketConstraint#LimitsEnabled)
     */
    LimitsEnabled: boolean;
    /**
     * Sets the maximum frictional torque applied to keep its `Attachments` aligned.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BallSocketConstraint#MaxFrictionTorque)
     */
    MaxFrictionTorque: number;
    /**
     * The visualized radius of the `BallSocketConstraint`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BallSocketConstraint#Radius)
     */
    Radius: number;
    /**
     * How elastic `Attachments` connected by a `BallSocketConstraint` will be when they reach the end of the range specified by `UpperAngle` when `LimitsEnabled` is `true`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BallSocketConstraint#Restitution)
     */
    Restitution: number;
    /**
     * Sets whether the `BallSocketConstraint` sets a limit on twist rotation based on `TwistUpperAngle` and `TwistLowerAngle`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BallSocketConstraint#TwistLimitsEnabled)
     */
    TwistLimitsEnabled: boolean;
    /**
     * Sets the lower twist rotation limit of the `BallSocketConstraint`, as long as `TwistLimitsEnabled` is `true`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BallSocketConstraint#TwistLowerAngle)
     */
    TwistLowerAngle: number;
    /**
     * Sets the upper twist rotation limit of the `BallSocketConstraint`, as long as `TwistLimitsEnabled` is `true`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BallSocketConstraint#TwistUpperAngle)
     */
    TwistUpperAngle: number;
    /**
     * Sets the upper rotation limit of the `BallSocketConstraint`, as long as `LimitsEnabled` is `true`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BallSocketConstraint#UpperAngle)
     */
    UpperAngle: number;
}
/**
 * Constrains its attachments to rotate about a single axis.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HingeConstraint)
 */
interface HingeConstraint extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_HingeConstraint: unique symbol;
    /**
     * Sets whether the rotation of the `HingeConstraint` is actuated and, if so, what kind of actuation it uses.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HingeConstraint#ActuatorType)
     */
    ActuatorType: Enum.ActuatorType;
    /**
     * Specifies the sharpness of the servo motor in reaching the `TargetAngle`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HingeConstraint#AngularResponsiveness)
     */
    AngularResponsiveness: number;
    /**
     * The desired angular speed a `HingeConstraint` with `ActuatorType` set to `Servo` will attempt to maintain while rotating towards its `TargetAngle`. Measured in radians/second.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HingeConstraint#AngularSpeed)
     */
    AngularSpeed: number;
    /**
     * The angular velocity a `HingeConstraint` with `ActuatorType` set to `Motor` will attempt to achieve. Measured in radians/second.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HingeConstraint#AngularVelocity)
     */
    AngularVelocity: number;
    /**
     * The current angle of the `HingeConstraint`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HingeConstraint#CurrentAngle)
     */
    readonly CurrentAngle: number;
    /**
     * Sets whether the `HingeConstraint` will limit the range of rotation.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HingeConstraint#LimitsEnabled)
     */
    LimitsEnabled: boolean;
    /**
     * The minimum rotation angle the `HingeConstraint` will allow if `LimitsEnabled` is true.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HingeConstraint#LowerAngle)
     */
    LowerAngle: number;
    /**
     * The maximum angular acceleration a `HingeConstraint` with `ActuatorType` set to `Motor` can apply to achieve its `AngularVelocity`. Measured in radians/second².
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HingeConstraint#MotorMaxAcceleration)
     */
    MotorMaxAcceleration: number;
    /**
     * The maximum torque a `HingeConstraint` with `ActuatorType` set to `Motor` can apply when trying to reach its desired `AngularVelocity`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HingeConstraint#MotorMaxTorque)
     */
    MotorMaxTorque: number;
    /**
     * The visualized radius of the `HingeConstraint`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HingeConstraint#Radius)
     */
    Radius: number;
    /**
     * How elastic `Attachment` connected by a `HingeConstraint` will be when they reach the end of the range when `LimitsEnabled` is true. Constrained between 0 and 1.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HingeConstraint#Restitution)
     */
    Restitution: number;
    /**
     * The maximum torque a `HingeConstraint` with `ActuatorType` set to `Servo` can apply when trying to reach its desired `TargetAngle`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HingeConstraint#ServoMaxTorque)
     */
    ServoMaxTorque: number;
    /**
     * **Deprecated:** This property should not be used in new work.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HingeConstraint#SoftlockServoUponReachingTarget)
     *
     * @deprecated
     */
    SoftlockServoUponReachingTarget: boolean;
    /**
     * The target angle a `HingeConstraint` will attempt to rotate to if its `ActuatorType` is set to `Servo`. Measured in degrees.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HingeConstraint#TargetAngle)
     */
    TargetAngle: number;
    /**
     * The maximum rotation angle the `HingeConstraint` will allow if `LimitsEnabled` is true.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HingeConstraint#UpperAngle)
     */
    UpperAngle: number;
}
/**
 * Applies a force along the theoretical line connecting its two `Attachments`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LineForce)
 */
interface LineForce extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LineForce: unique symbol;
    /**
     * Whether force is applied at the center of mass of the parent assembly.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LineForce#ApplyAtCenterOfMass)
     */
    ApplyAtCenterOfMass: boolean;
    /**
     * When `true`, the force magnitude is multiplied by the inverse square of the distance.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LineForce#InverseSquareLaw)
     */
    InverseSquareLaw: boolean;
    /**
     * The magnitude of the force.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LineForce#Magnitude)
     */
    Magnitude: number;
    /**
     * Maximum absolute force that can be applied.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LineForce#MaxForce)
     */
    MaxForce: number;
    /**
     * Enables an equal and opposite reaction force on the parent of `Attachment1`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LineForce#ReactionForceEnabled)
     */
    ReactionForceEnabled: boolean;
}
/**
 * Applies force on an assembly to maintain a constant linear velocity.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LinearVelocity)
 */
interface LinearVelocity extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LinearVelocity: unique symbol;
    /**
     * Determines how the constraint force will be limited.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LinearVelocity#ForceLimitMode)
     */
    ForceLimitMode: Enum.ForceLimitMode;
    /**
     * Determines if the constraint force will be limited or if the physics solver can apply an unlimited force to achieve the target velocity.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LinearVelocity#ForceLimitsEnabled)
     */
    ForceLimitsEnabled: boolean;
    /**
     * The normalized `Vector3` direction for constraining the velocity along a line.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LinearVelocity#LineDirection)
     */
    LineDirection: Vector3;
    /**
     * Float value of the velocity when `VelocityConstraintMode` is set to `Line`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LinearVelocity#LineVelocity)
     */
    LineVelocity: number;
    /**
     * Maximum force along each axis that the constraint can apply to achieve the vector velocity. Only used if `ForceLimitsEnabled` is `true`, `ForceLimitMode` is `PerAxis`, and `VelocityConstraintMode` is `Vector`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LinearVelocity#MaxAxesForce)
     */
    MaxAxesForce: Vector3;
    /**
     * Maximum magnitude of the force vector the constraint can apply.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LinearVelocity#MaxForce)
     */
    MaxForce: number;
    /**
     * Maximum force along each axis that the constraint can apply to achieve the plane velocity. Only used if `ForceLimitsEnabled` is `true`, `ForceLimitMode` is `PerAxis`, and `VelocityConstraintMode` is `Plane`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LinearVelocity#MaxPlanarAxesForce)
     */
    MaxPlanarAxesForce: Vector2;
    /**
     * `Vector2` value of the velocity in each tangent direction of the plane.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LinearVelocity#PlaneVelocity)
     */
    PlaneVelocity: Vector2;
    /**
     * The primary axis in the plane, when `VelocityConstraintMode` is set to `Plane`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LinearVelocity#PrimaryTangentAxis)
     */
    PrimaryTangentAxis: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LinearVelocity#ReactionForceEnabled)
     */
    ReactionForceEnabled: boolean;
    /**
     * Sets the `ActuatorRelativeTo` property for the constraint.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LinearVelocity#RelativeTo)
     */
    RelativeTo: Enum.ActuatorRelativeTo;
    /**
     * The secondary axis in the plane, when `VelocityConstraintMode` is set to `Plane`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LinearVelocity#SecondaryTangentAxis)
     */
    SecondaryTangentAxis: Vector3;
    /**
     * `Vector3` velocity value when `VelocityConstraintMode` is set to `Vector`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LinearVelocity#VectorVelocity)
     */
    VectorVelocity: Vector3;
    /**
     * The mode of the constraint.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LinearVelocity#VelocityConstraintMode)
     */
    VelocityConstraintMode: Enum.VelocityConstraintMode;
}
/**
 * Moves its attachments into a position/orientation along a plane whose normal vector is the primary axis of `Attachment0`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlaneConstraint)
 */
interface PlaneConstraint extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlaneConstraint: unique symbol;
}
/**
 * **Deprecated:**
 *
 * Constrains Attachment0 and Attachment1 such that both points lie in a plane with origin at Attachment0's position and unit normal vector equal to Attachment0's primary axis.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Plane)
 *
 * @deprecated PlaneConstraint
 */
interface Plane extends PlaneConstraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Plane: unique symbol;
}
/**
 * Creates a rigid connection between two `Attachments` or `Bones`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RigidConstraint)
 */
interface RigidConstraint extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RigidConstraint: unique symbol;
}
/**
 * Keeps two attachments separated by its defined `Length`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RodConstraint)
 */
interface RodConstraint extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RodConstraint: unique symbol;
    /**
     * The current distance between the constraint's `Attachments`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RodConstraint#CurrentDistance)
     */
    readonly CurrentDistance: number;
    /**
     * The distance apart at which the constraint attempts to keep its `Attachments`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RodConstraint#Length)
     */
    Length: number;
    /**
     * The maximum angle between the rod and `Attachment0` when `LimitsEnabled` is true.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RodConstraint#LimitAngle0)
     */
    LimitAngle0: number;
    /**
     * The maximum angle between the rod and `Attachment1` when `LimitsEnabled` is true.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RodConstraint#LimitAngle1)
     */
    LimitAngle1: number;
    /**
     * Determines whether `LimitAngle0` and `LimitAngle1` control the angles between the rod and the respective attachments.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RodConstraint#LimitsEnabled)
     */
    LimitsEnabled: boolean;
    /**
     * The visualized thickness of the `RodConstraint`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RodConstraint#Thickness)
     */
    Thickness: number;
}
/**
 * Simulates rope dynamics, preventing two attachments from separating further than a defined length.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RopeConstraint)
 */
interface RopeConstraint extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RopeConstraint: unique symbol;
    /**
     * The current distance between the constraint's `Attachments`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RopeConstraint#CurrentDistance)
     */
    readonly CurrentDistance: number;
    /**
     * The maximum distance apart the two `Attachments` can be.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RopeConstraint#Length)
     */
    Length: number;
    /**
     * Elasticity of the `Attachments` connected by the constraint when reaching the maximum defined `Length`. Constrained between 0 and 1.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RopeConstraint#Restitution)
     */
    Restitution: number;
    /**
     * The visualized thickness of the `RopeConstraint`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RopeConstraint#Thickness)
     */
    Thickness: number;
    /**
     * Enables the winch motor.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RopeConstraint#WinchEnabled)
     */
    WinchEnabled: boolean;
    /**
     * The maximum force that the winch motor can apply.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RopeConstraint#WinchForce)
     */
    WinchForce: number;
    /**
     * The sharpness of the winch motor in reaching the `WinchTarget`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RopeConstraint#WinchResponsiveness)
     */
    WinchResponsiveness: number;
    /**
     * A positive desired velocity at which the winch motor changes the rope length.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RopeConstraint#WinchSpeed)
     */
    WinchSpeed: number;
    /**
     * The target length for the winch motor.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RopeConstraint#WinchTarget)
     */
    WinchTarget: number;
}
/**
 * The base class for constraints that allow their attachments to slide along an axis but not rotate.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlidingBallConstraint)
 */
interface SlidingBallConstraint extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SlidingBallConstraint: unique symbol;
    /**
     * Sets whether the translation of the `SlidingBallConstraint` is actuated and, if so, what kind of actuation.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlidingBallConstraint#ActuatorType)
     */
    ActuatorType: Enum.ActuatorType;
    /**
     * The current offset between the constraint's `Attachments`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlidingBallConstraint#CurrentPosition)
     */
    readonly CurrentPosition: number;
    /**
     * Sets whether the `SlidingBallConstraint` will limit the range of translation.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlidingBallConstraint#LimitsEnabled)
     */
    LimitsEnabled: boolean;
    /**
     * Specifies the "sharpness" of the linear servo motor in reaching the `TargetPosition`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlidingBallConstraint#LinearResponsiveness)
     */
    LinearResponsiveness: number;
    /**
     * The lower positional limit along the **X** axis of `Attachment0` if `LimitsEnabled` is true.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlidingBallConstraint#LowerLimit)
     */
    LowerLimit: number;
    /**
     * The constraint's maximum acceleration when `ActuatorType` is set to `Motor` as the constraint attempts to reach its desired `Velocity`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlidingBallConstraint#MotorMaxAcceleration)
     */
    MotorMaxAcceleration: number;
    /**
     * The constraint's maximum force when `ActuatorType` is set to `Motor`, as the constraint attempts to reach its desired `Velocity`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlidingBallConstraint#MotorMaxForce)
     */
    MotorMaxForce: number;
    /**
     * The elasticity of the constraint's `Attachments` when they reach the end of the range specified by `UpperLimit` and `LowerLimit`, assuming `LimitsEnabled` is set to true.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlidingBallConstraint#Restitution)
     */
    Restitution: number;
    /**
     * The constraint's maximum force when `ActuatorType` is set to `Servo`, as the constraint attempts to reach its desired `Speed`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlidingBallConstraint#ServoMaxForce)
     */
    ServoMaxForce: number;
    /**
     * The constraint's visualized size.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlidingBallConstraint#Size)
     */
    Size: number;
    /**
     * **Deprecated:** This property should not be used in new work.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlidingBallConstraint#SoftlockServoUponReachingTarget)
     *
     * @deprecated
     */
    SoftlockServoUponReachingTarget: boolean;
    /**
     * The constraint's desired speed when `ActuatorType` is set to `Servo`, as the constraint translates towards its `TargetPosition`. Measured in studs per second.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlidingBallConstraint#Speed)
     */
    Speed: number;
    /**
     * The constraint's attempted target position when `ActuatorType` is set to `Servo`. Measured in studs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlidingBallConstraint#TargetPosition)
     */
    TargetPosition: number;
    /**
     * The upper positional limit along the **X** axis of `Attachment0` if `LimitsEnabled` is true.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlidingBallConstraint#UpperLimit)
     */
    UpperLimit: number;
    /**
     * The constraint's attempted velocity when `ActuatorType` is set to `Motor`. Measured in studs per second.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlidingBallConstraint#Velocity)
     */
    Velocity: number;
}
/**
 * Constrains two attachments on two parts to have a relative linear and rotational motion.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint)
 */
interface CylindricalConstraint extends SlidingBallConstraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CylindricalConstraint: unique symbol;
    /**
     * Type of angular actuator.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#AngularActuatorType)
     */
    AngularActuatorType: Enum.ActuatorType;
    /**
     * Enables the angular limits around the rotation axis.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#AngularLimitsEnabled)
     */
    AngularLimitsEnabled: boolean;
    /**
     * Specifies the sharpness of the angular servo motor in reaching the `TargetAngle`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#AngularResponsiveness)
     */
    AngularResponsiveness: number;
    /**
     * Restitution of the two limits, or how elastic they are.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#AngularRestitution)
     */
    AngularRestitution: number;
    /**
     * Target angular speed. This value is unsigned as the servo will always move toward its target. In radians per second.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#AngularSpeed)
     */
    AngularSpeed: number;
    /**
     * The target angular velocity of the motor in radians per second around the rotation axis.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#AngularVelocity)
     */
    AngularVelocity: number;
    /**
     * Signed angle (in degrees) between the reference axis and the secondary axis of `Attachment1` around the rotation axis.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#CurrentAngle)
     */
    readonly CurrentAngle: number;
    /**
     * Direction of the rotation axis as an angle from the **X** axis in the **XY** plane of `Attachment0`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#InclinationAngle)
     */
    InclinationAngle: number;
    /**
     * Lower limit for the angle (in degrees) between the reference axis and the SecondaryAxis of `Attachment1` around the rotation axis.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#LowerAngle)
     */
    LowerAngle: number;
    /**
     * The maximum angular acceleration of the motor in radians per second squared.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#MotorMaxAngularAcceleration)
     */
    MotorMaxAngularAcceleration: number;
    /**
     * The maximum torque the motor can apply to achieve the target angular velocity.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#MotorMaxTorque)
     */
    MotorMaxTorque: number;
    /**
     * Enable the visibility of the rotation axis.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#RotationAxisVisible)
     */
    RotationAxisVisible: boolean;
    /**
     * Maximum torque the servo motor can apply.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#ServoMaxTorque)
     */
    ServoMaxTorque: number;
    /**
     * **Deprecated:** This property should not be used in new work.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#SoftlockAngularServoUponReachingTarget)
     *
     * @deprecated
     */
    SoftlockAngularServoUponReachingTarget: boolean;
    /**
     * Target angle (in degrees) between the reference axis and the secondary axis of `Attachment1` around the rotation axis.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#TargetAngle)
     */
    TargetAngle: number;
    /**
     * Upper limit for the angle (in degrees) between the reference axis and the secondary axis of `Attachment1` around the rotation axis.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#UpperAngle)
     */
    UpperAngle: number;
    /**
     * The unit vector direction of the rotation axis in world coordinates.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylindricalConstraint#WorldRotationAxis)
     */
    readonly WorldRotationAxis: Vector3;
}
/**
 * Constraint which creates a rigid joint between two `Attachments`, allowing them to slide along one axis but not rotate.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PrismaticConstraint)
 */
interface PrismaticConstraint extends SlidingBallConstraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PrismaticConstraint: unique symbol;
}
/**
 * Simulates spring and damper behavior between two attachments.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpringConstraint)
 */
interface SpringConstraint extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SpringConstraint: unique symbol;
    /**
     * The number of coils visualized on the `SpringConstraint`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpringConstraint#Coils)
     */
    Coils: number;
    /**
     * The current distance between the constraint's `Attachments`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpringConstraint#CurrentLength)
     */
    readonly CurrentLength: number;
    /**
     * Damping constant for the `SpringConstraint`. Multiplied to the velocity of the constraint's `Attachments` to reduce the spring force applied.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpringConstraint#Damping)
     */
    Damping: number;
    /**
     * Natural resting length of the spring.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpringConstraint#FreeLength)
     */
    FreeLength: number;
    /**
     * Sets whether the `SpringConstraint` enforces a minimum and maximum length.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpringConstraint#LimitsEnabled)
     */
    LimitsEnabled: boolean;
    /**
     * The maximum force the `SpringConstraint` can apply on its `Attachments`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpringConstraint#MaxForce)
     */
    MaxForce: number;
    /**
     * The maximum separation the SpringConstraint will allow if `LimitsEnabled` is true.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpringConstraint#MaxLength)
     */
    MaxLength: number;
    /**
     * The minimum separation the SpringConstraint will allow if `LimitsEnabled` is true.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpringConstraint#MinLength)
     */
    MinLength: number;
    /**
     * The visualized radius of the spring's coils.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpringConstraint#Radius)
     */
    Radius: number;
    /**
     * The strength of the spring. The higher this value the more force will be applied when the attachments are separated a different length than the `FreeLength`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpringConstraint#Stiffness)
     */
    Stiffness: number;
    /**
     * The visualized thickness of the spring's coils.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpringConstraint#Thickness)
     */
    Thickness: number;
}
/**
 * Applies constant torque to an assembly from its center of mass.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Torque)
 */
interface Torque extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Torque: unique symbol;
    /**
     * The `CFrame` in which the torque is expressed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Torque#RelativeTo)
     */
    RelativeTo: Enum.ActuatorRelativeTo;
    /**
     * The strength and direction of the torque.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Torque#Torque)
     */
    Torque: Vector3;
}
/**
 * A rotational spring that opposes the angular motion between two axes.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TorsionSpringConstraint)
 */
interface TorsionSpringConstraint extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TorsionSpringConstraint: unique symbol;
    /**
     * The number of coils visualized for the constraint.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TorsionSpringConstraint#Coils)
     */
    Coils: number;
    /**
     * The current angle, in degrees, of the limiting cone.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TorsionSpringConstraint#CurrentAngle)
     */
    readonly CurrentAngle: number;
    /**
     * Damping constant for the `TorsionSpringConstraint`. Multiplied to the velocity of the constraint's `Attachments` to reduce the spring force applied.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TorsionSpringConstraint#Damping)
     */
    Damping: number;
    /**
     * **Deprecated:** This property is deprecated. Use `LimitsEnabled` instead.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TorsionSpringConstraint#LimitEnabled)
     *
     * @deprecated LimitsEnabled
     */
    LimitEnabled: boolean;
    /**
     * Limits the relative angular motion of the secondary axes of attachments through a cone constraint.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TorsionSpringConstraint#LimitsEnabled)
     */
    LimitsEnabled: boolean;
    /**
     * The maximum angle of the constraint's limiting cone.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TorsionSpringConstraint#MaxAngle)
     */
    MaxAngle: number;
    /**
     * The maximum allowable torque provided by the torsion spring.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TorsionSpringConstraint#MaxTorque)
     */
    MaxTorque: number;
    /**
     * The visualization radius of the spring.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TorsionSpringConstraint#Radius)
     */
    Radius: number;
    /**
     * The restitution coefficient of the cone constraint.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TorsionSpringConstraint#Restitution)
     */
    Restitution: number;
    /**
     * The torsional stiffness of the spring.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TorsionSpringConstraint#Stiffness)
     */
    Stiffness: number;
}
/**
 * Ensures two axes on two bodies remain perpendicular.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UniversalConstraint)
 */
interface UniversalConstraint extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UniversalConstraint: unique symbol;
    /**
     * Determines whether the angular motion of attachments' primary axes is limited.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UniversalConstraint#LimitsEnabled)
     */
    LimitsEnabled: boolean;
    /**
     * The max angle, in degrees, of the constraint's limiting cone.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UniversalConstraint#MaxAngle)
     */
    MaxAngle: number;
    /**
     * The constraint's visualization radius.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UniversalConstraint#Radius)
     */
    Radius: number;
    /**
     * The restitution coefficient of the cone constraint.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UniversalConstraint#Restitution)
     */
    Restitution: number;
}
/**
 * Applies constant force to an assembly.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VectorForce)
 */
interface VectorForce extends Constraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VectorForce: unique symbol;
    /**
     * Whether force is applied at the center of mass of the parent assembly.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VectorForce#ApplyAtCenterOfMass)
     */
    ApplyAtCenterOfMass: boolean;
    /**
     * The strength and direction of the force.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VectorForce#Force)
     */
    Force: Vector3;
    /**
     * The `CFrame` in which the force is expressed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VectorForce#RelativeTo)
     */
    RelativeTo: Enum.ActuatorRelativeTo;
}
/**
 * Service that is used to load content, or assets, into a game.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContentProvider)
 */
interface ContentProvider extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ContentProvider: unique symbol;
    /**
     * Used by the `ContentProvider` to download assets from the Roblox website.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContentProvider#BaseUrl)
     */
    readonly BaseUrl: string;
    /**
     * Gives the number of items in the `ContentProvider` request queue that need to be downloaded.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContentProvider#RequestQueueSize)
     */
    readonly RequestQueueSize: number;
    /**
     * Gets the current `AssetFetchStatus` of the `contentId` provided.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContentProvider#GetAssetFetchStatus)
     * @param this Service that is used to load content, or assets, into a game.
     * @param contentId The ID of the content to fetch the status for.
     * @returns The `AssetFetchStatus` of the content.
     */
    GetAssetFetchStatus(this: ContentProvider, contentId: ContentId): Enum.AssetFetchStatus;
    /**
     * A signal that fires when the `AssetFetchStatus` of the provided content changes.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContentProvider#GetAssetFetchStatusChangedSignal)
     * @param this Service that is used to load content, or assets, into a game.
     * @param contentId
     */
    GetAssetFetchStatusChangedSignal(this: ContentProvider, contentId: ContentId): RBXScriptSignal;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContentProvider#ListEncryptedAssets)
     * @param this Service that is used to load content, or assets, into a game.
     */
    ListEncryptedAssets(this: ContentProvider): Array<unknown>;
    /**
     * **Deprecated:** This item has been superseded by `ContentProvider:PreloadAsync()` which should be used in all new work.
     *
     * Queues an asset to be downloaded by the `ContentProvider`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContentProvider#Preload)
     * @param this Service that is used to load content, or assets, into a game.
     * @param contentId
     *
     * @deprecated PreloadAsync
     */
    Preload(this: ContentProvider, contentId: ContentId): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContentProvider#RegisterDefaultEncryptionKey)
     * @param this Service that is used to load content, or assets, into a game.
     * @param encryptionKey
     */
    RegisterDefaultEncryptionKey(this: ContentProvider, encryptionKey: string): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContentProvider#RegisterDefaultSessionKey)
     * @param this Service that is used to load content, or assets, into a game.
     * @param sessionKey
     */
    RegisterDefaultSessionKey(this: ContentProvider, sessionKey: string): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContentProvider#RegisterEncryptedAsset)
     * @param this Service that is used to load content, or assets, into a game.
     * @param assetId
     * @param encryptionKey
     */
    RegisterEncryptedAsset(this: ContentProvider, assetId: ContentId, encryptionKey: string): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContentProvider#RegisterSessionEncryptedAsset)
     * @param this Service that is used to load content, or assets, into a game.
     * @param contentId
     * @param sessionKey
     */
    RegisterSessionEncryptedAsset(this: ContentProvider, contentId: ContentId, sessionKey: string): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContentProvider#UnregisterDefaultEncryptionKey)
     * @param this Service that is used to load content, or assets, into a game.
     */
    UnregisterDefaultEncryptionKey(this: ContentProvider): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContentProvider#UnregisterEncryptedAsset)
     * @param this Service that is used to load content, or assets, into a game.
     * @param assetId
     */
    UnregisterEncryptedAsset(this: ContentProvider, assetId: ContentId): void;
    /**
     * Yields until all of the assets associated with the given `Instances` have loaded.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContentProvider#PreloadAsync)
     * @param this Service that is used to load content, or assets, into a game.
     * @param contentIdList An array of instances to load.
     * @param callbackFunction The function called when each asset request completes. Returns the `content` string and the asset's final `AssetFetchStatus`.
     */
    PreloadAsync(this: ContentProvider, contentIdList: Array<Instance | string>, callback?: (contentId: string, status: Enum.AssetFetchStatus) => void): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContentProvider#AssetFetchFailed)
     */
    readonly AssetFetchFailed: RBXScriptSignal<(assetId: ContentId) => void>;
}
/**
 * A service used to bind user input to contextual actions.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService)
 */
interface ContextActionService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ContextActionService: unique symbol;
    /**
     * Bind user input to an action given an action handling function.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#BindAction)
     * @param this A service used to bind user input to contextual actions.
     * @param actionName A string representing the action being performed (e.g. "HonkHorn" or "OpenDoor").
     * @param functionToBind The action-handling function, called with the following parameters when the bound inputs are triggered: string (actionName), `UserInputState` and an InputObject.
     * @param createTouchButton Whether a GUI button should be created for the action on touch input devices.
     * @param inputTypes Any number of `KeyCode` or `UserInputType` representing the inputs to bind to the action.
     */
    BindAction(this: ContextActionService, actionName: string, functionToBind: (actionName: string, state: Enum.UserInputState, inputObject: InputObject) => void, createTouchButton: boolean, ...inputTypes: Array<Enum.KeyCode | Enum.PlayerActions | Enum.UserInputType>): void;
    /**
     * Behaves like `BindAction` but also allows a priority to be assigned to the bound action for overlapping input types (higher before lower).
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#BindActionAtPriority)
     * @param this A service used to bind user input to contextual actions.
     * @param actionName A string representing the action being performed (e.g. "HonkHorn" or "OpenDoor").
     * @param functionToBind The action-handling function, called with the following parameters when the bound inputs are triggered: string (actionName), `UserInputState` and an InputObject.
     * @param createTouchButton Whether a GUI button should be created for the action on touch input devices.
     * @param priorityLevel The priority level at which the action should be bound (higher considered before lower).
     * @param inputTypes Any number of Enum.KeyCode or Enum.UserInputType representing the inputs to bind to the action.
     */
    BindActionAtPriority(this: ContextActionService, actionName: string, functionToBind: (actionName: string, state: Enum.UserInputState, inputObject: InputObject) => void, createTouchButton: boolean, priorityLevel: number, ...inputTypes: Array<Enum.KeyCode | Enum.PlayerActions | Enum.UserInputType>): void;
    /**
     * **Deprecated:** This item has been superseded by `ContextActionService:BindAction()` which should be used in all new work.
     *
     * Binds *functionToBind* to input events such as key presses, mouse movement, or controller input.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#BindActionToInputTypes)
     * @param this A service used to bind user input to contextual actions.
     * @param actionName
     * @param functionToBind
     * @param createTouchButton
     * @param inputTypes
     *
     * @deprecated BindAction
     */
    BindActionToInputTypes(this: ContextActionService, actionName: string, functionToBind: Callback, createTouchButton: boolean, inputTypes: unknown): void;
    /**
     * Bind a `KeyCode` with a specific `UserInputType` to trigger `Tool.Activation` and `ClickDetector` events.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#BindActivate)
     * @param this A service used to bind user input to contextual actions.
     * @param userInputTypeForActivation Must be Keyboard or Gamepad1 through Gamepad8.
     * @param keyCodesForActivation
     */
    BindActivate(this: ContextActionService, userInputTypeForActivation: CastsToEnum<Enum.UserInputType>, keyCodesForActivation: unknown): void;
    /**
     * Get a table of information about all bound actions (key is the name passed to `BindAction`, value is a table from `GetBoundActionInfo` when called with the key).
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#GetAllBoundActionInfo)
     * @param this A service used to bind user input to contextual actions.
     */
    GetAllBoundActionInfo(this: ContextActionService): Map<string, BoundActionInfo>;
    /**
     * Get a table of information about a bound action given its name originally passed to `BindAction`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#GetBoundActionInfo)
     * @param this A service used to bind user input to contextual actions.
     * @param actionName
     */
    GetBoundActionInfo(this: ContextActionService, actionName: string): BoundActionInfo | {};
    /**
     * Return the `BackpackItem.TextureId` of a `Tool` currently `equipped` by the `Player`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#GetCurrentLocalToolIcon)
     * @param this A service used to bind user input to contextual actions.
     * @returns A content string from the Tool's TextureId, or `nil` if one could not be found.
     */
    GetCurrentLocalToolIcon(this: ContextActionService): string;
    /**
     * Given the name of a bound action with a touch button, sets the description of the action.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#SetDescription)
     * @param this A service used to bind user input to contextual actions.
     * @param actionName The name of the action originally passed to BindAction.
     * @param description A text description of the action, such as "Honk the car's horn" or "Open the inventory".
     */
    SetDescription(this: ContextActionService, actionName: string, description: string): void;
    /**
     * If `actionName` key contains a bound action, then `image` is set as the image of the touch button.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#SetImage)
     * @param this A service used to bind user input to contextual actions.
     * @param actionName The name of the action originally passed to BindAction.
     * @param image The value to which the Image property should be set.
     */
    SetImage(this: ContextActionService, actionName: string, image: string): void;
    /**
     * Given the name of a bound action with a touch button, sets the position of the button within the ContextButtonFrame.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#SetPosition)
     * @param this A service used to bind user input to contextual actions.
     * @param actionName The name of the action originally passed to BindAction.
     * @param position The position within the ContextButtonFrame.
     */
    SetPosition(this: ContextActionService, actionName: string, position: UDim2): void;
    /**
     * Given the name of a bound action with a touch button, sets the text shown on the button.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#SetTitle)
     * @param this A service used to bind user input to contextual actions.
     * @param actionName The name of the action originally passed to BindAction.
     * @param title The text to display on the button.
     */
    SetTitle(this: ContextActionService, actionName: string, title: string): void;
    /**
     * Unbind an action from input given its name.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#UnbindAction)
     * @param this A service used to bind user input to contextual actions.
     * @param actionName
     */
    UnbindAction(this: ContextActionService, actionName: string): void;
    /**
     * Unbind a `KeyCode` with a specific `UserInputType` from triggering `Tool.Activation` when bound with `ContextActionService:BindActivate()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#UnbindActivate)
     * @param this A service used to bind user input to contextual actions.
     * @param userInputTypeForActivation The same UserInputType originally sent to BindActivate.
     * @param keyCodeForActivation The same KeyCode originally sent to BindActivate.
     */
    UnbindActivate(this: ContextActionService, userInputTypeForActivation: CastsToEnum<Enum.UserInputType>, keyCodeForActivation?: CastsToEnum<Enum.KeyCode>): void;
    /**
     * Removes all functions bound. No actionNames will remain. All touch buttons will be removed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#UnbindAllActions)
     * @param this A service used to bind user input to contextual actions.
     */
    UnbindAllActions(this: ContextActionService): void;
    /**
     * Retrieves a `ImageButton` of a `bound` action that had a touch input button created.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#GetButton)
     * @param this A service used to bind user input to contextual actions.
     * @param actionName The name of the action originally passed to BindAction.
     * @returns An ImageButton created by BindAction.
     */
    GetButton(this: ContextActionService, actionName: string): ImageButton | undefined;
    /**
     * Fires when the current player equips a `Tool`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#LocalToolEquipped)
     */
    readonly LocalToolEquipped: RBXScriptSignal<(toolEquipped: Instance) => void>;
    /**
     * Fires when the current player unequips a `Tool`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ContextActionService#LocalToolUnequipped)
     */
    readonly LocalToolUnequipped: RBXScriptSignal<(toolUnequipped: Instance) => void>;
}
/**
 * The base class for controller objects, such as the `HumanoidController` object.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Controller)
 */
interface Controller extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Controller: unique symbol;
    /**
     * Activates an overriding bind on the specified button.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Controller#BindButton)
     * @param this The base class for controller objects, such as the `HumanoidController` object.
     * @param button
     * @param caption
     */
    BindButton(this: Controller, button: CastsToEnum<Enum.Button>, caption: string): void;
    /**
     * Returns whether or not Button is being pressed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Controller#GetButton)
     * @param this The base class for controller objects, such as the `HumanoidController` object.
     * @param button
     */
    GetButton(this: Controller, button: CastsToEnum<Enum.Button>): boolean;
    /**
     * Removes the bind on button.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Controller#UnbindButton)
     * @param this The base class for controller objects, such as the `HumanoidController` object.
     * @param button
     */
    UnbindButton(this: Controller, button: CastsToEnum<Enum.Button>): void;
    /**
     * Fired when the pressed state of a bound button is changed. This event can be used in conjunction with `Controller:GetButton()` to see whether a bound button is being pressed down or not.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Controller#ButtonChanged)
     */
    readonly ButtonChanged: RBXScriptSignal<(button: Enum.Button) => void>;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidController)
 */
interface HumanoidController extends Controller {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_HumanoidController: unique symbol;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SkateboardController)
 */
interface SkateboardController extends Controller {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SkateboardController: unique symbol;
    /**
     * The direction of movement, tied to the keys A and D. Must be 1 (right), 0 (straight), or -1 (left). Will refresh back to 0 unless constantly set.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SkateboardController#Steer)
     */
    readonly Steer: number;
    /**
     * The direction of movement, tied to the keys W and S. Must be an integer 1 (forward), 0 (null), or -1 (reverse). Will refresh back to 0 unless constantly set.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SkateboardController#Throttle)
     */
    readonly Throttle: number;
    /**
     * Fired when any input state of the skateboard controller is updated.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SkateboardController#AxisChanged)
     */
    readonly AxisChanged: RBXScriptSignal<(axis: string) => void>;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VehicleController)
 */
interface VehicleController extends Controller {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VehicleController: unique symbol;
}
/**
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerBase)
 */
interface ControllerBase extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ControllerBase: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerBase#Active)
     */
    readonly Active: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerBase#BalanceRigidityEnabled)
     */
    BalanceRigidityEnabled: boolean;
    /**
     * The value multiplied by the `ControllerManager.BaseMoveSpeed`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerBase#MoveSpeedFactor)
     */
    MoveSpeedFactor: number;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AirController)
 */
interface AirController extends ControllerBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AirController: unique symbol;
    /**
     * The maximum torque the character can use to remain balanced upright.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AirController#BalanceMaxTorque)
     */
    BalanceMaxTorque: number;
    /**
     * The maximum angular speed used to align the character upright.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AirController#BalanceSpeed)
     */
    BalanceSpeed: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AirController#LinearImpulse)
     */
    LinearImpulse: Vector3;
    /**
     * Determines whether angular momentum is preserved when input has stopped.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AirController#MaintainAngularMomentum)
     */
    MaintainAngularMomentum: boolean;
    /**
     * Determines whether linear momentum is preserved when input has stopped.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AirController#MaintainLinearMomentum)
     */
    MaintainLinearMomentum: boolean;
    /**
     * The maximum force that can be applied on the `ControllerManager.RootPart` for moving in the `ControllerManager.MovingDirection`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AirController#MoveMaxForce)
     */
    MoveMaxForce: number;
    /**
     * The maximum torque that can be applied on the `ControllerManager.RootPart` for turning towards the `ControllerManager.FacingDirection`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AirController#TurnMaxTorque)
     */
    TurnMaxTorque: number;
    /**
     * The value multiplied by the `ControllerManager.BaseTurnSpeed`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AirController#TurnSpeedFactor)
     */
    TurnSpeedFactor: number;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ClimbController)
 */
interface ClimbController extends ControllerBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ClimbController: unique symbol;
    /**
     * The amount of time taken to reach the desired climb velocity from 0.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ClimbController#AccelerationTime)
     */
    AccelerationTime: number;
    /**
     * The maximum torque used to keep the `ControllerManager.RootPart` aligned upright and aligned to the climbed surface.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ClimbController#BalanceMaxTorque)
     */
    BalanceMaxTorque: number;
    /**
     * The maximum angular speed used to align the `ControllerManager.RootPart` upright and with the climbed surface.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ClimbController#BalanceSpeed)
     */
    BalanceSpeed: number;
    /**
     * The maximum force used by the climbing "motor" to move the `ControllerManager.RootPart` or keep it stationary.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ClimbController#MoveMaxForce)
     */
    MoveMaxForce: number;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroundController)
 */
interface GroundController extends ControllerBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GroundController: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroundController#AccelerationLean)
     */
    AccelerationLean: number;
    /**
     * Estimated time taken to reach the desired speed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroundController#AccelerationTime)
     */
    AccelerationTime: number;
    /**
     * The maximum torque used to keep the `ControllerManager.RootPart` aligned upright.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroundController#BalanceMaxTorque)
     */
    BalanceMaxTorque: number;
    /**
     * The maximum angular speed used to align the `ControllerManager.RootPart` upright.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroundController#BalanceSpeed)
     */
    BalanceSpeed: number;
    /**
     * Estimated time taken to reach a complete stop from full speed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroundController#DecelerationTime)
     */
    DecelerationTime: number;
    /**
     * The coefficient of friction of the character on the ground.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroundController#Friction)
     */
    Friction: number;
    /**
     * Amount the character's friction is weighed against the ground friction.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroundController#FrictionWeight)
     */
    FrictionWeight: number;
    /**
     * The target distance above the ground to keep the `ControllerManager.RootPart` at.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroundController#GroundOffset)
     */
    GroundOffset: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroundController#StandForce)
     */
    StandForce: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroundController#StandSpeed)
     */
    StandSpeed: number;
    /**
     * The value multiplied by the `ControllerManager.BaseTurnSpeed`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroundController#TurnSpeedFactor)
     */
    TurnSpeedFactor: number;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SwimController)
 */
interface SwimController extends ControllerBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SwimController: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SwimController#AccelerationTime)
     */
    AccelerationTime: number;
    /**
     * The maximum torque used to rotate to the desired pitch.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SwimController#PitchMaxTorque)
     */
    PitchMaxTorque: number;
    /**
     * Multiplied by `ControllerManager.BaseTurnSpeed` to determine the maximum angular velocity for pitch.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SwimController#PitchSpeedFactor)
     */
    PitchSpeedFactor: number;
    /**
     * The maximum torque applied to rotate to the desired roll.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SwimController#RollMaxTorque)
     */
    RollMaxTorque: number;
    /**
     * Multiplied by `ControllerManager.BaseTurnSpeed` to determine the maximum angular velocity for roll.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SwimController#RollSpeedFactor)
     */
    RollSpeedFactor: number;
}
/**
 * Manages simulated motion control for its assigned `ControllerManager.RootPart` .
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerManager)
 */
interface ControllerManager extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ControllerManager: unique symbol;
    /**
     * The `ControllerBase` that is set to be activated on the character.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerManager#ActiveController)
     */
    ActiveController: ControllerBase | undefined;
    /**
     * The base linear movement speed used by all controllers.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerManager#BaseMoveSpeed)
     */
    BaseMoveSpeed: number;
    /**
     * The base angular turning speed used by all controllers.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerManager#BaseTurnSpeed)
     */
    BaseTurnSpeed: number;
    /**
     * A reference to the sensor data used while a `ClimbController` is active.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerManager#ClimbSensor)
     */
    ClimbSensor: ControllerSensor | undefined;
    /**
     * The unit vector describing the desired direction to face.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerManager#FacingDirection)
     */
    FacingDirection: Vector3;
    /**
     * A reference to the sensor data used while a `GroundController` is active.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerManager#GroundSensor)
     */
    GroundSensor: ControllerSensor | undefined;
    /**
     * The vector describing the desired direction to move in.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerManager#MovingDirection)
     */
    MovingDirection: Vector3;
    /**
     * The `BasePart` where the controller's forces and torques are applied.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerManager#RootPart)
     */
    RootPart: BasePart | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerManager#UpDirection)
     */
    UpDirection: Vector3;
}
/**
 * Container class for the `HumanoidController` among other classes.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerService)
 */
interface ControllerService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ControllerService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CoreGuiConfiguration)
 */
interface CoreGuiConfiguration extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CoreGuiConfiguration: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CoreGuiConfiguration#CapturesViewConfiguration)
     */
    CapturesViewConfiguration: CapturesViewConfiguration | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CoreGuiConfiguration#PlayerListConfiguration)
     */
    PlayerListConfiguration: PlayerListConfiguration | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CoreGuiConfiguration#SelfViewConfiguration)
     */
    SelfViewConfiguration: SelfViewConfiguration | undefined;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CoreScriptDebuggingManagerHelper)
 */
interface CoreScriptDebuggingManagerHelper extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CoreScriptDebuggingManagerHelper: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CreationDBService)
 */
interface CreationDBService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CreationDBService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CreatorStoreService)
 */
interface CreatorStoreService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CreatorStoreService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CrossDMScriptChangeListener)
 */
interface CrossDMScriptChangeListener extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CrossDMScriptChangeListener: unique symbol;
}
/**
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CustomLog)
 */
interface CustomLog extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CustomLog: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CustomLog#Close)
     * @param this
     */
    Close(this: CustomLog): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CustomLog#GetLogPath)
     * @param this
     */
    GetLogPath(this: CustomLog): string;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CustomLog#Open)
     * @param this
     */
    Open(this: CustomLog): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CustomLog#WriteAppend)
     * @param this
     * @param append
     */
    WriteAppend(this: CustomLog, append: string): void;
}
/**
 * The DataModelMesh is an abstract class from which mesh classes descend.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModelMesh)
 */
interface DataModelMesh extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataModelMesh: unique symbol;
    /**
     * The Offset of a mesh determines the relative position from the `BasePart.Position` of a `BasePart` that the mesh will be displayed at.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModelMesh#Offset)
     */
    Offset: Vector3;
    /**
     * The Scale of a mesh determines the size of the mesh relative to its original dimensions.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModelMesh#Scale)
     */
    Scale: Vector3;
    /**
     * Changes the hue of a mesh's texture, used with `FileMesh.TextureId`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModelMesh#VertexColor)
     */
    VertexColor: Vector3;
}
/**
 * **Deprecated:** This object serves no purpose other than being an abstract class that `BlockMesh` and `CylinderMesh` inherit from. Note non-character beveled parts were removed in 2013. Developers looking for beveled edges are required to use either `UnionOperations` or `MeshParts`.
 *
 * An abstract class that `BlockMesh` and `CylinderMesh` inherit from.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BevelMesh)
 *
 * @deprecated
 */
interface BevelMesh extends DataModelMesh {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BevelMesh: unique symbol;
}
/**
 * The BlockMesh object applies a 'brick' mesh to the `BasePart` it is parented to. It behaves identically to a `SpecialMesh` with `SpecialMesh.MeshType` set to 'Brick'.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BlockMesh)
 */
interface BlockMesh extends BevelMesh {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BlockMesh: unique symbol;
}
/**
 * **Deprecated:** This class is deprecated, and `CylinderMeshes` are no longer supported. Do not use it for new work.
 *
 * The CylinderMesh object applies a 'cylinder' mesh to the `BasePart` it is parented to.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylinderMesh)
 *
 * @deprecated
 */
interface CylinderMesh extends BevelMesh {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CylinderMesh: unique symbol;
}
/**
 * The FileMesh object applies a mesh to a `BasePart` when parented to it. Its properties are inherited by the `SpecialMesh` object.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FileMesh)
 */
interface FileMesh extends DataModelMesh {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FileMesh: unique symbol;
    /**
     * The MeshId is the content ID of the mesh that is to be displayed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FileMesh#MeshId)
     */
    MeshId: ContentId;
    /**
     * The TextureId is the content ID of the texture that is to be applied to the mesh.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FileMesh#TextureId)
     */
    TextureId: ContentId;
}
/**
 * The `SpecialMesh` object applies a mesh to a `BasePart` depending on the `MeshType` property.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpecialMesh)
 */
interface SpecialMesh extends FileMesh {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SpecialMesh: unique symbol;
    /**
     * Determines the type of mesh that will be applied to the `BasePart` the `SpecialMesh` is parented to.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpecialMesh#MeshType)
     */
    MeshType: Enum.MeshType;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModelPatchService)
 */
interface DataModelPatchService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataModelPatchService: unique symbol;
}
/**
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreGetOptions)
 */
interface DataStoreGetOptions extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataStoreGetOptions: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreGetOptions#UseCache)
     */
    UseCache: boolean;
}
/**
 * Specifies additional parameters for a `GlobalDataStore:IncrementAsync()` call.
 *
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreIncrementOptions)
 */
interface DataStoreIncrementOptions extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataStoreIncrementOptions: unique symbol;
    /**
     * Gets the custom metadata set with this `DataStoreIncrementOptions` instance.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreIncrementOptions#GetMetadata)
     * @param this Specifies additional parameters for a `GlobalDataStore:IncrementAsync()` call.
     * @returns Metadata associated with this `DataStoreIncrementOptions` instance.
     */
    GetMetadata(this: DataStoreIncrementOptions): object;
    /**
     * Sets custom metadata to be associated with the key.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreIncrementOptions#SetMetadata)
     * @param this Specifies additional parameters for a `GlobalDataStore:IncrementAsync()` call.
     * @param attributes Metadata values to set for the key.
     */
    SetMetadata(this: DataStoreIncrementOptions, attributes: object): void;
}
/**
 * Object describing data store information.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreInfo)
 */
interface DataStoreInfo extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataStoreInfo: unique symbol;
    /**
     * Indicates when the data store was created in milliseconds since epoch.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreInfo#CreatedTime)
     */
    readonly CreatedTime: number;
    /**
     * The name of the data store.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreInfo#DataStoreName)
     */
    readonly DataStoreName: string;
    /**
     * Indicates the last time the data store was updated in milliseconds since epoch.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreInfo#UpdatedTime)
     */
    readonly UpdatedTime: number;
}
/**
 * Object representing a key on a `DataStoreKeyPages` object.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreKey)
 */
interface DataStoreKey extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataStoreKey: unique symbol;
    /**
     * The name of the key.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreKey#KeyName)
     */
    readonly KeyName: string;
}
/**
 * An object specifying information about a particular version of the key.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreKeyInfo)
 */
interface DataStoreKeyInfo extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataStoreKeyInfo: unique symbol;
    /**
     * The date and time the object was created.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreKeyInfo#CreatedTime)
     */
    readonly CreatedTime: number;
    /**
     * The date and time the object was last updated.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreKeyInfo#UpdatedTime)
     */
    readonly UpdatedTime: number;
    /**
     * Uniquely identifies the version of the object.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreKeyInfo#Version)
     */
    readonly Version: string;
    /**
     * Returns the metadata associated with the object.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreKeyInfo#GetMetadata)
     * @param this An object specifying information about a particular version of the key.
     * @returns Metadata associated with the key.
     */
    GetMetadata(this: DataStoreKeyInfo): object;
    /**
     * An array of `UserIds` tagged with a key.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreKeyInfo#GetUserIds)
     * @param this An object specifying information about a particular version of the key.
     * @returns An array of `UserIds` associated with the object.
     */
    GetUserIds(this: DataStoreKeyInfo): Array<number>;
}
/**
 * An instance describing version information for a key.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreObjectVersionInfo)
 */
interface DataStoreObjectVersionInfo extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataStoreObjectVersionInfo: unique symbol;
    /**
     * Indicates when the version was created in milliseconds since epoch.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreObjectVersionInfo#CreatedTime)
     */
    readonly CreatedTime: number;
    /**
     * Whether the version has been marked as deleted.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreObjectVersionInfo#IsDeleted)
     */
    readonly IsDeleted: boolean;
    /**
     * Uniquely identifies a particular version of the key.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreObjectVersionInfo#Version)
     */
    readonly Version: string;
}
/**
 * Object used to provide additional parameters to `DataStoreService:GetDataStore()`.
 *
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreOptions)
 */
interface DataStoreOptions extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataStoreOptions: unique symbol;
    /**
     * Whether the `GlobalDataStore` should work with all scopes.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreOptions#AllScopes)
     */
    AllScopes: boolean;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreOptions#SetExperimentalFeatures)
     * @param this Object used to provide additional parameters to `DataStoreService:GetDataStore()`.
     * @param experimentalFeatures Luau table in `key = value` format where the key is the experimental feature name and the value is a boolean which specifies whether to enable.
     */
    SetExperimentalFeatures(this: DataStoreOptions, experimentalFeatures: object): void;
}
/**
 * A game service that gives access to persistent data storage across places in a game.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreService)
 */
interface DataStoreService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataStoreService: unique symbol;
    /**
     * Creates a `DataStore` instance with the provided name and scope.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreService#GetDataStore)
     * @param this A game service that gives access to persistent data storage across places in a game.
     * @param name Name of the data store.
     * @param scope **(Optional)** A string specifying the scope.
     * @param options **(Optional)** A `DataStoreOptions` instance to enable experimental features and v2 API features.
     * @returns A `DataStore` instance with provided name and optional scope.
     */
    GetDataStore(this: DataStoreService, name: string, scope?: string, options?: DataStoreOptions): DataStore;
    /**
     * Returns the default data store.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreService#GetGlobalDataStore)
     * @param this A game service that gives access to persistent data storage across places in a game.
     */
    GetGlobalDataStore(this: DataStoreService): DataStore;
    /**
     * Get an `OrderedDataStore` given a name and optional scope.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreService#GetOrderedDataStore)
     * @param this A game service that gives access to persistent data storage across places in a game.
     * @param name
     * @param scope
     */
    GetOrderedDataStore(this: DataStoreService, name: string, scope?: string): OrderedDataStore;
    /**
     * Returns the number of requests that can be made by the given request type.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreService#GetRequestBudgetForRequestType)
     * @param this A game service that gives access to persistent data storage across places in a game.
     * @param requestType
     */
    GetRequestBudgetForRequestType(this: DataStoreService, requestType: CastsToEnum<Enum.DataStoreRequestType>): number;
    /**
     * Sets the rate limit for a given request type per minute.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreService#SetRateLimitForRequestType)
     * @param this A game service that gives access to persistent data storage across places in a game.
     * @param requestType
     * @param baseLimit
     * @param perPlayerLimit
     */
    SetRateLimitForRequestType(this: DataStoreService, requestType: CastsToEnum<Enum.DataStoreRequestType>, baseLimit: number, perPlayerLimit: number): void;
    /**
     * Returns a `DataStoreListingPages` object for enumerating through all of the experience's data stores.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreService#ListDataStoresAsync)
     * @param this A game service that gives access to persistent data storage across places in a game.
     * @param prefix **(Optional)** Prefix to enumerate data stores that start with the given prefix.
     * @param pageSize **(Optional)** Number of items to be returned in each page. If no value is given, the engine sends a default value of 0 to the data store web service, which in turn defaults to 32 items per page.
     * @param cursor **(Optional)** Cursor to continue iteration.
     * @returns `DataStoreListingPages` instance containing `DataStoreInfo` instances that provide details such as name, creation time, and time last updated.
     */
    ListDataStoresAsync(this: DataStoreService, prefix?: string, pageSize?: number, cursor?: string): DataStoreListingPages;
}
/**
 * Specifies additional parameters for a `GlobalDataStore:SetAsync()` call.
 *
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreSetOptions)
 */
interface DataStoreSetOptions extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataStoreSetOptions: unique symbol;
    /**
     * Gets the custom metadata set with this `DataStoreSetOptions` instance.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreSetOptions#GetMetadata)
     * @param this Specifies additional parameters for a `GlobalDataStore:SetAsync()` call.
     * @returns Metadata associated with this `DataStoreSetOptions` instance.
     */
    GetMetadata(this: DataStoreSetOptions): object;
    /**
     * Sets custom metadata to be associated with the key.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreSetOptions#SetMetadata)
     * @param this Specifies additional parameters for a `GlobalDataStore:SetAsync()` call.
     * @param attributes Metadata values to set for the key.
     */
    SetMetadata(this: DataStoreSetOptions, attributes: object): void;
}
/**
 * Allows scheduling the guaranteed destruction of an object without yielding.
 *
 *  .
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Debris)
 */
interface Debris extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Debris: unique symbol;
    /**
     * Schedules a given `Instance` for destruction within the specified lifetime.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Debris#AddItem)
     * @param this Allows scheduling the guaranteed destruction of an object without yielding.
     *
     *  .
     * @param item The `Instance` to add to `Debris`.
     * @param lifetime Number of seconds before the `Instance` should be destroyed.
     */
    AddItem(this: Debris, item: Instance, lifetime?: number): void;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DebuggablePluginWatcher)
 */
interface DebuggablePluginWatcher extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DebuggablePluginWatcher: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DebuggerConnection)
 */
interface DebuggerConnection extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DebuggerConnection: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalDebuggerConnection)
 */
interface LocalDebuggerConnection extends DebuggerConnection {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LocalDebuggerConnection: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DebuggerConnectionManager)
 */
interface DebuggerConnectionManager extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DebuggerConnectionManager: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DebuggerLuaResponse)
 */
interface DebuggerLuaResponse extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DebuggerLuaResponse: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DebuggerUIService)
 */
interface DebuggerUIService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DebuggerUIService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DebuggerVariable)
 */
interface DebuggerVariable extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DebuggerVariable: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DeferredAssetManagerService)
 */
interface DeferredAssetManagerService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DeferredAssetManagerService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DeviceIdService)
 */
interface DeviceIdService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DeviceIdService: unique symbol;
}
/**
 * Creates NPC billboard-style dialog bubbles.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dialog)
 */
interface Dialog extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Dialog: unique symbol;
    /**
     * Sets whether the Dialog can be used by multiple players at once.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dialog#BehaviorType)
     */
    BehaviorType: Enum.DialogBehaviorType;
    /**
     * The furthest distance that a player can be from the Dialog's parent to start a conversation.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dialog#ConversationDistance)
     */
    ConversationDistance: number;
    /**
     * Toggles whether the goodbye option will be displayed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dialog#GoodbyeChoiceActive)
     */
    GoodbyeChoiceActive: boolean;
    /**
     * Sets the sentence that the dialog will show to the player when the chat ends.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dialog#GoodbyeDialog)
     */
    GoodbyeDialog: string;
    /**
     * If true, this dialog is being used by at least one player.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dialog#InUse)
     */
    InUse: boolean;
    /**
     * Sets the first sentence that the dialog will show to the player, once a chat is commenced.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dialog#InitialPrompt)
     */
    InitialPrompt: string;
    /**
     * Sets the icon that the initial dialog displays.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dialog#Purpose)
     */
    Purpose: Enum.DialogPurpose;
    /**
     * Sets the color of the NPC's speech bubble.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dialog#Tone)
     */
    Tone: Enum.DialogTone;
    /**
     * Sets the maximum distance that a dialog can be triggered from.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dialog#TriggerDistance)
     */
    TriggerDistance: number;
    /**
     * Sets the offset of the dialog relative to the dialog's parent.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dialog#TriggerOffset)
     */
    TriggerOffset: Vector3;
    /**
     * Returns a list of players currently using the Dialog.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dialog#GetCurrentPlayers)
     * @param this Creates NPC billboard-style dialog bubbles.
     */
    GetCurrentPlayers(this: Dialog): Array<Player>;
    /**
     * Fired when a player chooses something to say, through a `Dialog` instance.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dialog#DialogChoiceSelected)
     */
    readonly DialogChoiceSelected: RBXScriptSignal<(player: Player, dialogChoice: Dialog) => void>;
}
/**
 * Used to craft the further choices available to players who have started a dialog conversation with an NPC.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DialogChoice)
 */
interface DialogChoice extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DialogChoice: unique symbol;
    /**
     * Toggles whether the goodbye option will be displayed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DialogChoice#GoodbyeChoiceActive)
     */
    GoodbyeChoiceActive: boolean;
    /**
     * Sets the sentence that the dialog will show to the player when the chat ends.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DialogChoice#GoodbyeDialog)
     */
    GoodbyeDialog: string;
    /**
     * Sets what the NPC will say when the player chooses this DialogChoice.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DialogChoice#ResponseDialog)
     */
    ResponseDialog: string;
    /**
     * Sets what the player will say when they choose this DialogChoice.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DialogChoice#UserDialog)
     */
    UserDialog: string;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription)
 */
interface DigitsRigDescription extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DigitsRigDescription: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Index1)
     */
    Index1: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Index1TposeAdjustment)
     */
    Index1TposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Index2)
     */
    Index2: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Index2TposeAdjustment)
     */
    Index2TposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Index3)
     */
    Index3: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Index3TposeAdjustment)
     */
    Index3TposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#IndexRange)
     */
    IndexRange: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#IndexSize)
     */
    IndexSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Middle1)
     */
    Middle1: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Middle1TposeAdjustment)
     */
    Middle1TposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Middle2)
     */
    Middle2: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Middle2TposeAdjustment)
     */
    Middle2TposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Middle3)
     */
    Middle3: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Middle3TposeAdjustment)
     */
    Middle3TposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#MiddleRange)
     */
    MiddleRange: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#MiddleSize)
     */
    MiddleSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Pinky1)
     */
    Pinky1: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Pinky1TposeAdjustment)
     */
    Pinky1TposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Pinky2)
     */
    Pinky2: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Pinky2TposeAdjustment)
     */
    Pinky2TposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Pinky3)
     */
    Pinky3: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Pinky3TposeAdjustment)
     */
    Pinky3TposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#PinkyRange)
     */
    PinkyRange: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#PinkySize)
     */
    PinkySize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Ring1)
     */
    Ring1: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Ring1TposeAdjustment)
     */
    Ring1TposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Ring2)
     */
    Ring2: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Ring2TposeAdjustment)
     */
    Ring2TposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Ring3)
     */
    Ring3: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Ring3TposeAdjustment)
     */
    Ring3TposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#RingRange)
     */
    RingRange: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#RingSize)
     */
    RingSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Side)
     */
    Side: Enum.DigitsRigDescriptionSide;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Thumb1)
     */
    Thumb1: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Thumb1TposeAdjustment)
     */
    Thumb1TposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Thumb2)
     */
    Thumb2: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Thumb2TposeAdjustment)
     */
    Thumb2TposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Thumb3)
     */
    Thumb3: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#Thumb3TposeAdjustment)
     */
    Thumb3TposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#ThumbRange)
     */
    ThumbRange: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#ThumbSize)
     */
    ThumbSize: number;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#GetFingerControl)
     * @param this
     * @param fingerIndex
     */
    GetFingerControl(this: DigitsRigDescription, fingerIndex: number): Vector3;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#GetFingerTip)
     * @param this
     * @param fingerIndex
     */
    GetFingerTip(this: DigitsRigDescription, fingerIndex: number): Vector3;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#SetFingerControl)
     * @param this
     * @param fingerIndex
     * @param control
     */
    SetFingerControl(this: DigitsRigDescription, fingerIndex: number, control: Vector3): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DigitsRigDescription#SetFingerTip)
     * @param this
     * @param fingerIndex
     * @param point
     */
    SetFingerTip(this: DigitsRigDescription, fingerIndex: number, point: Vector3): void;
}
/**
 * A helper object used to create tools that can drag parts.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dragger)
 */
interface Dragger extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Dragger: unique symbol;
    /**
     * Rotates the currently dragged part(s) by 90 degrees on the given axis.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dragger#AxisRotate)
     * @param this A helper object used to create tools that can drag parts.
     * @param axis
     */
    AxisRotate(this: Dragger, axis?: CastsToEnum<Enum.Axis>): void;
    /**
     * Initializes a dragging action, specifying which parts to use when dragging.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dragger#MouseDown)
     * @param this A helper object used to create tools that can drag parts.
     * @param mousePart
     * @param pointOnMousePart
     * @param parts
     */
    MouseDown(this: Dragger, mousePart: BasePart, pointOnMousePart: Vector3, parts: Array<BasePart>): void;
    /**
     * Tries to move the currently dragged part to the point where MouseRay hits another part.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dragger#MouseMove)
     * @param this A helper object used to create tools that can drag parts.
     * @param mouseRay
     */
    MouseMove(this: Dragger, mouseRay: Ray): void;
    /**
     * Stops the current dragging action (made by `Dragger:MouseDown()`).
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Dragger#MouseUp)
     * @param this A helper object used to create tools that can drag parts.
     */
    MouseUp(this: Dragger): void;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DraggerService)
 */
interface DraggerService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DraggerService: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DraggerService#AlignDraggedObjects)
     */
    AlignDraggedObjects: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DraggerService#AngleSnapEnabled)
     */
    AngleSnapEnabled: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DraggerService#AngleSnapIncrement)
     */
    AngleSnapIncrement: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DraggerService#AnimateHover)
     */
    AnimateHover: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DraggerService#CollisionsEnabled)
     */
    CollisionsEnabled: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DraggerService#DraggerCoordinateSpace)
     */
    DraggerCoordinateSpace: Enum.DraggerCoordinateSpace;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DraggerService#DraggerMovementMode)
     */
    DraggerMovementMode: Enum.DraggerMovementMode;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DraggerService#GeometrySnapColor)
     */
    GeometrySnapColor: Color3;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DraggerService#HoverAnimateFrequency)
     */
    HoverAnimateFrequency: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DraggerService#HoverThickness)
     */
    HoverThickness: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DraggerService#JointsEnabled)
     */
    JointsEnabled: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DraggerService#LinearSnapEnabled)
     */
    LinearSnapEnabled: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DraggerService#LinearSnapIncrement)
     */
    LinearSnapIncrement: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DraggerService#ShowHover)
     */
    ShowHover: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DraggerService#ShowPivotIndicator)
     */
    ShowPivotIndicator: boolean;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EditableService)
 */
interface EditableService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_EditableService: unique symbol;
}
/**
 * Service providing common encoding, hashing, and compression methods.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EncodingService)
 */
interface EncodingService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_EncodingService: unique symbol;
    /**
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EncodingService#Base64Decode)
     * @param this Service providing common encoding, hashing, and compression methods.
     * @param input `buffer` containing Base64 data to decode
     * @returns `buffer` with the decoded result
     */
    Base64Decode(this: EncodingService, input: buffer): buffer;
    /**
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EncodingService#Base64Encode)
     * @param this Service providing common encoding, hashing, and compression methods.
     * @param input `buffer` containing binary data to encode
     * @returns `buffer` with the encoded result
     */
    Base64Encode(this: EncodingService, input: buffer): buffer;
    /**
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EncodingService#CompressBuffer)
     * @param this Service providing common encoding, hashing, and compression methods.
     * @param input `buffer` with binary data to compress
     * @param algorithm `CompressionAlgorithm` to use for compression
     * @param compressionLevel optional integer compression level to use
     * @returns `buffer` with compressed binary data
     */
    CompressBuffer(this: EncodingService, input: buffer, algorithm: CastsToEnum<Enum.CompressionAlgorithm>, compressionLevel?: number): buffer;
    /**
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EncodingService#ComputeBufferHash)
     * @param this Service providing common encoding, hashing, and compression methods.
     * @param input `buffer` with binary data to compute hash for
     * @param algorithm `HashAlgorithm` cryptographic hash function
     * @returns `buffer` with the binary data of the hash
     */
    ComputeBufferHash(this: EncodingService, input: buffer, algorithm: CastsToEnum<Enum.HashAlgorithm>): buffer;
    /**
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EncodingService#ComputeStringHash)
     * @param this Service providing common encoding, hashing, and compression methods.
     * @param input string to compute the hash for
     * @param algorithm `HashAlgorithm` cryptographic hash function
     * @returns String with the binary data of the hash
     */
    ComputeStringHash(this: EncodingService, input: string, algorithm: CastsToEnum<Enum.HashAlgorithm>): string;
    /**
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EncodingService#DecompressBuffer)
     * @param this Service providing common encoding, hashing, and compression methods.
     * @param input `buffer` with compressed binary data
     * @param algorithm `CompressionAlgorithm` to use for decompression
     * @returns `buffer` with the decompressed binary data
     */
    DecompressBuffer(this: EncodingService, input: buffer, algorithm: CastsToEnum<Enum.CompressionAlgorithm>): buffer;
    /**
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EncodingService#GetDecompressedBufferSize)
     * @param this Service providing common encoding, hashing, and compression methods.
     * @param input `buffer` with compressed binary data
     * @param algorithm `CompressionAlgorithm` used to compress it
     * @returns Integer size of the decompressed data or 'nil'
     */
    GetDecompressedBufferSize(this: EncodingService, input: buffer, algorithm: CastsToEnum<Enum.CompressionAlgorithm>): number | undefined;
}
/**
 * Represents a 3D rotation curve through a group of three `FloatCurves`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EulerRotationCurve)
 */
interface EulerRotationCurve extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_EulerRotationCurve: unique symbol;
    /**
     * Euler angles rotation order.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EulerRotationCurve#RotationOrder)
     */
    RotationOrder: Enum.RotationOrder;
    /**
     * Samples the three `FloatCurves` (`X`, `Y`, `Z`) at the passed `time` argument and returns the result as three Euler angles.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EulerRotationCurve#GetAnglesAtTime)
     * @param this Represents a 3D rotation curve through a group of three `FloatCurves`.
     * @param time
     */
    GetAnglesAtTime(this: EulerRotationCurve, time: number): Array<unknown>;
    /**
     * Samples the `EulerRotationCurve` at a given `time` and returns the corresponding rotation.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EulerRotationCurve#GetRotationAtTime)
     * @param this Represents a 3D rotation curve through a group of three `FloatCurves`.
     * @param time
     */
    GetRotationAtTime(this: EulerRotationCurve, time: number): CFrame;
    /**
     * Returns the `FloatCurve` controlling the `X` Euler angle channel.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EulerRotationCurve#X)
     * @param this Represents a 3D rotation curve through a group of three `FloatCurves`.
     */
    X(this: EulerRotationCurve): FloatCurve;
    /**
     * Returns the `FloatCurve` controlling the `Y` Euler angle channel.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EulerRotationCurve#Y)
     * @param this Represents a 3D rotation curve through a group of three `FloatCurves`.
     */
    Y(this: EulerRotationCurve): FloatCurve;
    /**
     * Returns the `FloatCurve` controlling the `Z` Euler angle channel.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EulerRotationCurve#Z)
     * @param this Represents a 3D rotation curve through a group of three `FloatCurves`.
     */
    Z(this: EulerRotationCurve): FloatCurve;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EventIngestService)
 */
interface EventIngestService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_EventIngestService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExampleV2Service)
 */
interface ExampleV2Service extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ExampleV2Service: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExperienceAuthService)
 */
interface ExperienceAuthService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ExperienceAuthService: unique symbol;
}
/**
 * Used to customize a player invite prompt.
 *
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExperienceInviteOptions)
 */
interface ExperienceInviteOptions extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ExperienceInviteOptions: unique symbol;
    /**
     * Asset ID that maps to a **Notification** asset type.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExperienceInviteOptions#InviteMessageId)
     */
    InviteMessageId: string;
    /**
     * Roblox `UserId` of the specific connection to invite.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExperienceInviteOptions#InviteUser)
     */
    InviteUser: number;
    /**
     * Used to set a parameter in `Player:GetJoinData()` when a connection joins from the invite notification.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExperienceInviteOptions#LaunchData)
     */
    LaunchData: string;
    /**
     * Custom text shown on the invite prompt for the sending player.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExperienceInviteOptions#PromptMessage)
     */
    PromptMessage: string;
}
/**
 * Service containing methods to validate users and prompt them to enable experience notifications.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExperienceNotificationService)
 */
interface ExperienceNotificationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ExperienceNotificationService: unique symbol;
    /**
     * Shows an in-experience prompt for the local player to enable notifications.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExperienceNotificationService#PromptOptIn)
     * @param this Service containing methods to validate users and prompt them to enable experience notifications.
     */
    PromptOptIn(this: ExperienceNotificationService): void;
    /**
     * Indicates whether the local player can be prompted to enable notifications.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExperienceNotificationService#CanPromptOptInAsync)
     * @param this Service containing methods to validate users and prompt them to enable experience notifications.
     * @returns Whether the local player can be prompted to enable notifications.
     */
    CanPromptOptInAsync(this: ExperienceNotificationService): boolean;
    /**
     * Fires when the local player closes the prompt.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExperienceNotificationService#OptInPromptClosed)
     */
    readonly OptInPromptClosed: RBXScriptSignal<() => void>;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExperienceService)
 */
interface ExperienceService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ExperienceService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExperienceStateCaptureService)
 */
interface ExperienceStateCaptureService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ExperienceStateCaptureService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExperienceStateRecordingService)
 */
interface ExperienceStateRecordingService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ExperienceStateRecordingService: unique symbol;
}
/**
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExplorerFilter)
 */
interface ExplorerFilter extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ExplorerFilter: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExplorerFilterAutocompleter)
 */
interface ExplorerFilterAutocompleter extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ExplorerFilterAutocompleter: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExplorerServiceVisibilityService)
 */
interface ExplorerServiceVisibilityService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ExplorerServiceVisibilityService: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ExplorerServiceVisibilityService#GetServiceVisibility)
     */
    GetServiceVisibility(this: ExplorerServiceVisibilityService, service: Instance): boolean;
}
/**
 * Applies force to `BaseParts` within the explosion's `Explosion.BlastRadius`. Breaks `JointInstances` and `WeldConstraints` between parts and kills `Humanoid` characters not protected by a `ForceField`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Explosion)
 */
interface Explosion extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Explosion: unique symbol;
    /**
     * Used to determine the amount of force applied to `BaseParts` caught in the `Explosion.BlastRadius`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Explosion#BlastPressure)
     */
    BlastPressure: number;
    /**
     * This property determines the radius of the `Explosion`, in studs. This radius determines the area of effect of the explosion, not the size of the explosion's visuals.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Explosion#BlastRadius)
     */
    BlastRadius: number;
    /**
     * Used to set the proportion of the `Explosion.BlastRadius`, between 0 and 1, within which all joints will be destroyed. Anything outside of this range will only have the `Explosion` force applied to it.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Explosion#DestroyJointRadiusPercent)
     */
    DestroyJointRadiusPercent: number;
    /**
     * This property determines how the `Explosion` will interact with `Terrain`. Used to set if explosions will cause damage to the terrain or not.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Explosion#ExplosionType)
     */
    ExplosionType: Enum.ExplosionType;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Explosion#LocalTransparencyModifier)
     */
    LocalTransparencyModifier: number;
    /**
     * This property is the position of the center of the `Explosion`. It is defined in world-space and not influenced by the `Explosion` parent.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Explosion#Position)
     */
    Position: Vector3;
    /**
     * Value between 0 and 1 that controls the speed of the particle effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Explosion#TimeScale)
     */
    TimeScale: number;
    /**
     * This property determines whether or not the visual effect of an `Explosion` is shown or not.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Explosion#Visible)
     */
    Visible: boolean;
    /**
     * Fires when the `Explosion` hits a `BasePart` within its `Explosion.BlastRadius`. Returns the part hit along with the distance of the part from `Explosion.Position`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Explosion#Hit)
     */
    readonly Hit: RBXScriptSignal<(part: BasePart, distance: number) => void>;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FaceAnimatorService)
 */
interface FaceAnimatorService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FaceAnimatorService: unique symbol;
}
/**
 * The `FaceControls` object defines a set of properties for controlling the facial expressions of a Dynamic Head.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FaceControls)
 */
interface FaceControls extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FaceControls: unique symbol;
}
/**
 * An abstract class from which the `Decal` and `Texture` classes inherit.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FaceInstance)
 */
interface FaceInstance extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FaceInstance: unique symbol;
    /**
     * Sets which face of the parent `BasePart` the object appears on.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FaceInstance#Face)
     */
    Face: Enum.NormalId;
}
/**
 * Applies an image texture to a face of a parent `BasePart`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal)
 */
interface Decal extends FaceInstance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Decal: unique symbol;
    /**
     * The `Color3` tint of the `Decal`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal#Color3)
     */
    Color3: Color3;
    /**
     * Content ID that determines the color and opacity of the surface.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal#ColorMap)
     */
    ColorMap: ContentId;
    /**
     * `Content` object that determines the color and opacity of the surface.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal#ColorMapContent)
     */
    ColorMapContent: Content;
    /**
     * Acts as a multiplier for the decal's `Transparency` property. The effects are only visible to the local player.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal#LocalTransparencyModifier)
     */
    LocalTransparencyModifier: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal#MetalnessMapContent)
     */
    get MetalnessMapContent(): Content;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal#NormalMapContent)
     */
    get NormalMapContent(): Content;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal#Rotation)
     */
    Rotation: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal#RoughnessMapContent)
     */
    get RoughnessMapContent(): Content;
    /**
     * **Deprecated:** This non-functional property is deprecated and should not be used in new work.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal#Shiny)
     *
     * @deprecated
     */
    Shiny: number;
    /**
     * **Deprecated:** This property no longer functions correctly and is deprecated. It should not be used in new work.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal#Specular)
     *
     * @deprecated
     */
    Specular: number;
    /**
     * The content ID of the image to be applied by the `Decal`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal#Texture)
     */
    Texture: ContentId;
    /**
     * The texture content displayed by the `Decal`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal#TextureContent)
     */
    TextureContent: Content;
    /**
     * Determines the transparency of the `Decal`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal#Transparency)
     */
    Transparency: number;
    /**
     * Shifts the UV coordinates by adding an offset before texture mapping.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal#UVOffset)
     */
    UVOffset: Vector2;
    /**
     * Stretches or compresses the UV coordinates by multiplying a scale factor.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal#UVScale)
     */
    UVScale: Vector2;
    /**
     * Determines the rendering order when multiple decals are assigned the same face.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Decal#ZIndex)
     */
    ZIndex: number;
}
/**
 * Applies a repeating image texture to the face of a parent `BasePart`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Texture)
 */
interface Texture extends Decal {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Texture: unique symbol;
    /**
     * Determines the offset in studs of the rendered texture's horizontal coordinate.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Texture#OffsetStudsU)
     */
    OffsetStudsU: number;
    /**
     * Determines the offset in studs of the rendered texture's vertical coordinate.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Texture#OffsetStudsV)
     */
    OffsetStudsV: number;
    /**
     * Sets the horizontal size, in studs, of the tiled image applied by the `Texture`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Texture#StudsPerTileU)
     */
    StudsPerTileU: number;
    /**
     * Sets the vertical size, in studs, of the tiled image applied by the `Texture`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Texture#StudsPerTileV)
     */
    StudsPerTileV: number;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FacialAgeEstimationService)
 */
interface FacialAgeEstimationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FacialAgeEstimationService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FacialAnimationRecordingService)
 */
interface FacialAnimationRecordingService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FacialAnimationRecordingService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FacialAnimationStreamingServiceStats)
 */
interface FacialAnimationStreamingServiceStats extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FacialAnimationStreamingServiceStats: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FacialAnimationStreamingServiceV2)
 */
interface FacialAnimationStreamingServiceV2 extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FacialAnimationStreamingServiceV2: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FacialAnimationStreamingSubsessionStats)
 */
interface FacialAnimationStreamingSubsessionStats extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FacialAnimationStreamingSubsessionStats: unique symbol;
}
/**
 * The base class for the legacy motor system.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Feature)
 */
interface Feature extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Feature: unique symbol;
    /**
     * Sets what side of the Parent the object is on.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Feature#FaceId)
     */
    FaceId: Enum.NormalId;
    /**
     * Controls how the Feature is positioned on it's parent's surface, in correspondence to the Feature's `Feature.LeftRight` and `Feature.TopBottom` properties.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Feature#InOut)
     */
    InOut: Enum.InOut;
    /**
     * Controls whether the feature is shifted to the left, center, or right on the surface.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Feature#LeftRight)
     */
    LeftRight: Enum.LeftRight;
    /**
     * Controls whether the feature is shifted to the top, center, or bottom on the surface.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Feature#TopBottom)
     */
    TopBottom: Enum.TopBottom;
}
/**
 * **Deprecated:** A Hole is an unused type of surface joint. It should not be used in new work.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Hole)
 *
 * @deprecated
 */
interface Hole extends Feature {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Hole: unique symbol;
}
/**
 * **Deprecated:** A MotorFeature is an unused type of surface joint. It should not be used for new work.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MotorFeature)
 *
 * @deprecated
 */
interface MotorFeature extends Feature {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MotorFeature: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FeatureRestrictionManager)
 */
interface FeatureRestrictionManager extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FeatureRestrictionManager: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FileManagerService)
 */
interface FileManagerService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FileManagerService: unique symbol;
}
/**
 * A preconfigured particle emitter with the visual aesthetic of fire.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Fire)
 */
interface Fire extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Fire: unique symbol;
    /**
     * Determines the color of the primary (outer) flame particles.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Fire#Color)
     */
    Color: Color3;
    /**
     * Determines whether flame particles are emit.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Fire#Enabled)
     */
    Enabled: boolean;
    /**
     * Determines the velocity at which particles are emit.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Fire#Heat)
     */
    Heat: number;
    /**
     * A multiplier for the `Fire` object's transparency that is only visible to the local client.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Fire#LocalTransparencyModifier)
     */
    LocalTransparencyModifier: number;
    /**
     * Determines the color of the of the secondary (inner) flame particles.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Fire#SecondaryColor)
     */
    SecondaryColor: Color3;
    /**
     * Determines the size of the flame particles.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Fire#Size)
     */
    Size: number;
    /**
     * Controls the speed of the particle effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Fire#TimeScale)
     */
    TimeScale: number;
}
/**
 * A sorted list of time-value pairs that define a curve. Used to animate a single numerical value.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloatCurve)
 */
interface FloatCurve extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FloatCurve: unique symbol;
    /**
     * Number of keys in the float curve.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloatCurve#Length)
     */
    readonly Length: number;
    /**
     * Returns a copy of a key at a given index.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloatCurve#GetKeyAtIndex)
     * @param this A sorted list of time-value pairs that define a curve. Used to animate a single numerical value.
     * @param index
     */
    GetKeyAtIndex(this: FloatCurve, index: number): FloatCurveKey;
    /**
     * Returns the index of the last and first key of a period of time.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloatCurve#GetKeyIndicesAtTime)
     * @param this A sorted list of time-value pairs that define a curve. Used to animate a single numerical value.
     * @param time
     */
    GetKeyIndicesAtTime(this: FloatCurve, time: number): [
        before: number,
        after: number
    ];
    /**
     * Returns a copy of all the keys in the FloatCurve as a Luau array of `FloatCurveKeys`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloatCurve#GetKeys)
     * @param this A sorted list of time-value pairs that define a curve. Used to animate a single numerical value.
     * @returns Array of `FloatCurveKeys`.
     */
    GetKeys(this: FloatCurve): Array<FloatCurveKey>;
    /**
     * Samples the float curve at a given time passed as argument.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloatCurve#GetValueAtTime)
     * @param this A sorted list of time-value pairs that define a curve. Used to animate a single numerical value.
     * @param time Time at which to sample the curve.
     * @returns Value of the curve at the requested `time`.
     */
    GetValueAtTime(this: FloatCurve, time: number): number | undefined;
    /**
     * Adds the key passed as an argument to this curve. If a key at the same time is found, it will be replaced.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloatCurve#InsertKey)
     * @param this A sorted list of time-value pairs that define a curve. Used to animate a single numerical value.
     * @param key `FloatCurveKey` to insert.
     * @returns (see description) .
     */
    InsertKey(this: FloatCurve, key: FloatCurveKey): [
        isNew: boolean,
        index: number
    ];
    /**
     * Removes a given number of keys starting from a given index.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloatCurve#RemoveKeyAtIndex)
     * @param this A sorted list of time-value pairs that define a curve. Used to animate a single numerical value.
     * @param startingIndex Starting index from which to remove keys.
     * @param count Number of keys to remove.
     * @returns Number of keys removed.
     */
    RemoveKeyAtIndex(this: FloatCurve, startingIndex: number, count?: number): number;
    /**
     * Resets this curve's keys using the `FloatCurveKey` array passed as an argument.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloatCurve#SetKeys)
     * @param this A sorted list of time-value pairs that define a curve. Used to animate a single numerical value.
     * @param keys Array of `FloatCurveKeys`.
     * @returns Number of keys inserted.
     */
    SetKeys(this: FloatCurve, keys: Array<unknown>): number;
}
/**
 * A simple container used to hold and organize Roblox instances.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Folder)
 */
interface Folder extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Folder: unique symbol;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GeneratedFolder)
 */
interface GeneratedFolder extends Folder {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GeneratedFolder: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GeneratedFolder#SetPrimaryPart)
     * @param this
     * @param part
     */
    SetPrimaryPart(this: GeneratedFolder, part: BasePart): void;
}
/**
 * Protects a `Humanoid` from taking damage dealt through the `Humanoid:TakeDamage()` method and protects `BaseParts` from having their joints broken due to an `Explosion`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ForceField)
 */
interface ForceField extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ForceField: unique symbol;
    /**
     * Determines whether or not the `ForceField` particle effect is visible.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ForceField#Visible)
     */
    Visible: boolean;
}
/**
 * A service associated with the legacy game pass system. Use `MarketplaceService` for all new work.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GamePassService)
 */
interface GamePassService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GamePassService: unique symbol;
    /**
     * **Deprecated:**
     *
     * Returns `true` if the `Player` has the specified **legacy** game pass. Does not work with new game passes.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GamePassService#PlayerHasPass)
     * @param this A service associated with the legacy game pass system. Use `MarketplaceService` for all new work.
     * @param player The `Player` for which to check ownership.
     * @param gamePassId The *Asset ID* of the game pass. This is **not** the *Game Pass ID* (see above).
     * @returns Whether the `Player` owns the game pass.
     *
     * @deprecated
     */
    PlayerHasPass(this: GamePassService, player: Player, gamePassId: number): boolean;
}
/**
 * The GamepadService is internally responsible for handling inputs from various controllers, such as Xbox One or PlayStation DualShock controllers.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GamepadService)
 */
interface GamepadService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GamepadService: unique symbol;
    /**
     * The state of the gamepad virtual cursor.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GamepadService#GamepadCursorEnabled)
     */
    get GamepadCursorEnabled(): boolean;
    /**
     * Disables the gamepad cursor, if currently enabled.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GamepadService#DisableGamepadCursor)
     * @param this The GamepadService is internally responsible for handling inputs from various controllers, such as Xbox One or PlayStation DualShock controllers.
     */
    DisableGamepadCursor(this: GamepadService): void;
    /**
     * Enables the gamepad cursor or updates its position.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GamepadService#EnableGamepadCursor)
     * @param this The GamepadService is internally responsible for handling inputs from various controllers, such as Xbox One or PlayStation DualShock controllers.
     * @param guiObject
     */
    EnableGamepadCursor(this: GamepadService, guiObject: GuiObject | undefined): void;
}
/**
 * Service that allows developers to generate 3D objects from text prompts.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GenerationService)
 */
interface GenerationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GenerationService: unique symbol;
    /**
     * Starts the generation of a new 3D mesh from a text prompt and returns unique IDs used to track and retrieve the result.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GenerationService#GenerateMeshAsync)
     * @param this Service that allows developers to generate 3D objects from text prompts.
     * @param inputs A dictionary containing the mesh generation prompts. Currently, the only supported key is the `Prompt` (string) that describes the mesh to generate.
     * @param player The `Player` requesting the generation.
     * @param options A dictionary for additional generation options to influence the result. The optional `SuggestedSize` key (`Vector3`) represents a size guide for the generated asset, meaning `GenerationService` will attempt to create a model with a size and proportion similar to the provided `Vector3`, although there is no guarantee on the final output size.
     * @param intermediateResultCallback A callback function triggered with intermediate generation results. Useful for retrieving early mesh versions before textures are applied.
     * @returns A tuple of the generation ID (a unique ID returned for each invocation of `GenerateMeshAsync()`) and context ID (not currently used).
     */
    GenerateMeshAsync(this: GenerationService, inputs: object, player: Player, options: object, intermediateResultCallback?: Callback): unknown;
    /**
     * Enables generation of multi-mesh geometries according to provided `inputs` and a `schema`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GenerationService#GenerateModelAsync)
     * @param this Service that allows developers to generate 3D objects from text prompts.
     * @param inputs A table representing conditioning inputs with the following keys: - `TextPrompt` — String description of the object to generate.
     * - `Size` — Optional `Vector3` describing the object size to   generate. This is only approximate; scale the model extents   post‑generation if you need a specific size.
     * - `MaxTriangles` — Optional integer describing the maximum number of   triangles that the returned model will contain. Lower values result   in more faceted and low-poly generations.
     * - `GenerateTextures` — `true` (default) textures the resulting   generation, while `false` will not generate textures.
     *
     *
     * @param schema Table representing the generation schema. Must contain a `PredefinedSchema` key with a string value; current valid options are `Car5` for a basic vehicle chassis consisting of five `Models`, or `Body1` which results in a single mesh output.
     * @param options Currently not used; reserved for future customization options.
     * @returns Tuple with the following elements: - A standard `Model` container instance that is compliant with   the specified `schema`.
     * - A table containing a UUID and other metadata about the generation.
     */
    GenerateModelAsync(this: GenerationService, inputs: object, schema: object, options?: object): unknown;
    /**
     * Retrieves and loads a mesh generated by `GenerationService:GenerateMeshAsync()` using the provided `generationId`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GenerationService#LoadGeneratedMeshAsync)
     * @param this Service that allows developers to generate 3D objects from text prompts.
     * @param generationId The unique ID returned by `GenerateMeshAsync()`. Identifies the mesh to load.
     * @returns The generated asset, returned as a `Model` with a single `MeshPart` containing an `EditableMesh`.
     */
    LoadGeneratedMeshAsync(this: GenerationService, generationId: string): MeshPart;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GenericChallengeService)
 */
interface GenericChallengeService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GenericChallengeService: unique symbol;
}
/**
 * Service containing geometric operations.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GeometryService)
 */
interface GeometryService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GeometryService: unique symbol;
    /**
     * Returns a table of `Constraints` and `Attachments` which you may choose to preserve, along with their respective parents.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GeometryService#CalculateConstraintsToPreserve)
     * @param this Service containing geometric operations.
     * @param source An original object that the solid modeling operation was performed on, for example `part` in `UnionAsync()`.
     * @param destination
     * @param options Options dictionary for the method: - `tolerance` — The distance tolerance, in regards to   `Attachment` preservation, between the attachment and the   closest point on the original part's surface versus the closest   point on the resulting part's surface. If the resulting distance   following the solid modeling operation is greater than this value,   the `Parent` of attachments and their   associated constraints will be `nil` in the returned recommendation   table.
     * - `weldConstraintPreserve` — A `WeldConstraintPreserve` enum   value describing how `WeldConstraints` are   preserved in the resulting recommendation table.
     * - `dropAttachmentsWithoutConstraints` — Boolean with default of   `true`. If set to `false`, `Attachments` that have   no `Constraints` will be preserved.
     *
     *
     * @returns Table containing information for general case `Constraints`, `NoCollisionConstraints`, and `WeldConstraints`. In cases where an `Attachment` or `Constraint` should be dropped, its respective parent will be `nil`. For general case `Constraints` such as `HingeConstraint`: | Key                | Type                        |
     * | ------------------ | --------------------------- |
     * | `Attachment`       | `Class.Attachment`          |
     * | `Constraint`       | `Class.Constraint` or `nil` |
     * | `AttachmentParent` | `Class.BasePart` or `nil`   |
     * | `ConstraintParent` | `Class.BasePart` or `nil`   |
     *   For `WeldConstraints`: | Key                    | Type                      |
     * | ---------------------- | ------------------------- |
     * | `WeldConstraint`       | `Class.WeldConstraint`    |
     * | `WeldConstraintParent` | `Class.BasePart` or `nil` |
     * | `WeldConstraintPart0`  | `Class.BasePart`          |
     * | `WeldConstraintPart1`  | `Class.BasePart`          |
     *   For `NoCollisionConstraints`: | Key                           | Type                          |
     * | ----------------------------- | ----------------------------- |
     * | `NoCollisionConstraint`       | `Class.NoCollisionConstraint` |
     * | `NoCollisionConstraintParent` | `Class.BasePart` or `nil`     |
     * | `NoCollisionConstraintPart0`  | `Class.BasePart`              |
     * | `NoCollisionConstraintPart1`  | `Class.BasePart`              |
     */
    CalculateConstraintsToPreserve(this: GeometryService, source: Instance, destination: ReadonlyArray<Instance>, options?: CalculateConstraintsToPreserveConfig): Array<unknown>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GeometryService#CreateSolidPrimitive)
     */
    CreateSolidPrimitive(this: GeometryService, type: CastsToEnum<Enum.SolidPrimitiveType>, options?: object): MeshPart;
    /**
     * Provides an array of positions which can easily be passed into `FragmentAsync` to perform simple types of destruction.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GeometryService#GenerateFragmentSites)
     * @param this Service containing geometric operations.
     * @param part The `Part`, `PartOperation`, or `MeshPart` which you are planning to pass into `FragmentAsync()`. This is necessary to make the fragment site generation and the subsequent `FragmentAsync()` call efficient.
     * @param options Options table containing all the controls for the method: - `SiteSpacing` — The approximate distance between sites, which   directly corresponds to the diameter of the resulting fragments. If   not specified, a reasonable value will be chosen.
     * - `Origin` — If provided, this will be the center of the area to be   fragmented. If not provided, the entire object will be fragmented.
     * - `Radius` — If provided, this will be the center of the area to be   fragmented. Either `Origin` and `Radius` should both be provided, or   neither.
     *
     *
     * @returns An array of `Vector3` which is typically passed into `FragmentAsync()`. The output depends on the options provided. If `Origin` and `Radius` are provided, then the output array will contain several `Vector3` elements which will all be located within the radius, but the first element of the array will be an inner array containing many `Vector3` sites which are outside the radius. If `Origin` and `Radius` are not provided, the output will simply be an array of `Vector3` positions within the extents of the input `part`.
     */
    GenerateFragmentSites(this: GeometryService, part: BasePart, options?: object): Array<unknown>;
    /**
     * Breaks a `BasePart` into multiple `MeshPart` instances, according to the pattern of points passed in, by using voronoi decomposition.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GeometryService#FragmentAsync)
     * @param this Service containing geometric operations.
     * @param part A `Part`, `PartOperation`, or `MeshPart` to operate on.
     * @param sites Array of `Vector3` defining the site positions. Each site will become a separate part. You can also provide a jagged 2D array of `Vector3` by including inner arrays of `Vector3` as elements of the outer array. Each inner array will have all of its voronoi cells merged into a single part. `GeometryService:GenerateFragmentSites` can be used to easily create this input.
     * @param options Options table containing all the controls for the method: - `CollisionFidelity` — The value of   `CollisionFidelity` in the   resulting parts, with one caveat: If a 2D array of sites is   provided, this collision fidelity will only be applied to parts   which came from more than one site. The others will be given `Hull`   precision.
     * - `RenderFidelity` — The value of   `RenderFidelity` in the resulting   parts.
     * - `FluidFidelity` — The value of   `FluidFidelity` in the   resulting parts.
     * - `SplitApart` — Boolean controlling whether a part should be split   into multiple parts if it contains multiple connected components.   Default is `true` (split).
     *
     *
     * @returns Array of `MeshPart` along with mapping info. Each array element is a Dictionary with two elements: `{ “Instance”: instance, “Index”: index }`. `Index` is the index in the outer array of sites; in other words, it tells you which group of sites this instance came from. Note that it is possible for multiple instances to have the same index, if SplitApart is `true`.
     */
    FragmentAsync(this: GeometryService, part: BasePart, sites: Array<unknown>, options?: object): Array<unknown>;
    /**
     * Creates one or more `PartOperations` or `MeshParts` from the intersecting geometry of multiple parts.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GeometryService#IntersectAsync)
     * @param this Service containing geometric operations.
     * @param part Main `Part`, `PartOperation`, or `MeshPart` to operate on.
     * @param parts Array of other parts to intersect with the main part.
     * @param options Options table containing all the controls for the method: - `CollisionFidelity` — The value of   `CollisionFidelity` in the   resulting parts.
     * - `RenderFidelity` — The value of   `RenderFidelity` or   `RenderFidelity` in the resulting   parts.
     * - `FluidFidelity` — The value of   `FluidFidelity` in the   resulting parts.
     * - `SplitApart` — Boolean controlling whether the objects should all be   kept together or properly split apart. Default is `true` (split).
     *
     *
     * @returns One or more `PartOperations` or `MeshParts`. If the input contained any `MeshParts`, then the results will always be `MeshParts`.
     */
    IntersectAsync(this: GeometryService, part: Part | PartOperation, parts: ReadonlyArray<Part | PartOperation>, options?: GeometryServiceAsyncMethodConfig): Array<PartOperation>;
    /**
     * Creates one or more `PartOperations` or `MeshParts` from one part minus the space occupied by other parts.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GeometryService#SubtractAsync)
     * @param this Service containing geometric operations.
     * @param part Main `Part`, `PartOperation`, or `MeshPart` to operate on.
     * @param parts Array of parts to subtract from the main part.
     * @param options Options table containing all the controls for the method: - `CollisionFidelity` — The value of   `CollisionFidelity` in the   resulting parts.
     * - `RenderFidelity` — The value of   `RenderFidelity` or   `RenderFidelity` in the resulting   parts.
     * - `FluidFidelity` — The value of   `FluidFidelity` in the   resulting parts.
     * - `SplitApart` — Boolean controlling whether the objects should all be   kept together or properly split apart. Default is `true` (split).
     *
     *
     * @returns One or more `PartOperations` or `MeshParts`. If the input contained any `MeshParts`, then the results will always be `MeshParts`.
     */
    SubtractAsync(this: GeometryService, part: Part | PartOperation, parts: ReadonlyArray<Part | PartOperation>, options?: GeometryServiceAsyncMethodConfig): Array<PartOperation>;
    /**
     * Creates a `MeshPart` which has the shape of the input part stretched/dragged through the given set of `CFrame` positions.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GeometryService#SweepPartAsync)
     * @param this Service containing geometric operations.
     * @param part A `Part`, `PartOperation`, or `MeshPart` to operate on.
     * @param cframes Array of coordinate frames to sweep parts through.
     * @param options Options table containing all the controls for the method: - `CollisionFidelity` — The value of   `CollisionFidelity` in the   resulting parts.
     * - `RenderFidelity` — The value of   `RenderFidelity` in the resulting   parts.
     * - `FluidFidelity` — The value of   `FluidFidelity` in the   resulting parts.
     *
     *
     * @returns A new `MeshPart` with the swept geometry.
     */
    SweepPartAsync(this: GeometryService, part: BasePart, cframes: Array<unknown>, options?: object): MeshPart;
    /**
     * Creates one or more `PartOperations` or `MeshParts` from one part plus the space occupied by other parts.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GeometryService#UnionAsync)
     * @param this Service containing geometric operations.
     * @param part Main `Part`, `PartOperation`, or `MeshPart` to operate on.
     * @param parts Array of parts to union with the main part.
     * @param options Options table containing all the controls for the method: - `CollisionFidelity` — The value of   `CollisionFidelity` in the   resulting parts.
     * - `RenderFidelity` — The value of   `RenderFidelity` or   `RenderFidelity` in the resulting   parts.
     * - `FluidFidelity` — The value of   `FluidFidelity` in the   resulting parts.
     * - `SplitApart` — Boolean controlling whether the objects should all be   kept together or properly split apart. Default is `true` (split).
     *
     *
     * @returns One or more `PartOperations` or `MeshParts`. If the input contained any `MeshParts`, then the results will always be `MeshParts`.
     */
    UnionAsync(this: GeometryService, part: Part | PartOperation, parts: ReadonlyArray<Part | PartOperation>, options?: GeometryServiceAsyncMethodConfig): Array<PartOperation>;
}
/**
 * Use with `TextService:GetTextBoundsAsync()` to measure the size of text.
 *
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GetTextBoundsParams)
 */
interface GetTextBoundsParams extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GetTextBoundsParams: unique symbol;
    /**
     * The `Font` of the text being measured.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GetTextBoundsParams#Font)
     */
    Font: Font;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GetTextBoundsParams#RichText)
     */
    RichText: boolean;
    /**
     * The size of the text being measured.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GetTextBoundsParams#Size)
     */
    Size: number;
    /**
     * The text being measured.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GetTextBoundsParams#Text)
     */
    Text: string;
    /**
     * The width of the container for line breaking.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GetTextBoundsParams#Width)
     */
    Width: number;
}
/**
 * An object that exposes methods to access a single data store.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GlobalDataStore)
 */
interface GlobalDataStore extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GlobalDataStore: unique symbol;
    /**
     * **Deprecated:** This function has been deprecated and should not be used in new work. You can use the `Cross Server Messaging Service` to publish and subscribe to topics to receive near real-time updates, completely replacing the need for this function.
     *
     * Sets a callback function to be executed any time the value associated with a key is changed.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GlobalDataStore#OnUpdate)
     * @param this An object that exposes methods to access a single data store.
     * @param key The key identifying the entry being retrieved from the data store.
     * @param callback The function to be executed any time the value associated with **key** is changed.
     * @returns The connection to the key being tracked for updates.
     *
     * @deprecated
     */
    OnUpdate(this: GlobalDataStore, key: string, callback: Callback): RBXScriptConnection;
    /**
     * Returns the value of a key in a specified data store and a `DataStoreKeyInfo` instance.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GlobalDataStore#GetAsync)
     * @param this An object that exposes methods to access a single data store.
     * @param key The key name for which the value is requested. If `DataStoreOptions.AllScopes` was set to true when accessing the data store through `DataStoreService:GetDataStore()`, this key name must be prepended with the original scope as in "scope/key".
     * @param options
     * @returns The value of the entry in the data store with the given key and a `DataStoreKeyInfo` instance that includes the version number, date and time the version was created, and functions to retrieve `UserIds` and metadata.
     */
    readonly GetAsync: unknown;
    /**
     * Increments the value of a key by the provided amount (both must be integers).
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GlobalDataStore#IncrementAsync)
     * @param this An object that exposes methods to access a single data store.
     * @param key Key name for which the value should be updated. If `DataStoreOptions.AllScopes` was set to true when accessing the data store through `DataStoreService:GetDataStore()`, this key name must be prepended with the original scope as in "scope/key".
     * @param delta Amount to increment the current value by.
     * @param userIds **(Optional)** A table of `UserIds` to associate with the key.
     * @param options **(Optional)** `DataStoreIncrementOptions` instance that combines multiple additional parameters as custom metadata and allows for future extensibility.
     * @returns The updated value of the entry in the data store with the given key.
     */
    readonly IncrementAsync: unknown;
    /**
     * Removes the specified key while also retaining an accessible version.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GlobalDataStore#RemoveAsync)
     * @param this An object that exposes methods to access a single data store.
     * @param key Key name to be removed. If `DataStoreOptions.AllScopes` was set to true when accessing the data store through `DataStoreService:GetDataStore()`, this key name must be prepended with the original scope as in "scope/key".
     * @returns The value of the data store prior to deletion and a `DataStoreKeyInfo` instance that includes the version number, date and time the version was created, and functions to retrieve `UserIds` and metadata.
     */
    readonly RemoveAsync: unknown;
    /**
     * Sets the value of the data store for the given key.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GlobalDataStore#SetAsync)
     * @param this An object that exposes methods to access a single data store.
     * @param key Key name for which the value should be set. If `DataStoreOptions.AllScopes` was set to true when accessing the data store through `DataStoreService:GetDataStore()`, this key name must be prepended with the original scope as in "scope/key".
     * @param value The value that the data store key will be set to.
     * @param userIds Table of `UserIds`, highly recommended to assist with GDPR tracking/removal.
     * @param options **(Optional)** `DataStoreSetOptions` instance that allows for metadata specification on the key.
     * @returns The version identifier of the newly created version. It can be used to retrieve key info using `GetVersionAsync()` or to remove it using `RemoveVersionAsync()`.
     */
    readonly SetAsync: unknown;
    /**
     * Updates a key's value with a new value from the specified callback function.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GlobalDataStore#UpdateAsync)
     * @param this An object that exposes methods to access a single data store.
     * @param key Key name for which the value should be updated. If `DataStoreOptions.AllScopes` was set to true when accessing the data store through `DataStoreService:GetDataStore()`, this key name must be prepended with the original scope as in "scope/key".
     * @param transformFunction Transform function that takes the current value and `DataStoreKeyInfo` as parameters and returns the new value along with optional `UserIds` and metadata.
     * @returns The updated value of the entry in the data store with the given key and a `DataStoreKeyInfo` instance that includes the version number, date and time the version was created, and functions to retrieve `UserIds` and metadata.
     */
    readonly UpdateAsync: unknown;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStore)
 */
interface DataStore extends GlobalDataStore {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataStore: unique symbol;
    /**
     * Retrieves the specified key version.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStore#GetVersionAsync)
     * @param this
     * @param key Key name for which the version info is requested. If `DataStoreOptions.AllScopes` was set to true when accessing the data store through `DataStoreService:GetDataStore()`, this key name must be prepended with the original scope as in "scope/key".
     * @param version Version number of the key for which the version info is requested.
     * @returns The value of the key at the specified version and a `DataStoreKeyInfo` instance that includes the version number, date and time the version was created, and functions to retrieve `UserIds` and metadata.
     */
    GetVersionAsync(this: DataStore, key: string, version: string): LuaTuple<[
        value: unknown,
        keyInfo: DataStoreKeyInfo
    ]>;
    /**
     * Retrieves the key version that was current at a given time.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStore#GetVersionAtTimeAsync)
     * @param this
     * @param key Key name for which the version info is requested. If `DataStoreOptions.AllScopes` was set to true when accessing the data store through `DataStoreService:GetDataStore()`, this key name must be prepended with the original scope as in "scope/key".
     * @param timestamp Unix timestamp in milliseconds for which the requested version was current. Must be greater than zero. Must not be more than ten minutes in the future.
     * @returns The value of the key that was current at the specified time and a `DataStoreKeyInfo` instance that includes the version number, date and time the version was created, and functions to retrieve `UserIds` and metadata. `nil` if no available version was current at the requested time.
     */
    GetVersionAtTimeAsync(this: DataStore, key: string, timestamp: number): unknown;
    /**
     * Returns a `DataStoreKeyPages` object for enumerating through keys of a data store.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStore#ListKeysAsync)
     * @param this
     * @param prefix **(Optional)** Prefix to use for locating keys.
     * @param pageSize **(Optional)** Number of items to be returned in each page. If no value is given, the engine sends a default value of 0 to the data store web service, which in turn defaults to 50 items per page.
     * @param cursor **(Optional)** Cursor to continue iteration.
     * @param excludeDeleted **(Optional)** Exclude deleted keys from being returned. When enabled ListKeys will check up to 512 keys. If all checked keys are deleted then it will return an empty list with a cursor to continue iteration.
     * @returns A `DataStoreKeyPages` instance that enumerates the keys as `DataStoreKey` instances.
     */
    ListKeysAsync(this: DataStore, prefix?: string, pageSize?: number, cursor?: string, excludeDeleted?: boolean): DataStoreKeyPages;
    /**
     * Enumerates all versions of a key.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStore#ListVersionsAsync)
     * @param this
     * @param key Key name for the versions to list. If `DataStoreOptions.AllScopes` was set to true when accessing the data store through `DataStoreService:GetDataStore()`, this key name must be prepended with the original scope as in "scope/key".
     * @param sortDirection **(Optional)** Enum specifying ascending or descending sort order.
     * @param minDate **(Optional)** Unix timestamp in milliseconds after which the versions should be listed.
     * @param maxDate **(Optional)** Unix timestamp in milliseconds up to which the versions should be listed.
     * @param pageSize **(Optional)** Number of items to be returned in each page. If no value is given, the engine sends a default value of 0 to the data store web service, which in turn defaults to 1024 items per page.
     * @returns A `DataStoreVersionPages` instance that enumerates all the versions of the key as `DataStoreObjectVersionInfo` instances.
     */
    ListVersionsAsync(this: DataStore, key: string, sortDirection?: CastsToEnum<Enum.SortDirection>, minDate?: number, maxDate?: number, pageSize?: number): DataStoreVersionPages;
    /**
     * **Deprecated:**
     *
     * Permanently deletes the specified version of a key.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStore#RemoveVersionAsync)
     * @param this
     * @param key Key name for which a version is to be removed. If `DataStoreOptions.AllScopes` was set to true when accessing the data store through `DataStoreService:GetDataStore()`, this key name must be prepended with the original scope as in "scope/key".
     * @param version Version number of the key to remove.
     *
     * @deprecated
     */
    RemoveVersionAsync(this: DataStore, key: string, version: string): void;
    GetAsync<T>(this: DataStore, key: string, options?: DataStoreGetOptions): LuaTuple<[
        T | undefined,
        DataStoreKeyInfo
    ]>;
    IncrementAsync(this: DataStore, key: string, delta?: number, userIds?: Array<number>, options?: DataStoreIncrementOptions): LuaTuple<[
        number,
        DataStoreKeyInfo
    ]>;
    SetAsync(this: DataStore, key: string, value?: unknown, userIds?: Array<number>, options?: DataStoreSetOptions): string;
    UpdateAsync<O, R>(this: DataStore, key: string, transformFunction: (oldValue: O | undefined, keyInfo: DataStoreKeyInfo | undefined) => LuaTuple<[
        newValue: R | undefined,
        userIds?: Array<number>,
        metadata?: object
    ]>): LuaTuple<[
        newValue: R | undefined,
        keyInfo: DataStoreKeyInfo
    ]>;
    RemoveAsync<T>(this: DataStore, key: string): LuaTuple<[
        T | undefined,
        DataStoreKeyInfo | undefined
    ]>;
}
/**
 * A GlobalDataStore that also allows for ordered data store entries.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/OrderedDataStore)
 */
interface OrderedDataStore extends GlobalDataStore {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_OrderedDataStore: unique symbol;
    /**
     * Returns a `DataStorePages` object.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/OrderedDataStore#GetSortedAsync)
     * @param this A GlobalDataStore that also allows for ordered data store entries.
     * @param ascending A boolean indicating whether the returned data pages are in ascending order.
     * @param pagesize The length of each page. By default is 50. The max allowed value is 100.
     * @param minValue Optional parameter. If set, data pages with a value less than **minValue** will be excluded.
     * @param maxValue Optional parameter. If set, data pages with a value greater than **maxValue** will be excluded.
     * @returns A sorted `DataStorePages` object based on the provided arguments.
     */
    GetSortedAsync(this: OrderedDataStore, ascending: boolean, pagesize: number, minValue?: number, maxValue?: number): DataStorePages;
    GetAsync(this: OrderedDataStore, key: string): number | undefined;
    IncrementAsync(this: OrderedDataStore, key: string, delta?: number): number;
    RemoveAsync(this: OrderedDataStore, key: string): number | undefined;
    SetAsync(this: OrderedDataStore, key: string, value?: unknown): void;
    UpdateAsync(this: OrderedDataStore, key: string, transformFunction: (oldValue: number | undefined) => number | undefined): number | undefined;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GongService)
 */
interface GongService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GongService: unique symbol;
}
/**
 * GroupService is a service that allows developers to fetch information about a Roblox group from within a game.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroupService)
 */
interface GroupService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GroupService: unique symbol;
    /**
     * Returns a `StandardPages` object including information on all of the specified group's allies.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroupService#GetAlliesAsync)
     * @param this GroupService is a service that allows developers to fetch information about a Roblox group from within a game.
     * @param groupId The group's ID.
     */
    GetAlliesAsync(this: GroupService, groupId: number): StandardPages<GroupInfo>;
    /**
     * Returns a `StandardPages` object including information on all of the specified group's enemies.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroupService#GetEnemiesAsync)
     * @param this GroupService is a service that allows developers to fetch information about a Roblox group from within a game.
     * @param groupId The group's ID.
     */
    GetEnemiesAsync(this: GroupService, groupId: number): StandardPages<GroupInfo>;
    /**
     * Returns a table containing information about the given group.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroupService#GetGroupInfoAsync)
     * @param this GroupService is a service that allows developers to fetch information about a Roblox group from within a game.
     * @param groupId The group ID of the group.
     * @returns A dictionary of information about the group.
     */
    GetGroupInfoAsync(this: GroupService, groupId: number): GroupInfo;
    /**
     * Returns a list of tables containing information on all of the groups a given player is a member of.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroupService#GetGroupsAsync)
     * @param this GroupService is a service that allows developers to fetch information about a Roblox group from within a game.
     * @param userId The `Player.UserId` of the user.
     * @returns An array of dictionaries containing information on the group's the `Player` is a member of.
     */
    GetGroupsAsync(this: GroupService, userId: number): Array<GetGroupsAsyncResult>;
    /**
     * Prompts the local `Player` to join a specified Roblox group via a native modal.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GroupService#PromptJoinAsync)
     * @param this GroupService is a service that allows developers to fetch information about a Roblox group from within a game.
     * @param groupId ID of the group to prompt the player to join. This must be a valid group ID.
     * @returns `GroupMembershipStatus` indicating the player's group membership status after the prompt is closed. If the player closes the prompt without joining, this will return `GroupMembershipStatus.None` or their previous status if they were already a member.
     */
    PromptJoinAsync(this: GroupService, groupId: number): Enum.GroupMembershipStatus;
}
/**
 * GuiBase is an abstract class which most graphical user interface objects inherit from.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase)
 */
interface GuiBase extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GuiBase: unique symbol;
}
/**
 * An abstract class inherited by 2D `GuiObjects`.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase2d)
 */
interface GuiBase2d extends GuiBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GuiBase2d: unique symbol;
    /**
     * Describes the actual screen position of a `GuiBase2d` element, in pixels.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase2d#AbsolutePosition)
     */
    readonly AbsolutePosition: Vector2;
    /**
     * Describes the actual screen rotation of a `GuiBase2d` element, in degrees.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase2d#AbsoluteRotation)
     */
    readonly AbsoluteRotation: number;
    /**
     * Describes the actual screen size of a `GuiBase2d` element, in pixels.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase2d#AbsoluteSize)
     */
    readonly AbsoluteSize: Vector2;
    /**
     * When set to `true`, localization will be applied to this `GuiBase2d` and its descendants.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase2d#AutoLocalize)
     */
    AutoLocalize: boolean;
    /**
     * **Deprecated:** This item is deprecated. Do not use it for new work.
     *
     * Automatically set to true when a localization table's `LocalizationTable.Root` targets this object, or an ancestor of this object.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase2d#Localize)
     *
     * @deprecated AutoLocalize
     */
    Localize: boolean;
    /**
     * A reference to a `LocalizationTable` to be used to apply automated localization to this `GuiBase2d` and its descendants.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase2d#RootLocalizationTable)
     */
    RootLocalizationTable: LocalizationTable | undefined;
    /**
     * Customizes gamepad selection behavior in the down direction.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase2d#SelectionBehaviorDown)
     */
    SelectionBehaviorDown: Enum.SelectionBehavior;
    /**
     * Customizes gamepad selection behavior in the left direction.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase2d#SelectionBehaviorLeft)
     */
    SelectionBehaviorLeft: Enum.SelectionBehavior;
    /**
     * Customizes gamepad selection behavior in the right direction.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase2d#SelectionBehaviorRight)
     */
    SelectionBehaviorRight: Enum.SelectionBehavior;
    /**
     * Customizes gamepad selection behavior in the up direction.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase2d#SelectionBehaviorUp)
     */
    SelectionBehaviorUp: Enum.SelectionBehavior;
    /**
     * Allows customization of gamepad selection movement.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase2d#SelectionGroup)
     */
    SelectionGroup: boolean;
    /**
     * Fires when the gamepad selection moves to, leaves, or changes within the connected `GuiBase2d` or any descendant `GuiObjects`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase2d#SelectionChanged)
     */
    readonly SelectionChanged: RBXScriptSignal<(amISelected: boolean, previousSelection: GuiObject, newSelection: GuiObject) => void>;
}
/**
 * An abstract class for all 2D user interface objects.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject)
 */
interface GuiObject extends GuiBase2d {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GuiObject: unique symbol;
    /**
     * Determines whether this UI element sinks input.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#Active)
     */
    Active: boolean;
    /**
     * Determines the origin point of a `GuiObject`, relative to its absolute size.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#AnchorPoint)
     */
    AnchorPoint: Vector2;
    /**
     * Determines whether resizing occurs based on child content.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#AutomaticSize)
     */
    AutomaticSize: Enum.AutomaticSize;
    /**
     * **Deprecated:** This property is deprecated in favor of the `Color3` property `GuiObject.BackgroundColor3`, which should be used in new work instead.
     *
     * Determines the color of the `GuiObject` background.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#BackgroundColor)
     *
     * @deprecated
     */
    BackgroundColor: BrickColor;
    /**
     * Determines the `GuiObject` background color.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#BackgroundColor3)
     */
    BackgroundColor3: Color3;
    /**
     * Determines the transparency of the `GuiObject` background and border.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#BackgroundTransparency)
     */
    BackgroundTransparency: number;
    /**
     * **Deprecated:** This property is deprecated in favor of the `Color3` property BorderColor3, which should be used in new work instead.
     *
     * Determines the color of the `GuiObject` border.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#BorderColor)
     *
     * @deprecated
     */
    BorderColor: BrickColor;
    /**
     * Determines the color of the `GuiObject` border.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#BorderColor3)
     */
    BorderColor3: Color3;
    /**
     * Determines in what manner the `GuiObject` border is laid out relative to its dimensions.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#BorderMode)
     */
    BorderMode: Enum.BorderMode;
    /**
     * Determines the pixel width of the `GuiObject` border.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#BorderSizePixel)
     */
    BorderSizePixel: number;
    /**
     * Determines if descendant `GuiObjects` outside of the bounds of a parent GUI element should render.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#ClipsDescendants)
     */
    ClipsDescendants: boolean;
    /**
     * **Deprecated:** This property is deprecated. Use `UIDragDetector` instead, as it supports more input types and can be better customized.
     *
     * Determines whether a `GuiObject` (and its descendants) can be dragged around the screen.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#Draggable)
     *
     * @deprecated
     */
    Draggable: boolean;
    /**
     * Determines whether the player's mouse is being actively pressed on the `GuiObject` or not.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#GuiState)
     */
    readonly GuiState: Enum.GuiState;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#InputSink)
     */
    InputSink: Enum.InputSink;
    /**
     * Determines whether the `GuiButton` can be interacted with or not, or if the `GuiState` of the `GuiObject` is changing or not.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#Interactable)
     */
    Interactable: boolean;
    /**
     * Controls the sort order of the `GuiObject` when used with a `UIGridStyleLayout`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#LayoutOrder)
     */
    LayoutOrder: number;
    /**
     * Sets the `GuiObject` which will be selected when the gamepad selector is moved downward.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#NextSelectionDown)
     */
    NextSelectionDown: GuiObject | undefined;
    /**
     * Sets the `GuiObject` which will be selected when the gamepad selector is moved to the left.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#NextSelectionLeft)
     */
    NextSelectionLeft: GuiObject | undefined;
    /**
     * Sets the `GuiObject` which will be selected when the gamepad selector is moved to the right.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#NextSelectionRight)
     */
    NextSelectionRight: GuiObject | undefined;
    /**
     * Sets the `GuiObject` which will be selected when the gamepad selector is moved upward.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#NextSelectionUp)
     */
    NextSelectionUp: GuiObject | undefined;
    /**
     * Determines the pixel and scalar position of the `GuiObject`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#Position)
     */
    Position: UDim2;
    /**
     * Determines the number of degrees by which the `GuiObject` is rotated.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#Rotation)
     */
    Rotation: number;
    /**
     * Determine whether the `GuiObject` can be selected by a gamepad.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#Selectable)
     */
    Selectable: boolean;
    /**
     * Overrides the default selection adornment used for gamepads.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#SelectionImageObject)
     */
    SelectionImageObject: GuiObject | undefined;
    /**
     * The order of `GuiObjects` selected by the gamepad UI selection.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#SelectionOrder)
     */
    SelectionOrder: number;
    /**
     * Determines the pixel and scalar size of the `GuiObject`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#Size)
     */
    Size: UDim2;
    /**
     * Sets the `Size` axes that the `GuiObject` will be based on, relative to the size of its parent.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#SizeConstraint)
     */
    SizeConstraint: Enum.SizeConstraint;
    /**
     * A mixed property of `BackgroundTransparency` and `TextTransparency`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#Transparency)
     */
    Transparency: number;
    /**
     * Determines whether the `GuiObject` and its descendants will be rendered.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#Visible)
     */
    Visible: boolean;
    /**
     * Determines the order in which a `GuiObject` renders relative to others.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#ZIndex)
     */
    ZIndex: number;
    /**
     * Smoothly moves a GUI to a new `UDim2`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#TweenPosition)
     * @param this An abstract class for all 2D user interface objects.
     * @param endPosition Where the GUI should move to.
     * @param easingDirection The direction in which to ease the GUI to the *endPosition*.
     * @param easingStyle The style in which to ease the GUI to the *endPosition*.
     * @param time How long, in seconds, the tween should take to complete.
     * @param override Whether the tween will override an in-progress tween.
     * @param callback A callback function to execute when the tween completes.
     * @returns Whether the tween will play.
     */
    TweenPosition(this: GuiObject, endPosition: UDim2, easingDirection?: CastsToEnum<Enum.EasingDirection>, easingStyle?: CastsToEnum<Enum.EasingStyle>, time?: number, override?: boolean, callback?: (finishedTween: Enum.TweenStatus) => void): boolean;
    /**
     * Smoothly resizes a `GuiObject` to a new `UDim2`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#TweenSize)
     * @param this An abstract class for all 2D user interface objects.
     * @param endSize The size that the GUI should resize.
     * @param easingDirection The direction in which to ease the GUI to the *endSize*.
     * @param easingStyle The style in which to ease the GUI to the *endSize*.
     * @param time How long, in seconds, the tween should take to complete.
     * @param override Whether the tween will override an in-progress tween.
     * @param callback A callback function to execute when the tween completes.
     * @returns Whether the tween will play.
     */
    TweenSize(this: GuiObject, endSize: UDim2, easingDirection?: CastsToEnum<Enum.EasingDirection>, easingStyle?: CastsToEnum<Enum.EasingStyle>, time?: number, override?: boolean, callback?: (finishedTween: Enum.TweenStatus) => void): boolean;
    /**
     * Smoothly moves a GUI to a new size and position.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#TweenSizeAndPosition)
     * @param this An abstract class for all 2D user interface objects.
     * @param endSize The size that the GUI should resize.
     * @param endPosition Where the GUI should move to.
     * @param easingDirection The direction in which to ease the GUI to the *endSize* and *endPosition*.
     * @param easingStyle The style in which to ease the GUI to the *endSize* and *endPosition*.
     * @param time How long, in seconds, the tween should take to complete.
     * @param override Whether the tween will override an in-progress tween.
     * @param callback A callback function to execute when the tween completes.
     * @returns Whether the tween will play.
     */
    TweenSizeAndPosition(this: GuiObject, endSize: UDim2, endPosition: UDim2, easingDirection?: CastsToEnum<Enum.EasingDirection>, easingStyle?: CastsToEnum<Enum.EasingStyle>, time?: number, override?: boolean, callback?: (finishedTween: Enum.TweenStatus) => void): boolean;
    /**
     * **Deprecated:** This property is deprecated. Use `UIDragDetector` instead, as it supports more input types and can be better customized.
     *
     * Fired when a player begins dragging the object.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#DragBegin)
     *
     * @deprecated
     */
    readonly DragBegin: RBXScriptSignal<(initialPosition: UDim2) => void>;
    /**
     * **Deprecated:** This property is deprecated. Use `UIDragDetector` instead, as it supports more input types and can be better customized.
     *
     * Fired when a player stops dragging the object.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#DragStopped)
     *
     * @deprecated
     */
    readonly DragStopped: RBXScriptSignal<(x: number, y: number) => void>;
    /**
     * Fired when a user begins interacting via a Human-Computer Interface device (Mouse button down, touch begin, keyboard button down, etc).
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#InputBegan)
     */
    readonly InputBegan: RBXScriptSignal<(input: InputObject) => void>;
    /**
     * Fired when a user changes how they're interacting via a Human-Computer Interface device (Mouse button down, touch begin, keyboard button down, etc).
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#InputChanged)
     */
    readonly InputChanged: RBXScriptSignal<(input: InputObject) => void>;
    /**
     * Fired when a user stops interacting via a Human-Computer Interface device (Mouse button down, touch begin, keyboard button down, etc).
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#InputEnded)
     */
    readonly InputEnded: RBXScriptSignal<(input: InputObject) => void>;
    /**
     * Fires when a user moves their mouse into a GUI element.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#MouseEnter)
     */
    readonly MouseEnter: RBXScriptSignal<(x: number, y: number) => void>;
    /**
     * Fires when a user moves their mouse out of a GUI element.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#MouseLeave)
     */
    readonly MouseLeave: RBXScriptSignal<(x: number, y: number) => void>;
    /**
     * Fires whenever a user moves their mouse while it is inside a GUI element.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#MouseMoved)
     */
    readonly MouseMoved: RBXScriptSignal<(x: number, y: number) => void>;
    /**
     * Fires when a user scrolls their mouse wheel back when the mouse is over a GUI element.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#MouseWheelBackward)
     */
    readonly MouseWheelBackward: RBXScriptSignal<(x: number, y: number) => void>;
    /**
     * Fires when a user scrolls their mouse wheel forward when the mouse is over a GUI element.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#MouseWheelForward)
     */
    readonly MouseWheelForward: RBXScriptSignal<(x: number, y: number) => void>;
    /**
     * Fired when the GuiObject is being focused on with the Gamepad selector.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#SelectionGained)
     */
    readonly SelectionGained: RBXScriptSignal<() => void>;
    /**
     * Fired when the Gamepad selector stops focusing on the GuiObject.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#SelectionLost)
     */
    readonly SelectionLost: RBXScriptSignal<() => void>;
    /**
     * Fires when the player starts, continues and stops long-pressing the UI element.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#TouchLongPress)
     */
    readonly TouchLongPress: RBXScriptSignal<(touchPositions: Array<Vector2>, state: Enum.UserInputState) => void>;
    /**
     * Fires when the player moves their finger on the UI element.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#TouchPan)
     */
    readonly TouchPan: RBXScriptSignal<(touchPositions: Array<Vector2>, totalTranslation: Vector2, velocity: Vector2, state: Enum.UserInputState) => void>;
    /**
     * Fires when the player performs a pinch or pull gesture using two fingers on the UI element.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#TouchPinch)
     */
    readonly TouchPinch: RBXScriptSignal<(touchPositions: Array<Vector2>, scale: number, velocity: number, state: Enum.UserInputState) => void>;
    /**
     * Fires when the player performs a rotation gesture using two fingers on the UI element.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#TouchRotate)
     */
    readonly TouchRotate: RBXScriptSignal<(touchPositions: Array<Vector2>, rotation: number, velocity: number, state: Enum.UserInputState) => void>;
    /**
     * Fires when the player performs a swipe gesture on the UI element.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#TouchSwipe)
     */
    readonly TouchSwipe: RBXScriptSignal<(swipeDirection: Enum.SwipeDirection, numberOfTouches: number) => void>;
    /**
     * Fires when the player performs a tap gesture on the UI element.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiObject#TouchTap)
     */
    readonly TouchTap: RBXScriptSignal<(touchPositions: Array<Vector2>) => void>;
}
/**
 * Blends descendants as a group with color/transparency.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CanvasGroup)
 */
interface CanvasGroup extends GuiObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CanvasGroup: unique symbol;
    /**
     * Color tint that applies to all descendants.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CanvasGroup#GroupColor3)
     */
    GroupColor3: Color3;
    /**
     * Transparency that applies to all descendants.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CanvasGroup#GroupTransparency)
     */
    GroupTransparency: number;
}
/**
 * A `GuiObject` that renders as a plain rectangle, generally used as a container.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Frame)
 */
interface Frame extends GuiObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Frame: unique symbol;
    /**
     * Sets what the frame looks like from a selection of pre-determined styles.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Frame#Style)
     */
    Style: Enum.FrameStyle;
}
/**
 * An abstract class for interactive 2D user interface elements.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiButton)
 */
interface GuiButton extends GuiObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GuiButton: unique symbol;
    /**
     * Determines whether the button automatically changes color when the mouse hovers over or clicks on it.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiButton#AutoButtonColor)
     */
    AutoButtonColor: boolean;
    /**
     * A `HapticEffect` instance that will play when the `GuiButton` is being hovered.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiButton#HoverHapticEffect)
     */
    HoverHapticEffect: HapticEffect | undefined;
    /**
     * If `true` while the GUI element is visible, the mouse will not be locked unless the right mouse button is down.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiButton#Modal)
     */
    Modal: boolean;
    /**
     * A `HapticEffect` instance that will play when the `GuiButton` is being pressed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiButton#PressHapticEffect)
     */
    PressHapticEffect: HapticEffect | undefined;
    /**
     * A boolean property which indicates whether the object has been selected.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiButton#Selected)
     */
    Selected: boolean;
    /**
     * Sets the style of the `GuiButton` based on a list of pre-determined styles.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiButton#Style)
     */
    Style: Enum.ButtonStyle;
    /**
     * Fires when the button is activated.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiButton#Activated)
     */
    readonly Activated: RBXScriptSignal<(inputObject: InputObject, clickCount: number) => void>;
    /**
     * Fires when the user's mouse fully left clicks the `GuiButton`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiButton#MouseButton1Click)
     */
    readonly MouseButton1Click: RBXScriptSignal<() => void>;
    /**
     * Fires when the user presses their left mouse button down on the `GuiButton`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiButton#MouseButton1Down)
     */
    readonly MouseButton1Down: RBXScriptSignal<(x: number, y: number) => void>;
    /**
     * Fires when the user releases their left mouse button off of the `GuiButton`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiButton#MouseButton1Up)
     */
    readonly MouseButton1Up: RBXScriptSignal<(x: number, y: number) => void>;
    /**
     * Fires when the user's mouse fully right clicks the `GuiButton`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiButton#MouseButton2Click)
     */
    readonly MouseButton2Click: RBXScriptSignal<() => void>;
    /**
     * Fires when the user presses their right mouse button down on the `GuiButton`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiButton#MouseButton2Down)
     */
    readonly MouseButton2Down: RBXScriptSignal<(x: number, y: number) => void>;
    /**
     * Fires when the user releases their right mouse button off of the `GuiButton`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiButton#MouseButton2Up)
     */
    readonly MouseButton2Up: RBXScriptSignal<(x: number, y: number) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiButton#SecondaryActivated)
     */
    readonly SecondaryActivated: RBXScriptSignal<(inputObject: InputObject) => void>;
}
/**
 * A 2D user interface element that displays an interactive image.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton)
 */
interface ImageButton extends GuiButton {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ImageButton: unique symbol;
    /**
     * A texture ID that will be used when the `ImageButton` is being hovered.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton#HoverImage)
     */
    HoverImage: ContentId;
    /**
     * The image content that will be used when the `ImageButton` is being hovered. Only supports asset URIs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton#HoverImageContent)
     */
    HoverImageContent: Content;
    /**
     * The image content displayed by the `ImageButton` element. Reads and writes to `ImageContent`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton#Image)
     */
    Image: ContentId;
    /**
     * Determines how a rendered image will be colorized.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton#ImageColor3)
     */
    ImageColor3: Color3;
    /**
     * The image content displayed by the UI element. Supports asset URIs and `EditableImage` objects.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton#ImageContent)
     */
    ImageContent: Content;
    /**
     * The offset in pixels of the sub-area of an image to be displayed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton#ImageRectOffset)
     */
    ImageRectOffset: Vector2;
    /**
     * Determines the size in pixels of the sub-area of an image to be displayed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton#ImageRectSize)
     */
    ImageRectSize: Vector2;
    /**
     * Determines the transparency of the rendered image.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton#ImageTransparency)
     */
    ImageTransparency: number;
    /**
     * Indicates whether the Image has finished loading from the Roblox website.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton#IsLoaded)
     */
    readonly IsLoaded: boolean;
    /**
     * A texture ID that will be used when an `ImageButton` is being pressed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton#PressedImage)
     */
    PressedImage: ContentId;
    /**
     * The image content that will be used when an `ImageButton` is being pressed. Only supports asset URIs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton#PressedImageContent)
     */
    PressedImageContent: Content;
    /**
     * Selects the image resampling mode for the button.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton#ResampleMode)
     */
    ResampleMode: Enum.ResamplerMode;
    /**
     * Determines how an image will scale if displayed in a UI element whose size differs from the source image.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton#ScaleType)
     */
    ScaleType: Enum.ScaleType;
    /**
     * Sets the slice boundaries of a 9-sliced image.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton#SliceCenter)
     */
    SliceCenter: Rect;
    /**
     * Scales the 9-slice edges by the specified ratio.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton#SliceScale)
     */
    SliceScale: number;
    /**
     * Sets the tiling scale of the ImageButton.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageButton#TileSize)
     */
    TileSize: UDim2;
}
/**
 * A 2D user interface element that displays interactive text.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton)
 */
interface TextButton extends GuiButton {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextButton: unique symbol;
    /**
     * A copy of `TextButton.Text` that contains exactly what is being rendered by the `TextButton`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#ContentText)
     */
    readonly ContentText: string;
    /**
     * Determines the font used to render text.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#Font)
     */
    Font: Enum.Font;
    /**
     * Determines the font used to render text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#FontFace)
     */
    FontFace: Font;
    /**
     * **Deprecated:** This property is deprecated in favor of `TextSize` which is an integer and not an enum and thus offers far more options for sizes.
     *
     * Determines the font size to be used.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#FontSize)
     *
     * @deprecated TextSize
     */
    FontSize: Enum.FontSize;
    /**
     * Scales the spacing between lines of text in the `TextButton`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#LineHeight)
     */
    LineHeight: number;
    /**
     * Sets whether a `TextButton` should be `GuiBase2d.Localize` or not.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#LocalizedText)
     */
    readonly LocalizedText: string;
    /**
     * The maximum number of graphemes the `TextButton` can show.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#MaxVisibleGraphemes)
     */
    MaxVisibleGraphemes: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#OpenTypeFeatures)
     */
    OpenTypeFeatures: string;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#OpenTypeFeaturesError)
     */
    readonly OpenTypeFeaturesError: string;
    /**
     * Determines whether the `TextButton` renders its text using rich text formatting.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#RichText)
     */
    RichText: boolean;
    /**
     * Determines the string rendered by the `TextButton`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#Text)
     */
    Text: string;
    /**
     * Read-only property which reflects the absolute size of rendered text in offsets.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#TextBounds)
     */
    readonly TextBounds: Vector2;
    /**
     * **Deprecated:** This item has been superseded by `TextButton.TextColor3` which should be used in all new work.
     *
     * Determines the color of text.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#TextColor)
     *
     * @deprecated
     */
    TextColor: BrickColor;
    /**
     * Determines the color of rendered text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#TextColor3)
     */
    TextColor3: Color3;
    /**
     * Direction in which the text is rendered.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#TextDirection)
     */
    TextDirection: Enum.TextDirection;
    /**
     * A boolean representation of whether the button's text fits within the size of it.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#TextFits)
     */
    readonly TextFits: boolean;
    /**
     * Changes whether text is resized to fit within the `TextButton`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#TextScaled)
     */
    TextScaled: boolean;
    /**
     * Determines the line height of text in offsets.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#TextSize)
     */
    TextSize: number;
    /**
     * Determines the color of the text stroke (outline).
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#TextStrokeColor3)
     */
    TextStrokeColor3: Color3;
    /**
     * Determines the transparency of the text stroke (outline).
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#TextStrokeTransparency)
     */
    TextStrokeTransparency: number;
    /**
     * Determines the transparency of rendered text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#TextTransparency)
     */
    TextTransparency: number;
    /**
     * Controls the truncation of the text displayed in the `TextButton`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#TextTruncate)
     */
    TextTruncate: Enum.TextTruncate;
    /**
     * **Deprecated:** This item has been superseded by `TextButton.TextWrapped` which should be used in all new work.
     *
     * Determines whether or not text should wrap at the edges of the `TextButton` element's space.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#TextWrap)
     *
     * @deprecated TextWrapped
     */
    TextWrap: boolean;
    /**
     * Determines if text wraps to multiple lines within the `TextButton` element's space, truncating excess text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#TextWrapped)
     */
    TextWrapped: boolean;
    /**
     * Determines the horizontal alignment of rendered text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#TextXAlignment)
     */
    TextXAlignment: Enum.TextXAlignment;
    /**
     * Determines the vertical alignment of rendered text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextButton#TextYAlignment)
     */
    TextYAlignment: Enum.TextYAlignment;
}
/**
 * An abstract class for non-interactive 2D user interface elements.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiLabel)
 */
interface GuiLabel extends GuiObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GuiLabel: unique symbol;
}
/**
 * A 2D user interface element that displays a single non-interactive image.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageLabel)
 */
interface ImageLabel extends GuiLabel {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ImageLabel: unique symbol;
    /**
     * The image content displayed by the UI element. Reads and writes to `ImageContent`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageLabel#Image)
     */
    Image: ContentId;
    /**
     * Determines how a rendered image will be colorized.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageLabel#ImageColor3)
     */
    ImageColor3: Color3;
    /**
     * The image content displayed by the UI element. Supports [asset URIs](../../../projects/assets/index.md#asset-uris) and `EditableImage` objects.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageLabel#ImageContent)
     */
    ImageContent: Content;
    /**
     * The offset in pixels of the sub-area of an image to be displayed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageLabel#ImageRectOffset)
     */
    ImageRectOffset: Vector2;
    /**
     * Determines the size in pixels of the sub-area of an image to be displayed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageLabel#ImageRectSize)
     */
    ImageRectSize: Vector2;
    /**
     * Determines the transparency of the rendered image.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageLabel#ImageTransparency)
     */
    ImageTransparency: number;
    /**
     * Indicates whether the image has finished loading from Roblox.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageLabel#IsLoaded)
     */
    readonly IsLoaded: boolean;
    /**
     * Selects the image resampling mode for the label.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageLabel#ResampleMode)
     */
    ResampleMode: Enum.ResamplerMode;
    /**
     * Determines how an image will scale if displayed in a UI element whose size differs from the source image.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageLabel#ScaleType)
     */
    ScaleType: Enum.ScaleType;
    /**
     * Sets the slice boundaries of a 9-sliced image.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageLabel#SliceCenter)
     */
    SliceCenter: Rect;
    /**
     * Scales the 9-slice edges by the specified ratio.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageLabel#SliceScale)
     */
    SliceScale: number;
    /**
     * Sets the tiling size of the `ImageLabel`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageLabel#TileSize)
     */
    TileSize: UDim2;
}
/**
 * A 2D user interface element that displays non-interactive text.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel)
 */
interface TextLabel extends GuiLabel {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextLabel: unique symbol;
    /**
     * A copy of `TextLabel.Text` that contains exactly what is being rendered by the `TextLabel`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#ContentText)
     */
    readonly ContentText: string;
    /**
     * Determines the font used to render text.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#Font)
     */
    Font: Enum.Font;
    /**
     * Determines the font used to render text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#FontFace)
     */
    FontFace: Font;
    /**
     * **Deprecated:** This property is deprecated in favor of `TextSize` which is an integer and not an enum and thus offers far more options for sizes.
     *
     * Determines the font size to be used.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#FontSize)
     *
     * @deprecated TextSize
     */
    FontSize: Enum.FontSize;
    /**
     * Scales the spacing between lines of text in the `TextLabel`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#LineHeight)
     */
    LineHeight: number;
    /**
     * Sets whether a `TextLabel` should be `GuiBase2d.Localize` or not.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#LocalizedText)
     */
    readonly LocalizedText: string;
    /**
     * The maximum number of graphemes the `TextLabel` can show.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#MaxVisibleGraphemes)
     */
    MaxVisibleGraphemes: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#OpenTypeFeatures)
     */
    OpenTypeFeatures: string;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#OpenTypeFeaturesError)
     */
    readonly OpenTypeFeaturesError: string;
    /**
     * Determines whether the `TextLabel` renders its text using rich text formatting.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#RichText)
     */
    RichText: boolean;
    /**
     * Determines the string rendered by the `TextLabel`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#Text)
     */
    Text: string;
    /**
     * Read-only property which reflects the absolute size of rendered text in offsets.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#TextBounds)
     */
    readonly TextBounds: Vector2;
    /**
     * **Deprecated:** This item has been superseded by `TextLabel.TextColor3` which should be used in all new work.
     *
     * Determines the color of text.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#TextColor)
     *
     * @deprecated
     */
    TextColor: BrickColor;
    /**
     * Determines the color of rendered text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#TextColor3)
     */
    TextColor3: Color3;
    /**
     * Direction in which the text is rendered.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#TextDirection)
     */
    TextDirection: Enum.TextDirection;
    /**
     * A boolean representation of whether the label's text fits within the size of it.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#TextFits)
     */
    readonly TextFits: boolean;
    /**
     * Changes whether text is resized to fit within the `TextLabel`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#TextScaled)
     */
    TextScaled: boolean;
    /**
     * Determines the line height of text in offsets.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#TextSize)
     */
    TextSize: number;
    /**
     * Determines the color of the text stroke (outline).
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#TextStrokeColor3)
     */
    TextStrokeColor3: Color3;
    /**
     * Determines the transparency of the text stroke (outline).
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#TextStrokeTransparency)
     */
    TextStrokeTransparency: number;
    /**
     * Determines the transparency of rendered text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#TextTransparency)
     */
    TextTransparency: number;
    /**
     * Controls the truncation of the text displayed in the `TextLabel`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#TextTruncate)
     */
    TextTruncate: Enum.TextTruncate;
    /**
     * **Deprecated:** This property is simply an alias for `TextWrapped`. Use the past-tense version instead.
     *
     * Determines whether or not text should wrap at the edges of the `TextLabel` element's space.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#TextWrap)
     *
     * @deprecated TextWrapped
     */
    TextWrap: boolean;
    /**
     * Determines if text wraps to multiple lines within the `TextLabel` element's space, truncating excess text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#TextWrapped)
     */
    TextWrapped: boolean;
    /**
     * Determines the horizontal alignment of rendered text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#TextXAlignment)
     */
    TextXAlignment: Enum.TextXAlignment;
    /**
     * Determines the vertical alignment of rendered text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextLabel#TextYAlignment)
     */
    TextYAlignment: Enum.TextYAlignment;
}
/**
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RelativeGui)
 */
interface RelativeGui extends GuiObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RelativeGui: unique symbol;
}
/**
 * `ScrollingFrame` is a special `Frame` type with built-in scrolling interactivity and different ways to customize how the scrolling works.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame)
 */
interface ScrollingFrame extends GuiObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ScrollingFrame: unique symbol;
    /**
     * The size of the area that is scrollable, in offsets.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#AbsoluteCanvasSize)
     */
    readonly AbsoluteCanvasSize: Vector2;
    /**
     * The size of the frame, in offsets, without the scroll bars.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#AbsoluteWindowSize)
     */
    readonly AbsoluteWindowSize: Vector2;
    /**
     * Determines whether `ScrollingFrame.CanvasSize` is resized based on child content.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#AutomaticCanvasSize)
     */
    AutomaticCanvasSize: Enum.AutomaticSize;
    /**
     * Image that displays on the bottom of a vertical scroll bar, or the right of a horizontal scroll bar (rotated 90° counterclockwise for a horizontal scroll bar).
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#BottomImage)
     */
    BottomImage: ContentId;
    /**
     * Image that displays on the bottom of a vertical scroll bar, or the right of a horizontal scroll bar (rotated 90° counterclockwise for a horizontal scroll bar). Only supports asset URIs as textures.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#BottomImageContent)
     */
    BottomImageContent: Content;
    /**
     * Reflects the **current** positional offset of the canvas within the frame, in pixels, and sets the position of scroll bars accordingly.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#CanvasPosition)
     */
    CanvasPosition: Vector2;
    /**
     * Determines the size of the scrollable area.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#CanvasSize)
     */
    CanvasSize: UDim2;
    /**
     * Determines if and when elastic scrolling is allowed on touch‑enabled devices.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#ElasticBehavior)
     */
    ElasticBehavior: Enum.ElasticBehavior;
    /**
     * Indicates whether `CanvasSize` is inset by `ScrollBarThickness` on the horizontal axis.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#HorizontalScrollBarInset)
     */
    HorizontalScrollBarInset: Enum.ScrollBarInset;
    /**
     * Image which spans the area between `TopImage` and `BottomImage` (rotated 90° counterclockwise for a horizontal scroll bar).
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#MidImage)
     */
    MidImage: ContentId;
    /**
     * Image which spans the area between `TopImageContent` and `BottomImageContent` (rotated 90° counterclockwise for a horizontal scroll bar). Only supports asset URIs as textures.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#MidImageContent)
     */
    MidImageContent: Content;
    /**
     * Determines how the rendered scroll bar images are colorized.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#ScrollBarImageColor3)
     */
    ScrollBarImageColor3: Color3;
    /**
     * Determines the opacity of the scroll bar images.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#ScrollBarImageTransparency)
     */
    ScrollBarImageTransparency: number;
    /**
     * Thickness of the scroll bar in pixels; applies to both horizontal and vertical scroll bars.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#ScrollBarThickness)
     */
    ScrollBarThickness: number;
    /**
     * Determines the direction(s) in which scrolling is allowed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#ScrollingDirection)
     */
    ScrollingDirection: Enum.ScrollingDirection;
    /**
     * Determines whether scrolling is allowed on the frame.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#ScrollingEnabled)
     */
    ScrollingEnabled: boolean;
    /**
     * Image which displays on the top of a vertical scroll bar, or the left of a horizontal scroll bar (rotated 90° counterclockwise for a horizontal scroll bar).
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#TopImage)
     */
    TopImage: ContentId;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#TopImageContent)
     */
    TopImageContent: Content;
    /**
     * Indicates whether `CanvasSize` is inset by `ScrollBarThickness` on the vertical axis.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#VerticalScrollBarInset)
     */
    VerticalScrollBarInset: Enum.ScrollBarInset;
    /**
     * Indicates whether the vertical scroll bar is positioned to the left or right of the canvas.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#VerticalScrollBarPosition)
     */
    VerticalScrollBarPosition: Enum.VerticalScrollBarPosition;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#GetScrollVelocity)
     * @param this `ScrollingFrame` is a special `Frame` type with built-in scrolling interactivity and different ways to customize how the scrolling works.
     */
    GetScrollVelocity(this: ScrollingFrame): Vector2;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScrollingFrame#ResetScrollVelocity)
     * @param this `ScrollingFrame` is a special `Frame` type with built-in scrolling interactivity and different ways to customize how the scrolling works.
     */
    ResetScrollVelocity(this: ScrollingFrame): void;
}
/**
 * A 2D user interface element that displays player-editable text.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox)
 */
interface TextBox extends GuiObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextBox: unique symbol;
    /**
     * Determines whether clicking on the `TextBox` will clear its `TextBox.Text` property.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#ClearTextOnFocus)
     */
    ClearTextOnFocus: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#ContentText)
     */
    readonly ContentText: string;
    /**
     * Determines the offset of the text cursor in bytes, or `-1` if there is no cursor.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#CursorPosition)
     */
    CursorPosition: number;
    /**
     * Determines the font used to render text.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#Font)
     */
    Font: Enum.Font;
    /**
     * Determines the font face used to render text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#FontFace)
     */
    FontFace: Font;
    /**
     * **Deprecated:** This item has been superseded by `TextBox.TextSize` which should be used in all new work.
     *
     * Determines the font size of a `TextBox` object.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#FontSize)
     *
     * @deprecated TextSize
     */
    FontSize: Enum.FontSize;
    /**
     * Scales the spacing between lines of text in the `TextBox`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#LineHeight)
     */
    LineHeight: number;
    /**
     * The maximum number of graphemes the `TextBox` can show.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#MaxVisibleGraphemes)
     */
    MaxVisibleGraphemes: number;
    /**
     * When set to `true`, text inside a `TextBox` is able to move onto multiple lines.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#MultiLine)
     */
    MultiLine: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#OpenTypeFeatures)
     */
    OpenTypeFeatures: string;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#OpenTypeFeaturesError)
     */
    readonly OpenTypeFeaturesError: string;
    /**
     * Sets the text color that gets used when no text has been entered into the `TextBox`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#PlaceholderColor3)
     */
    PlaceholderColor3: Color3;
    /**
     * Sets the text that gets displayed when no text has been entered into the `TextBox`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#PlaceholderText)
     */
    PlaceholderText: string;
    /**
     * Determines whether the `TextBox` renders the `Text` string using rich text formatting.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#RichText)
     */
    RichText: boolean;
    /**
     * Determines the starting position of a text selection.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#SelectionStart)
     */
    SelectionStart: number;
    /**
     * If set to `true`, input native to the platform is used instead of Roblox's built-in keyboard.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#ShowNativeInput)
     */
    ShowNativeInput: boolean;
    /**
     * Determines the string rendered by the `TextBox` element.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#Text)
     */
    Text: string;
    /**
     * The size of a `TextBox` element's text in offsets.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#TextBounds)
     */
    readonly TextBounds: Vector2;
    /**
     * **Deprecated:** This item has been superseded by `TextBox.TextColor3` which should be used in all new work.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#TextColor)
     *
     * @deprecated
     */
    TextColor: BrickColor;
    /**
     * Determines the color of non-placeholder rendered text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#TextColor3)
     */
    TextColor3: Color3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#TextDirection)
     */
    TextDirection: Enum.TextDirection;
    /**
     * Determines whether the user can change the `Text`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#TextEditable)
     */
    TextEditable: boolean;
    /**
     * Whether the text fits within the constraints of the `TextBox`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#TextFits)
     */
    readonly TextFits: boolean;
    /**
     * Changes whether text is resized to fit within the `TextBox`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#TextScaled)
     */
    TextScaled: boolean;
    /**
     * Determine the line height of text in offsets.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#TextSize)
     */
    TextSize: number;
    /**
     * Determines the color of the text stroke (outline).
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#TextStrokeColor3)
     */
    TextStrokeColor3: Color3;
    /**
     * Determines the transparency of the text stroke (outline).
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#TextStrokeTransparency)
     */
    TextStrokeTransparency: number;
    /**
     * Determines the transparency of the rendered text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#TextTransparency)
     */
    TextTransparency: number;
    /**
     * Controls the truncation of the text displayed in the `TextBox`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#TextTruncate)
     */
    TextTruncate: Enum.TextTruncate;
    /**
     * **Deprecated:** This item has been superseded by `TextBox.TextWrapped` which should be used in all new work.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#TextWrap)
     *
     * @deprecated TextWrapped
     */
    TextWrap: boolean;
    /**
     * Determines if text wraps to multiple lines within the `TextBox` element space, truncating excess text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#TextWrapped)
     */
    TextWrapped: boolean;
    /**
     * Determines the horizontal alignment of the rendered text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#TextXAlignment)
     */
    TextXAlignment: Enum.TextXAlignment;
    /**
     * Determines the vertical alignment of the rendered text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#TextYAlignment)
     */
    TextYAlignment: Enum.TextYAlignment;
    /**
     * Forces the client to focus on the `TextBox`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#CaptureFocus)
     * @param this A 2D user interface element that displays player-editable text.
     */
    CaptureFocus(this: TextBox): void;
    /**
     * Returns `true` if the `TextBox` is focused or `false` if it is not.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#IsFocused)
     * @param this A 2D user interface element that displays player-editable text.
     */
    IsFocused(this: TextBox): boolean;
    /**
     * Forces the client to unfocus the TextBox.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#ReleaseFocus)
     * @param this A 2D user interface element that displays player-editable text.
     * @param submitted
     */
    ReleaseFocus(this: TextBox, submitted?: boolean): void;
    /**
     * Fires when the `TextBox` loses its focus.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#FocusLost)
     */
    readonly FocusLost: RBXScriptSignal<(enterPressed: boolean, inputThatCausedFocusLoss: InputObject) => void>;
    /**
     * Fires when the `TextBox` gains focus.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#Focused)
     */
    readonly Focused: RBXScriptSignal<() => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBox#ReturnPressedFromOnScreenKeyboard)
     */
    readonly ReturnPressedFromOnScreenKeyboard: RBXScriptSignal<() => void>;
}
/**
 * A GUI object that displays video content from a connected `VideoPlayer`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDisplay)
 */
interface VideoDisplay extends GuiObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VideoDisplay: unique symbol;
    /**
     * Selects the texture resampling mode for the `VideoDisplay`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDisplay#ResampleMode)
     */
    ResampleMode: Enum.ResamplerMode;
    /**
     * Determines how a video will scale if displayed in a UI element whose aspect ratio differs from the source video.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDisplay#ScaleType)
     */
    ScaleType: Enum.ScaleType;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDisplay#TileSize)
     */
    TileSize: UDim2;
    /**
     * Determines how a rendered video will be colorized.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDisplay#VideoColor3)
     */
    VideoColor3: Color3;
    /**
     * The offset in pixels of the sub-area of a video to be displayed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDisplay#VideoRectOffset)
     */
    VideoRectOffset: Vector2;
    /**
     * Determines the size in pixels of the sub-area of a video to be displayed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDisplay#VideoRectSize)
     */
    VideoRectSize: Vector2;
    /**
     * Determines the transparency of the rendered video.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDisplay#VideoTransparency)
     */
    VideoTransparency: number;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDisplay#GetConnectedWires)
     * @param this A GUI object that displays video content from a connected `VideoPlayer`.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: VideoDisplay, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDisplay#GetInputPins)
     * @param this A GUI object that displays video content from a connected `VideoPlayer`.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: VideoDisplay): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDisplay#GetOutputPins)
     * @param this A GUI object that displays video content from a connected `VideoPlayer`.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: VideoDisplay): Array<unknown>;
    /**
     * Fires when another instance is connected to or disconnected from the `VideoDisplay` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDisplay#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * A GUI object that renders a rectangle, like a `Frame` does, with a moving video image.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame)
 */
interface VideoFrame extends GuiObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VideoFrame: unique symbol;
    /**
     * Indicates when the `VideoFrame.Video` has loaded from Roblox servers and is ready to play.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#IsLoaded)
     */
    readonly IsLoaded: boolean;
    /**
     * Sets whether or not the `VideoFrame.Video` repeats once it has finished when it is playing.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#Looped)
     */
    Looped: boolean;
    /**
     * Indicates whether the `VideoFrame.Video` is currently playing. It can be set to start or pause playback.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#Playing)
     */
    Playing: boolean;
    /**
     * Gets the original source resolution of the `VideoFrame.Video` file.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#Resolution)
     */
    readonly Resolution: Vector2;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#RollOffMaxDistance)
     */
    RollOffMaxDistance: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#RollOffMinDistance)
     */
    RollOffMinDistance: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#RollOffMode)
     */
    RollOffMode: Enum.RollOffMode;
    /**
     * Indicates the length of the `VideoFrame.Video` in seconds.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#TimeLength)
     */
    readonly TimeLength: number;
    /**
     * Indicates the progress in seconds of the `VideoFrame.Video`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#TimePosition)
     */
    TimePosition: number;
    /**
     * The content ID of the video file a `VideoFrame` object is associated with.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#Video)
     */
    Video: ContentId;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#VideoContent)
     */
    VideoContent: Content;
    /**
     * Indicates how loud the `VideoFrame.Video` is currently playing back.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#Volume)
     */
    Volume: number;
    /**
     * Sets `VideoFrame.Playing` to `false`, pausing playback if the `VideoFrame.Video` is playing.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#Pause)
     * @param this A GUI object that renders a rectangle, like a `Frame` does, with a moving video image.
     */
    Pause(this: VideoFrame): void;
    /**
     * Sets `VideoFrame.Playing` to `true`, playing the `VideoFrame.Video` from the current `VideoFrame.TimePosition`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#Play)
     * @param this A GUI object that renders a rectangle, like a `Frame` does, with a moving video image.
     */
    Play(this: VideoFrame): void;
    /**
     * Fires whenever the `VideoFrame.Video` loops.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#DidLoop)
     */
    readonly DidLoop: RBXScriptSignal<(video: string) => void>;
    /**
     * Fires when the `VideoFrame.Video` has completed playback and stopped.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#Ended)
     */
    readonly Ended: RBXScriptSignal<(video: string) => void>;
    /**
     * Fires when the `VideoFrame.Video` is loaded.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#Loaded)
     */
    readonly Loaded: RBXScriptSignal<(video: string) => void>;
    /**
     * This event fires whenever the `VideoFrame.Video` is paused using `VideoFrame:Pause()` or by setting `VideoFrame.Playing` to false.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#Paused)
     */
    readonly Paused: RBXScriptSignal<(video: string) => void>;
    /**
     * Fires whenever the `VideoFrame.Video` is played using the `VideoFrame:Play()` function or by setting `VideoFrame.Playing` to true.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoFrame#Played)
     */
    readonly Played: RBXScriptSignal<(video: string) => void>;
}
/**
 * `GuiObject` that renders 3D objects inside its bounds.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ViewportFrame)
 */
interface ViewportFrame extends GuiObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ViewportFrame: unique symbol;
    /**
     * The lighting hue applied to the area within the `ViewportFrame`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ViewportFrame#Ambient)
     */
    Ambient: Color3;
    /**
     * `Camera` that is used to render children objects.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ViewportFrame#CurrentCamera)
     */
    CurrentCamera: Camera | undefined;
    /**
     * Determines how the rendered viewport image will be colorized.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ViewportFrame#ImageColor3)
     */
    ImageColor3: Color3;
    /**
     * Determines the transparency of the rendered viewport image.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ViewportFrame#ImageTransparency)
     */
    ImageTransparency: number;
    /**
     * The color of the emitted light.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ViewportFrame#LightColor)
     */
    LightColor: Color3;
    /**
     * A `Vector3` representing the direction of the light source.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ViewportFrame#LightDirection)
     */
    LightDirection: Vector3;
}
/**
 * The base class of 2D UI containers which render `GuiObjects` in layers.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LayerCollector)
 */
interface LayerCollector extends GuiBase2d {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LayerCollector: unique symbol;
    /**
     * Toggles the visibility of this `LayerCollector`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LayerCollector#Enabled)
     */
    Enabled: boolean;
    /**
     * Determines if the `LayerCollector` resets (deletes itself and re-clones into the player's `PlayerGui`) every time the player's character respawns.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LayerCollector#ResetOnSpawn)
     */
    ResetOnSpawn: boolean;
    /**
     * Controls how `GuiObject.ZIndex` behaves on all descendants of this `LayerCollector`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LayerCollector#ZIndexBehavior)
     */
    ZIndexBehavior: Enum.ZIndexBehavior;
}
/**
 * A container for `GuiObjects` that renders in 3D space facing the camera.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui)
 */
interface BillboardGui extends LayerCollector {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BillboardGui: unique symbol;
    /**
     * Controls whether the descendants will receive input events.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#Active)
     */
    Active: boolean;
    /**
     * Sets the target part or attachment that the `BillboardGui` is positioned relative to.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#Adornee)
     */
    Adornee: PVInstance | Attachment | undefined;
    /**
     * Determines whether the `BillboardGui` will always be rendered on top of other 3D objects.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#AlwaysOnTop)
     */
    AlwaysOnTop: boolean;
    /**
     * Determines the factor by which the `BillboardGui` container's light is scaled when `LightInfluence` is `0`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#Brightness)
     */
    Brightness: number;
    /**
     * Whether portions of `GuiObjects` that fall outside of the `BillboardGui` canvas borders will be drawn.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#ClipsDescendants)
     */
    ClipsDescendants: boolean;
    /**
     * The current distance in studs that the `BillboardGui` is from the player's camera.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#CurrentDistance)
     */
    readonly CurrentDistance: number;
    /**
     * **Deprecated:**
     *
     * Determines the distance in studs at which the `BillboardGui` will stop scaling larger in size.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#DistanceLowerLimit)
     *
     * @deprecated
     */
    DistanceLowerLimit: number;
    /**
     * Determines the size `CurrentDistance` increments and decrements in studs as the player's camera moves closer and further from the `BillboardGui`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#DistanceStep)
     */
    DistanceStep: number;
    /**
     * **Deprecated:**
     *
     * Determines the distance in studs at which the `BillboardGui` will stop scaling smaller in size.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#DistanceUpperLimit)
     *
     * @deprecated
     */
    DistanceUpperLimit: number;
    /**
     * Determines how the `BillboardGui` is offset from its `Adornee`, relative to the `Camera` orientation, in units half the dimensions of the model's `Camera`-aligned bounding box.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#ExtentsOffset)
     */
    ExtentsOffset: Vector3;
    /**
     * Determines how the `BillboardGui` is offset from its `Adornee`, relative to the global axes, in units half the dimensions of the model's axis-aligned bounding box.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#ExtentsOffsetWorldSpace)
     */
    ExtentsOffsetWorldSpace: Vector3;
    /**
     * Controls how much the `BillboardGui` is influenced by environmental lighting.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#LightInfluence)
     */
    LightInfluence: number;
    /**
     * Controls how far away the `BillboardGui` can be displayed before it stops rendering.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#MaxDistance)
     */
    MaxDistance: number;
    /**
     * Used by scripts to hide the `BillboardGui` from a specific player.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#PlayerToHideFrom)
     */
    PlayerToHideFrom: Player | undefined;
    /**
     * Controls the size that the `BillboardGui` will have on screen.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#Size)
     */
    Size: UDim2;
    /**
     * A 2D offset in size-relative units that acts like an anchor point.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#SizeOffset)
     */
    SizeOffset: Vector2;
    /**
     * Determines how the `BillboardGui` is offset from its `Adornee` in studs, relative to the `Camera` orientation.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#StudsOffset)
     */
    StudsOffset: Vector3;
    /**
     * Determines how the `BillboardGui` is offset from its `Adornee` in studs, relative to the global axes.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BillboardGui#StudsOffsetWorldSpace)
     */
    StudsOffsetWorldSpace: Vector3;
}
/**
 * Primary container of on-screen 2D user interface elements.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenGui)
 */
interface ScreenGui extends LayerCollector {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ScreenGui: unique symbol;
    /**
     * Whether to clip the contents of this `ScreenGui` to the device's safe area.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenGui#ClipToDeviceSafeArea)
     */
    ClipToDeviceSafeArea: boolean;
    /**
     * Controls the Z-index order in which multiple `ScreenGui` containers are drawn.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenGui#DisplayOrder)
     */
    DisplayOrder: number;
    /**
     * Determines whether the `ScreenGui` overflows into the range of Roblox's core UI elements.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenGui#IgnoreGuiInset)
     */
    IgnoreGuiInset: boolean;
    /**
     * Specifies whether automatic UI compatibility transformations are applied to descendant "fullscreen" `GuiObjects` on displays with screen cutouts.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenGui#SafeAreaCompatibility)
     */
    SafeAreaCompatibility: Enum.SafeAreaCompatibility;
    /**
     * Controls the safe area insets that are applied to the contents of the `ScreenGui`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenGui#ScreenInsets)
     */
    ScreenInsets: Enum.ScreenInsets;
}
/**
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceGuiBase)
 */
interface SurfaceGuiBase extends LayerCollector {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SurfaceGuiBase: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceGuiBase#Active)
     */
    Active: boolean;
    /**
     * `BasePart` on which to apply the `SurfaceGui`, overriding the default parent association.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceGuiBase#Adornee)
     */
    Adornee: BasePart | undefined;
    /**
     * `NormalId` face upon which to apply the `SurfaceGui`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceGuiBase#Face)
     */
    Face: Enum.NormalId;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdGui)
 */
interface AdGui extends SurfaceGuiBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AdGui: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdGui#AdShape)
     */
    AdShape: Enum.AdShape;
    /**
     * Enables the AdGui to serve video ads.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdGui#EnableVideoAds)
     */
    EnableVideoAds: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdGui#FallbackImage)
     */
    FallbackImage: ContentId;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdGui#Status)
     */
    readonly Status: Enum.AdUnitStatus;
    /**
     * Used to react to the AdGui events.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AdGui#OnAdEvent)
     * @param eventInfo Options table for the method: - `PlayerId` – The user ID of the player related to the ad event.
     * - `AdEventType` – A `AdEventType` enum value describing the AdGui   events.
     *
     *
     * @returns Whether the callback has successfully reacted to the event.
     */
    OnAdEvent: ((eventInfo: object) => boolean) | undefined;
}
/**
 * Container for GuiObjects that are rendered on the surface of a part.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceGui)
 */
interface SurfaceGui extends SurfaceGuiBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SurfaceGui: unique symbol;
    /**
     * Determines whether the `SurfaceGui` will always be rendered on top of other 3D objects.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceGui#AlwaysOnTop)
     */
    AlwaysOnTop: boolean;
    /**
     * Determines the factor by which the `SurfaceGui` container's light is scaled when `LightInfluence` is `0`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceGui#Brightness)
     */
    Brightness: number;
    /**
     * The size of a "virtual screen" in "virtual pixels" which makes `SurfaceGuis` pixel-to-pixel compatible with `ScreenGuis`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceGui#CanvasSize)
     */
    CanvasSize: Vector2;
    /**
     * Whether portions of `GuiObjects` that fall outside of the `SurfaceGui` canvas borders will be drawn.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceGui#ClipsDescendants)
     */
    ClipsDescendants: boolean;
    /**
     * Controls how much the `SurfaceGui` is influenced by environmental lighting.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceGui#LightInfluence)
     */
    LightInfluence: number;
    /**
     * Controls how far away the `SurfaceGui` can be displayed before it stops rendering.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceGui#MaxDistance)
     */
    MaxDistance: number;
    /**
     * Determines the density of pixels used for each world-space stud to render the contents of the `SurfaceGui`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceGui#PixelsPerStud)
     */
    PixelsPerStud: number;
    /**
     * Determines whether the `SurfaceGui` will render at a fixed size or scale with its size in studs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceGui#SizingMode)
     */
    SizingMode: Enum.SurfaceGuiSizingMode;
    /**
     * Sets the distance in which left clicking starts acting on the `SurfaceGui` instead of for the held `Tool`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceGui#ToolPunchThroughDistance)
     */
    ToolPunchThroughDistance: number;
    /**
     * Layers this `SurfaceGui` in relation to other `SurfaceGuis` on the same face.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceGui#ZOffset)
     */
    ZOffset: number;
}
/**
 * An abstract class for 3D GUI elements that are rendered in the world.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase3d)
 */
interface GuiBase3d extends GuiBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GuiBase3d: unique symbol;
    /**
     * Sets the color of this `GuiBase3d` object.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase3d#Color3)
     */
    Color3: Color3;
    /**
     * Sets the transparency of this `GuiBase3d` object.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase3d#Transparency)
     */
    Transparency: number;
    /**
     * Determines whether this `GuiBase3d` object and its descendants will be displayed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiBase3d#Visible)
     */
    Visible: boolean;
}
/**
 * **Deprecated:** The FloorWire object has been deprecated and should not be used in new work.
 *
 * A FloorWire attempts to make a wire from two of its properties: `FloorWire.From` and `FloorWire.From`, which both need to be set to a `BasePart`.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloorWire)
 *
 * @deprecated
 */
interface FloorWire extends GuiBase3d {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FloorWire: unique symbol;
    /**
     * A decimal number between 0 and 1, through which you can control how far all of the decals are along the wire.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloorWire#CycleOffset)
     */
    CycleOffset: number;
    /**
     * The object that the FloorWire travels from.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloorWire#From)
     */
    From: BasePart | undefined;
    /**
     * The number of studs between each FloorWire segment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloorWire#StudsBetweenTextures)
     */
    StudsBetweenTextures: number;
    /**
     * Sets the texture to be displayed on the FloorWire.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloorWire#Texture)
     */
    Texture: ContentId;
    /**
     * Sets the size of the texture used with the FloorWire.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloorWire#TextureSize)
     */
    TextureSize: Vector2;
    /**
     * The object that the FloorWire travels to.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloorWire#To)
     */
    To: BasePart | undefined;
    /**
     * The speed that the textures flow along the wire.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloorWire#Velocity)
     */
    Velocity: number;
    /**
     * The radius of the wire.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FloorWire#WireRadius)
     */
    WireRadius: number;
}
/**
 * A base class for all objects that adorn `Instance` classes.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InstanceAdornment)
 */
interface InstanceAdornment extends GuiBase3d {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_InstanceAdornment: unique symbol;
    /**
     * Which `Instance` to adorn.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InstanceAdornment#Adornee)
     */
    Adornee: Instance | undefined;
}
/**
 * Renders a 3D box around its `Adornee`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelectionBox)
 */
interface SelectionBox extends InstanceAdornment {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SelectionBox: unique symbol;
    /**
     * Determines the thickness of the boxes outlines, in studs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelectionBox#LineThickness)
     */
    LineThickness: number;
    /**
     * **Deprecated:** This property is deprecated in favor of `SurfaceColor3` which uses the more precise `Color3` data type instead of a `BrickColor` used by this property.
     *
     * A `BrickColor` version of `SurfaceColor3`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelectionBox#SurfaceColor)
     *
     * @deprecated SurfaceColor3
     */
    SurfaceColor: BrickColor;
    /**
     * Determines the color of the box's surfaces.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelectionBox#SurfaceColor3)
     */
    SurfaceColor3: Color3;
    /**
     * Determines the transparency of the box's surfaces.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelectionBox#SurfaceTransparency)
     */
    SurfaceTransparency: number;
}
/**
 * An abstract class of which the inheritors can be adorned to objects of the `PVInstance` class.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PVAdornment)
 */
interface PVAdornment extends GuiBase3d {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PVAdornment: unique symbol;
    /**
     * The `PVInstance` which this `PVAdornment` is attached to.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PVAdornment#Adornee)
     */
    Adornee: PVInstance | undefined;
}
/**
 * An abstract class inherited by 3D handle adornments.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HandleAdornment)
 */
interface HandleAdornment extends PVAdornment {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_HandleAdornment: unique symbol;
    /**
     * Determines whether to automatically cull the adornment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HandleAdornment#AdornCullingMode)
     */
    AdornCullingMode: Enum.AdornCullingMode;
    /**
     * Forces this adornment to render on top of all 3D objects in the workspace.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HandleAdornment#AlwaysOnTop)
     */
    AlwaysOnTop: boolean;
    /**
     * The position and rotation of the object relative to its `PVAdornment.Adornee`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HandleAdornment#CFrame)
     */
    CFrame: CFrame;
    /**
     * The positional offset of the adornment based on the adornee's `BasePart.Size`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HandleAdornment#SizeRelativeOffset)
     */
    SizeRelativeOffset: Vector3;
    /**
     * Determines the draw order of this `HandleAdornment` when `AlwaysOnTop` is `true`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HandleAdornment#ZIndex)
     */
    ZIndex: number;
    /**
     * Fires when a player presses down on their left mouse button while hovering over the adornment.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HandleAdornment#MouseButton1Down)
     */
    readonly MouseButton1Down: RBXScriptSignal<() => void>;
    /**
     * Fires when a player releases their left mouse button while hovering over the adornment.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HandleAdornment#MouseButton1Up)
     */
    readonly MouseButton1Up: RBXScriptSignal<() => void>;
    /**
     * Fires when a player moves their mouse over the adornment.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HandleAdornment#MouseEnter)
     */
    readonly MouseEnter: RBXScriptSignal<() => void>;
    /**
     * Fires when a player moves their mouse out of the adornment.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HandleAdornment#MouseLeave)
     */
    readonly MouseLeave: RBXScriptSignal<() => void>;
}
/**
 * A box-shaped handle that can be adorned to a `BasePart`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BoxHandleAdornment)
 */
interface BoxHandleAdornment extends HandleAdornment {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BoxHandleAdornment: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BoxHandleAdornment#Shading)
     */
    Shading: Enum.AdornShading;
    /**
     * Size of the adornment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BoxHandleAdornment#Size)
     */
    Size: Vector3;
}
/**
 * A cone-shaped handle that can be adorned to a `BasePart`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConeHandleAdornment)
 */
interface ConeHandleAdornment extends HandleAdornment {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ConeHandleAdornment: unique symbol;
    /**
     * Height of the cone adornment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConeHandleAdornment#Height)
     */
    Height: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConeHandleAdornment#Hollow)
     */
    Hollow: boolean;
    /**
     * Radius of the cone adornment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConeHandleAdornment#Radius)
     */
    Radius: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ConeHandleAdornment#Shading)
     */
    Shading: Enum.AdornShading;
}
/**
 * A cylinder-shaped handle that can be adorned to a `BasePart`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylinderHandleAdornment)
 */
interface CylinderHandleAdornment extends HandleAdornment {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CylinderHandleAdornment: unique symbol;
    /**
     * Angle of the cylinder handle as in a "pie slice" sector.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylinderHandleAdornment#Angle)
     */
    Angle: number;
    /**
     * Height of the cylinder adornment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylinderHandleAdornment#Height)
     */
    Height: number;
    /**
     * Inner radius with which to render a hollow cylinder.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylinderHandleAdornment#InnerRadius)
     */
    InnerRadius: number;
    /**
     * Radius of the cylinder adornment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylinderHandleAdornment#Radius)
     */
    Radius: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CylinderHandleAdornment#Shading)
     */
    Shading: Enum.AdornShading;
}
/**
 * An image handle that can be adorned to a `BasePart`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageHandleAdornment)
 */
interface ImageHandleAdornment extends HandleAdornment {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ImageHandleAdornment: unique symbol;
    /**
     * Image to draw for the adornment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageHandleAdornment#Image)
     */
    Image: ContentId;
    /**
     * Size of the image in studs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageHandleAdornment#Size)
     */
    Size: Vector2;
}
/**
 * A line-shaped handle that can be adorned to a `BasePart`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LineHandleAdornment)
 */
interface LineHandleAdornment extends HandleAdornment {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LineHandleAdornment: unique symbol;
    /**
     * Length of the line.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LineHandleAdornment#Length)
     */
    Length: number;
    /**
     * Thickness of the line in pixels.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LineHandleAdornment#Thickness)
     */
    Thickness: number;
}
/**
 * A pyramid-shaped handle that can be adorned to a `BasePart`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PyramidHandleAdornment)
 */
interface PyramidHandleAdornment extends HandleAdornment {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PyramidHandleAdornment: unique symbol;
    /**
     * Height of the pyramid adornment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PyramidHandleAdornment#Height)
     */
    Height: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PyramidHandleAdornment#Shading)
     */
    Shading: Enum.AdornShading;
    /**
     * Number of sides for the pyramid adornment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PyramidHandleAdornment#Sides)
     */
    Sides: number;
    /**
     * Size of the pyramid adornment's base.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PyramidHandleAdornment#Size)
     */
    Size: number;
}
/**
 * A sphere-shaped handle that can be adorned to a `BasePart`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SphereHandleAdornment)
 */
interface SphereHandleAdornment extends HandleAdornment {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SphereHandleAdornment: unique symbol;
    /**
     * Radius of the sphere adornment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SphereHandleAdornment#Radius)
     */
    Radius: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SphereHandleAdornment#Shading)
     */
    Shading: Enum.AdornShading;
}
/**
 * Renders a wireframe adornment consisting of one or more lines onto a `BasePart` (including `Terrain`) or into the `Workspace`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WireframeHandleAdornment)
 */
interface WireframeHandleAdornment extends HandleAdornment {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_WireframeHandleAdornment: unique symbol;
    /**
     * The **XYZ** scale of the wireframe adornment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WireframeHandleAdornment#Scale)
     */
    Scale: Vector3;
    /**
     * Thickness of the wireframe adornment's lines in pixels.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WireframeHandleAdornment#Thickness)
     */
    Thickness: number;
    /**
     * Adds a line to the wireframe adornment from a starting point to an ending point relative to the center of the `Adornee`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WireframeHandleAdornment#AddLine)
     * @param this Renders a wireframe adornment consisting of one or more lines onto a `BasePart` (including `Terrain`) or into the `Workspace`.
     * @param from Starting point of the line.
     * @param to Ending point of the line.
     */
    AddLine(this: WireframeHandleAdornment, from: Vector3, to: Vector3): void;
    /**
     * Adds one or more lines to the wireframe adornment using an array.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WireframeHandleAdornment#AddLines)
     * @param this Renders a wireframe adornment consisting of one or more lines onto a `BasePart` (including `Terrain`) or into the `Workspace`.
     * @param points Array of `Vector3` points in which each pair acts as a starting point and ending point for a line.
     */
    AddLines(this: WireframeHandleAdornment, points: Array<unknown>): void;
    /**
     * Adds multiple line segments to the wireframe adornment in a sequence from point to point.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WireframeHandleAdornment#AddPath)
     * @param this Renders a wireframe adornment consisting of one or more lines onto a `BasePart` (including `Terrain`) or into the `Workspace`.
     * @param points Array of `Vector3` points to connect in sequence with line segments.
     * @param loop Whether the path is closed by connecting its ending point to its starting point with an additional line.
     */
    AddPath(this: WireframeHandleAdornment, points: Array<unknown>, loop: boolean): void;
    /**
     * Adds a text label to the wireframe adornment.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WireframeHandleAdornment#AddText)
     * @param this Renders a wireframe adornment consisting of one or more lines onto a `BasePart` (including `Terrain`) or into the `Workspace`.
     * @param point Position of the text in the adornment.
     * @param text String to display.
     * @param size Size of the text.
     */
    AddText(this: WireframeHandleAdornment, point: Vector3, text: string, size?: number): void;
    /**
     * Instantly clears all lines and text in the wireframe adornment.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WireframeHandleAdornment#Clear)
     * @param this Renders a wireframe adornment consisting of one or more lines onto a `BasePart` (including `Terrain`) or into the `Workspace`.
     */
    Clear(this: WireframeHandleAdornment): void;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParabolaAdornment)
 */
interface ParabolaAdornment extends PVAdornment {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ParabolaAdornment: unique symbol;
}
/**
 * Renders a 3D sphere around its `Adornee`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelectionSphere)
 */
interface SelectionSphere extends PVAdornment {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SelectionSphere: unique symbol;
    /**
     * **Deprecated:** This property is deprecated in favor of `SurfaceColor3` which uses the more precise `Color3` data type instead of a `BrickColor` used by this property.
     *
     * A `BrickColor` version of `SurfaceColor3`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelectionSphere#SurfaceColor)
     *
     * @deprecated SurfaceColor3
     */
    SurfaceColor: BrickColor;
    /**
     * Determines the color of the sphere's surface.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelectionSphere#SurfaceColor3)
     */
    SurfaceColor3: Color3;
    /**
     * Determines the transparency of the sphere's surface.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelectionSphere#SurfaceTransparency)
     */
    SurfaceTransparency: number;
}
/**
 * An abstract class for GUI elements that are adorned to (displayed as attached to) objects deriving from `BasePart`.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PartAdornment)
 */
interface PartAdornment extends GuiBase3d {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PartAdornment: unique symbol;
    /**
     * Sets the object to adorn to.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PartAdornment#Adornee)
     */
    Adornee: BasePart | undefined;
}
/**
 * An abstract class for Handle objects, such as `ArcHandles` and `Handles`.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HandlesBase)
 */
interface HandlesBase extends PartAdornment {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_HandlesBase: unique symbol;
}
/**
 * The `ArcHandles` object places 3D arc handles around any 3D object that its `Adornee` is set to.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ArcHandles)
 */
interface ArcHandles extends HandlesBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ArcHandles: unique symbol;
    /**
     * Sets the current Axes ArcHandles will show.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ArcHandles#Axes)
     */
    Axes: Axes;
    /**
     * Fired when the left mouse button goes down on one of the GUI handles.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ArcHandles#MouseButton1Down)
     */
    readonly MouseButton1Down: RBXScriptSignal<(axis: Enum.Axis) => void>;
    /**
     * Fired when the left mouse button is released on one of the GUI handles.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ArcHandles#MouseButton1Up)
     */
    readonly MouseButton1Up: RBXScriptSignal<(axis: Enum.Axis) => void>;
    /**
     * Fired when the mouse moves while the MouseButton1Down event has fired, but the left mouse button has not been released yet.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ArcHandles#MouseDrag)
     */
    readonly MouseDrag: RBXScriptSignal<(axis: Enum.Axis, relativeAngle: number, deltaRadius: number) => void>;
    /**
     * Fired when a mouse "enters" the GUI handle.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ArcHandles#MouseEnter)
     */
    readonly MouseEnter: RBXScriptSignal<(axis: Enum.Axis) => void>;
    /**
     * Fired when the mouse leaves the GUI handle.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ArcHandles#MouseLeave)
     */
    readonly MouseLeave: RBXScriptSignal<(axis: Enum.Axis) => void>;
}
/**
 * Places 3D handles around any object that its `Adornee` is set to.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Handles)
 */
interface Handles extends HandlesBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Handles: unique symbol;
    /**
     * Sets which sides the GUI handles will appear.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Handles#Faces)
     */
    Faces: Faces;
    /**
     * Sets the GUI style of the handles.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Handles#Style)
     */
    Style: Enum.HandlesStyle;
    /**
     * Fired when the left mouse button goes down on one of the GUI handles.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Handles#MouseButton1Down)
     */
    readonly MouseButton1Down: RBXScriptSignal<(face: Enum.NormalId) => void>;
    /**
     * Fired when the left mouse button is released on one of the GUI handles.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Handles#MouseButton1Up)
     */
    readonly MouseButton1Up: RBXScriptSignal<(face: Enum.NormalId) => void>;
    /**
     * Fired when the mouse moves while the MouseButton1Down event has fired, but the left mouse button has not been released yet.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Handles#MouseDrag)
     */
    readonly MouseDrag: RBXScriptSignal<(face: Enum.NormalId, distance: number) => void>;
    /**
     * Fired when a mouse "enters" the GUI handle.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Handles#MouseEnter)
     */
    readonly MouseEnter: RBXScriptSignal<(face: Enum.NormalId) => void>;
    /**
     * Fired when the mouse leaves the GUI handle.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Handles#MouseLeave)
     */
    readonly MouseLeave: RBXScriptSignal<(face: Enum.NormalId) => void>;
}
/**
 * Highlights a face of a surface in a configurable color.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceSelection)
 */
interface SurfaceSelection extends PartAdornment {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SurfaceSelection: unique symbol;
    /**
     * Sets which side the SurfaceSelection will appear on, on the adorned `BasePart`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceSelection#TargetSurface)
     */
    TargetSurface: Enum.NormalId;
}
/**
 * Abstract class for `SelectionPartLasso` and `SelectionPartLasso`.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelectionLasso)
 */
interface SelectionLasso extends GuiBase3d {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SelectionLasso: unique symbol;
    /**
     * The Humanoid that the Lasso belongs to, and will come from.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelectionLasso#Humanoid)
     */
    Humanoid: Humanoid | undefined;
}
/**
 * **Deprecated:** SelectionPartLasso has been deprecated. Developers are advised to use the `Beam` object instead.
 *
 * An instance used to display a "lasso" between a `Humanoid` Torso and a `BasePart`.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelectionPartLasso)
 *
 * @deprecated
 */
interface SelectionPartLasso extends SelectionLasso {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SelectionPartLasso: unique symbol;
    /**
     * Sets the target of the lasso object.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelectionPartLasso#Part)
     */
    Part: BasePart | undefined;
}
/**
 * **Deprecated:** The SelectionPointLasso class is deprecated. It should not be used for new work.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelectionPointLasso)
 *
 * @deprecated
 */
interface SelectionPointLasso extends SelectionLasso {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SelectionPointLasso: unique symbol;
    /**
     * Sets the Vector3 target of the lasso object.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelectionPointLasso#Point)
     */
    Point: Vector3;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D)
 */
interface Path2D extends GuiBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Path2D: unique symbol;
    /**
     * Connects the first and last control points when enabled.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#Closed)
     */
    Closed: boolean;
    /**
     * Determines the color of the `Path2D`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#Color3)
     */
    Color3: Color3;
    /**
     * Determines how thick the `Path2D` path is.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#Thickness)
     */
    Thickness: number;
    /**
     * Determines if the `Path2D` path is rendered or not.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#Visible)
     */
    Visible: boolean;
    /**
     * Determines the order in which a `Path2D` path renders relative to other GUIs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#ZIndex)
     */
    ZIndex: number;
    /**
     * Returns the bounding size for the `Path2D`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#GetBoundingRect)
     * @param this
     */
    GetBoundingRect(this: Path2D): Rect;
    /**
     * Returns the `Path2DControlPoint` for a given index.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#GetControlPoint)
     * @param this
     * @param index
     * @returns The control point at the given index.
     */
    GetControlPoint(this: Path2D, index: number): Path2DControlPoint;
    /**
     * Returns all the `Path2DControlPoints` for the `Path2D`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#GetControlPoints)
     * @param this
     * @returns Table of all the `Path2DControlPoints`.
     */
    GetControlPoints(this: Path2D): Array<unknown>;
    /**
     * Returns the length of the `Path2D`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#GetLength)
     * @param this
     */
    GetLength(this: Path2D): number;
    /**
     * Returns the maximum allowed number of control points.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#GetMaxControlPoints)
     * @param this
     */
    GetMaxControlPoints(this: Path2D): number;
    /**
     * Returns the position at a given value in parameter space.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#GetPositionOnCurve)
     * @param this
     * @param t The value to query the `Path2D` at.
     * @returns The position in parameter space.
     */
    GetPositionOnCurve(this: Path2D, t: number): UDim2;
    /**
     * Returns the position at a given value in arc length space.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#GetPositionOnCurveArcLength)
     * @param this
     * @param t The value to query the Path2D at.
     * @returns The position in arc length space.
     */
    GetPositionOnCurveArcLength(this: Path2D, t: number): UDim2;
    /**
     * Returns the tangent at a given value in parameter space.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#GetTangentOnCurve)
     * @param this
     * @param t The value to query the `Path2D` at.
     */
    GetTangentOnCurve(this: Path2D, t: number): Vector2;
    /**
     * Returns the tangent at a given value in arc length space.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#GetTangentOnCurveArcLength)
     * @param this
     * @param t The value to query the `Path2D` at.
     * @returns The tangent in arc length space.
     */
    GetTangentOnCurveArcLength(this: Path2D, t: number): Vector2;
    /**
     * Inserts a new control point at a given index.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#InsertControlPoint)
     * @param this
     * @param index The index to insert at.
     * @param point The control point to insert.
     */
    InsertControlPoint(this: Path2D, index: number, point: Path2DControlPoint): void;
    /**
     * Removes a control at the given index.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#RemoveControlPoint)
     * @param this
     * @param index The index to remove at.
     */
    RemoveControlPoint(this: Path2D, index: number): void;
    /**
     * Sets all the control points to the specified array, replacing all existing points with new ones.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#SetControlPoints)
     * @param this
     * @param controlPoints The new list of control points to set.
     */
    SetControlPoints(this: Path2D, controlPoints: Array<unknown>): void;
    /**
     * Updates a control point at the given index.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#UpdateControlPoint)
     * @param this
     * @param index The control point index to update.
     * @param point
     */
    UpdateControlPoint(this: Path2D, index: number, point: Path2DControlPoint): void;
    /**
     * Fires any time control points change.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path2D#ControlPointChanged)
     */
    readonly ControlPointChanged: RBXScriptSignal<() => void>;
}
/**
 * Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService)
 */
interface GuiService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GuiService: unique symbol;
    /**
     * If activated, the `Select` button on a gamepad or `Backslash` will automatically set a GUI as the selected object.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#AutoSelectGuiEnabled)
     */
    AutoSelectGuiEnabled: boolean;
    /**
     * Toggles whether or not objects in the `CoreGui` can be navigated using a gamepad.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#CoreGuiNavigationEnabled)
     */
    CoreGuiNavigationEnabled: boolean;
    /**
     * Used to enable and disable the default controller GUI navigation.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#GuiNavigationEnabled)
     */
    GuiNavigationEnabled: boolean;
    /**
     * **Deprecated:** This item is deprecated. Do not use it for new work.
     *
     * Indicates whether a modal dialog is visible.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#IsModalDialog)
     *
     * @deprecated
     */
    readonly IsModalDialog: boolean;
    /**
     * **Deprecated:** This item is deprecated. Do not use it for new work.
     *
     * Indicates whether the user is playing on a computer running Windows.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#IsWindows)
     *
     * @deprecated
     */
    readonly IsWindows: boolean;
    /**
     * Returns `true` if any menu of `CoreGui` is open.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#MenuIsOpen)
     */
    readonly MenuIsOpen: boolean;
    /**
     * Gets the player's preferred text size as an `PreferredTextSize` value.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#PreferredTextSize)
     */
    readonly PreferredTextSize: Enum.PreferredTextSize;
    /**
     * Gets the player's preferred transparency as a number between `0` and `1`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#PreferredTransparency)
     */
    readonly PreferredTransparency: number;
    /**
     * Returns `true` if the player has enabled reduced motion.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#ReducedMotionEnabled)
     */
    readonly ReducedMotionEnabled: boolean;
    /**
     * Sets the `GuiObject` currently being focused on by the GUI navigator.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#SelectedObject)
     */
    SelectedObject: GuiObject | undefined;
    /**
     * Used to determine the absolute size and position of unobstructed area within top bar space.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#TopbarInset)
     */
    readonly TopbarInset: Rect;
    /**
     * Used to enable and disable touch controls and touch control display UI. Defaults to `true`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#TouchControlsEnabled)
     */
    TouchControlsEnabled: boolean;
    /**
     * Read-only property which represents the physical rendering size of the viewport.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#ViewportDisplaySize)
     */
    readonly ViewportDisplaySize: Enum.DisplaySize;
    /**
     * **Deprecated:**
     *
     * Creates a selection group where gamepad GUI navigation will only consider selectable objects that are within the group.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#AddSelectionParent)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     * @param selectionName
     * @param selectionParent
     *
     * @deprecated SelectionGroup
     */
    AddSelectionParent(this: GuiService, selectionName: string, selectionParent: GuiObject): void;
    /**
     * **Deprecated:**
     *
     * **AddSelectionTuple** works similarly to `GuiService:AddSelectionParent()`, but you can give it a tuple of `GuiObject` that you want to be contained in the group. Beware that the second argument is *not* a table, but rather the first of several `GuiObject` in the tuple. To pass the contents of a table, use `unpack`/`unpack`:
     * ```lua
     * local frame = script.Parent -- Passing various GuiObject individually GuiService:AddSelectionTuple("InventoryButtons", frame.Sort, frame.Trash, frame.Drop) -- Unpacking a table of GuiObject (unpack/table.unpack are equivalent) local inventoryButtons = { frame.Sort, frame.Trash, frame.Drop } GuiService:AddSelectionTuple("InventoryButtons", unpack(inventoryButtons))
     * ```
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#AddSelectionTuple)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     * @param selectionName The name of the added selection.
     * @param selections The selection(s) added.
     *
     * @deprecated SelectionGroup
     */
    AddSelectionTuple(this: GuiService, selectionName: string, selections: Array<GuiObject>): void;
    /**
     * Closes the avatar inspection menu, if open.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#CloseInspectMenu)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     */
    CloseInspectMenu(this: GuiService): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#DismissNotification)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     * @param notificationId
     */
    DismissNotification(this: GuiService, notificationId: string): boolean;
    /**
     * Checks if the player emotes menu is open.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#GetEmotesMenuOpen)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     * @returns Whether the emotes menu is open.
     */
    GetEmotesMenuOpen(this: GuiService): boolean;
    /**
     * Returns whether or not the `Player.GameplayPaused` notification has been disabled.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#GetGameplayPausedNotificationEnabled)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     * @returns Whether or not the `Player.GameplayPaused` notification has been disabled.
     */
    GetGameplayPausedNotificationEnabled(this: GuiService): boolean;
    /**
     * Returns two `Vector2` values representing the inset of user GUIs in pixels, from the top‑left corner of the screen and the bottom‑right corner of the screen respectively.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#GetGuiInset)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     * @returns A tuple of two `Vector2` values describing the current specified GUI inset.
     */
    GetGuiInset(this: GuiService): LuaTuple<[
        Vector2,
        Vector2
    ]>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#GetInsetArea)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     * @param screenInsets
     */
    GetInsetArea(this: GuiService, screenInsets: CastsToEnum<Enum.ScreenInsets>): Rect;
    /**
     * Returns whether the avatar inspection menu is enabled.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#GetInspectMenuEnabled)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     * @returns Whether the avatar inspection menu is enabled.
     */
    GetInspectMenuEnabled(this: GuiService): boolean;
    /**
     * Allows the avatar inspection menu to appear showing the assets listed in a `HumanoidDescription` object.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#InspectPlayerFromHumanoidDescription)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     * @param humanoidDescription A `HumanoidDescription` object that contains the assets to show in the inspection menu.
     * @param name The name of the player being inspected to show in the menu.
     */
    InspectPlayerFromHumanoidDescription(this: GuiService, humanoidDescription: HumanoidDescription, name: string): void;
    /**
     * Allows the avatar inspection menu to appear showing the user that has the given `UserId`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#InspectPlayerFromUserId)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     * @param userId The `UserId` of the player to inspect.
     */
    InspectPlayerFromUserId(this: GuiService, userId: number): void;
    /**
     * Returns `true` if the client is using the ten foot interface, a special version of Roblox's UI exclusive to consoles.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#IsTenFootInterface)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     */
    IsTenFootInterface(this: GuiService): boolean;
    /**
     * **Deprecated:**
     *
     * Removes a group that was created with `AddSelectionParent()` or `AddSelectionTuple()`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#RemoveSelectionGroup)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     * @param selectionName
     *
     * @deprecated SelectionGroup
     */
    RemoveSelectionGroup(this: GuiService, selectionName: string): void;
    /**
     * Sets `GuiService.SelectedObject` to a child of a provided instance that is the `PlayerGui` or its descendants.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#Select)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     * @param selectionParent The parent of selection whose descendants are searched.
     */
    Select(this: GuiService, selectionParent: Instance): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#SendNotification)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     * @param notificationInfo
     */
    SendNotification(this: GuiService, notificationInfo: object): string;
    /**
     * Opens or closes the player emotes menu.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#SetEmotesMenuOpen)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     * @param isOpen
     */
    SetEmotesMenuOpen(this: GuiService, isOpen: boolean): void;
    /**
     * Lets you disable the built-in notification when a player's gameplay is paused.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#SetGameplayPausedNotificationEnabled)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     * @param enabled Whether or not the built-in notification GUI is disabled.
     */
    SetGameplayPausedNotificationEnabled(this: GuiService, enabled: boolean): void;
    /**
     * Allows you to enable or disable the avatar inspection menu.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#SetInspectMenuEnabled)
     * @param this Offers numerous properties and methods for working with `GuiObjects`, player preferences, and other UI‑related tasks.
     * @param enabled A boolean indicating whether to enable or disable the menu.
     */
    SetInspectMenuEnabled(this: GuiService, enabled: boolean): void;
    /**
     * Fires when the user **closes** the Roblox `CoreGui` escape menu.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#MenuClosed)
     */
    readonly MenuClosed: RBXScriptSignal<() => void>;
    /**
     * Fires when the user **opens** the Roblox `CoreGui` escape menu.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GuiService#MenuOpened)
     */
    readonly MenuOpened: RBXScriptSignal<() => void>;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HapticEffect)
 */
interface HapticEffect extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_HapticEffect: unique symbol;
    /**
     * Whether the haptic effect loops continuously.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HapticEffect#Looped)
     */
    Looped: boolean;
    /**
     * Along with `Radius`, specifies the impact position relative to the input device and, effectively, how broadly that impact effects nearby motors.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HapticEffect#Position)
     */
    Position: Vector3;
    /**
     * Along with `Position`, specifies the impact radius relative to the input device and, effectively, how broadly that impact effects nearby motors.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HapticEffect#Radius)
     */
    Radius: number;
    /**
     * `HapticEffectType` describing the haptic type.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HapticEffect#Type)
     */
    Type: Enum.HapticEffectType;
    /**
     * Plays the haptic effect.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HapticEffect#Play)
     * @param this
     */
    Play(this: HapticEffect): void;
    /**
     * Defines a custom waveform as a table and applies it to the haptic. <pre><code>This method takes in an array of `FloatCurveKey` objects. </code></pre>
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HapticEffect#SetWaveformKeys)
     * @param this
     * @param keys
     */
    SetWaveformKeys(this: HapticEffect, keys: Array<unknown>): void;
    /**
     * Stops the haptic effect.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HapticEffect#Stop)
     * @param this
     */
    Stop(this: HapticEffect): void;
    /**
     * Fires when the `HapticEffect` has completed playback and stopped.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HapticEffect#Ended)
     */
    readonly Ended: RBXScriptSignal<() => void>;
}
/**
 * Provides haptic feedback to controllers and devices.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HapticService)
 */
interface HapticService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_HapticService: unique symbol;
    /**
     * Returns the current vibration value set to the specified `UserInputType` and `VibrationMotor`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HapticService#GetMotor)
     * @param this Provides haptic feedback to controllers and devices.
     * @param inputType The specified `UserInputType`.
     * @param vibrationMotor The specified `VibrationMotor`.
     * @returns The current vibration value set to the specified `UserInputType` and `VibrationMotor` or `nil` if `SetMotor()` has not been called prior.
     */
    GetMotor(this: HapticService, inputType: CastsToEnum<Enum.UserInputType>, vibrationMotor: CastsToEnum<Enum.VibrationMotor>): unknown;
    /**
     * Returns `true` if the specified motor is available to be used with the specified `UserInputType`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HapticService#IsMotorSupported)
     * @param this Provides haptic feedback to controllers and devices.
     * @param inputType The specific `UserInputType` being checked for `VibrationMotor` support.
     * @param vibrationMotor The specified `VibrationMotor` checked to see if it supports the specified `UserInputType`.
     * @returns Boolean of `true` if the specified motor is available to be used with the specified `UserInputType`, `false` if not.
     */
    IsMotorSupported(this: HapticService, inputType: CastsToEnum<Enum.UserInputType>, vibrationMotor: CastsToEnum<Enum.VibrationMotor>): boolean;
    /**
     * Returns `true` if the specified `UserInputType` supports haptic feedback.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HapticService#IsVibrationSupported)
     * @param this Provides haptic feedback to controllers and devices.
     * @param inputType The specified `UserInputType` checked to see if it supports haptic feedback.
     * @returns Boolean of `true` if the specified `UserInputType` supports haptic feedback.
     */
    IsVibrationSupported(this: HapticService, inputType: CastsToEnum<Enum.UserInputType>): boolean;
    /**
     * Sets the vibration intensity of the specified `UserInputType` and `VibrationMotor`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HapticService#SetMotor)
     * @param this Provides haptic feedback to controllers and devices.
     * @param inputType The specified `UserInputType`.
     * @param vibrationMotor The specified `VibrationMotor`.
     * @param vibrationValues How intensely the motor should vibrate. Only uses the first value in the tuple, which should be a number.
     */
    SetMotor(this: HapticService, inputType: CastsToEnum<Enum.UserInputType>, motor: CastsToEnum<Enum.VibrationMotor>, vibration: number): void;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HarmonyService)
 */
interface HarmonyService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_HarmonyService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HeapProfilerService)
 */
interface HeapProfilerService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_HeapProfilerService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HeatmapService)
 */
interface HeatmapService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_HeatmapService: unique symbol;
}
/**
 * - **Tags**: Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HeightmapImporterService)
 */
interface HeightmapImporterService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_HeightmapImporterService: unique symbol;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HiddenSurfaceRemovalAsset)
 */
interface HiddenSurfaceRemovalAsset extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_HiddenSurfaceRemovalAsset: unique symbol;
}
/**
 * A visual effect which you can use to call attention to a specific object within an experience.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Highlight)
 */
interface Highlight extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Highlight: unique symbol;
    /**
     * The `Instance` that the `Highlight` is applied to.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Highlight#Adornee)
     */
    Adornee: Instance | undefined;
    /**
     * Controls how the `Highlight` effect displays with respect to other objects in the world.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Highlight#DepthMode)
     */
    DepthMode: Enum.HighlightDepthMode;
    /**
     * Sets whether or not the highlight is enabled.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Highlight#Enabled)
     */
    Enabled: boolean;
    /**
     * Sets the `Color3` value of the highlight's interior.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Highlight#FillColor)
     */
    FillColor: Color3;
    /**
     * Sets the transparency of the highlight's interior.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Highlight#FillTransparency)
     */
    FillTransparency: number;
    /**
     * Sets the `Color3` value of the highlight's outline.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Highlight#OutlineColor)
     */
    OutlineColor: Color3;
    /**
     * Sets the transparency of the highlight's outline.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Highlight#OutlineTransparency)
     */
    OutlineTransparency: number;
}
/**
 * Allows sending HTTP requests and provides various web-related and JSON methods.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HttpService)
 */
interface HttpService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_HttpService: unique symbol;
    /**
     * Indicates whether HTTP requests can be sent to external websites.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HttpService#HttpEnabled)
     */
    get HttpEnabled(): boolean;
    /**
     * Creates a client that opens a persistent connection to stream data.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HttpService#CreateWebStreamClient)
     * @param this Allows sending HTTP requests and provides various web-related and JSON methods.
     * @param streamClientType The type of streaming connection to intiialize the client with.
     * @param requestOptions A dictionary containing information to be requested from the server. It is identical to `requestOptions` in `HttpService:RequestAsync()`.
     * @returns A stateful client that emits events in the stream lifecycle.
     */
    CreateWebStreamClient(this: HttpService, streamClientType: CastsToEnum<Enum.WebStreamClientType>, requestOptions: object): WebStreamClient;
    /**
     * Generates a UUID/GUID random string, optionally with curly braces.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HttpService#GenerateGUID)
     * @param this Allows sending HTTP requests and provides various web-related and JSON methods.
     * @param wrapInCurlyBraces Whether the returned string should be wrapped in curly braces (`{}`).
     * @returns The randomly generated UUID.
     */
    GenerateGUID(this: HttpService, wrapInCurlyBraces?: boolean): string;
    /**
     * Returns a `Secret` from the secrets store.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HttpService#GetSecret)
     * @param this Allows sending HTTP requests and provides various web-related and JSON methods.
     * @param key
     */
    GetSecret(this: HttpService, key: string): Secret;
    /**
     * Decodes a JSON string into a Luau table.
     *
     * - **ThreadSafety**: Safe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HttpService#JSONDecode)
     * @param this Allows sending HTTP requests and provides various web-related and JSON methods.
     * @param input The JSON object being decoded.
     * @returns The decoded JSON object as a Luau table.
     */
    JSONDecode(this: HttpService, input: string): unknown;
    /**
     * Generate a JSON string from a Luau table.
     *
     * - **ThreadSafety**: Safe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HttpService#JSONEncode)
     * @param this Allows sending HTTP requests and provides various web-related and JSON methods.
     * @param input The input Luau table.
     * @returns The returned JSON string.
     */
    JSONEncode(this: HttpService, input: unknown): string;
    /**
     * Replaces URL-unsafe characters with '%' and two hexadecimal characters.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HttpService#UrlEncode)
     * @param this Allows sending HTTP requests and provides various web-related and JSON methods.
     * @param input The string (URL) to encode.
     * @returns The encoded string.
     */
    UrlEncode(this: HttpService, input: string): string;
    /**
     * Sends an HTTP `GET` request.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HttpService#GetAsync)
     * @param this Allows sending HTTP requests and provides various web-related and JSON methods.
     * @param url The web address you are requesting data from.
     * @param nocache Whether the request stores (caches) the response.
     * @param headers Used to specify some HTTP request headers.
     * @returns The GET request's response body.
     */
    GetAsync(this: HttpService, url: string, nocache?: boolean, headers?: HttpHeaders): string;
    /**
     * Sends an HTTP `POST` request.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HttpService#PostAsync)
     * @param this Allows sending HTTP requests and provides various web-related and JSON methods.
     * @param url The destination address for the data.
     * @param data The data being sent.
     * @param content_type Modifies the value in the `Content-Type` header sent with the request.
     * @param compress Determines whether the data is compressed (**gzipped**) when sent.
     * @param headers Used to specify some HTTP request headers.
     * @returns The HTTP response sent back indicating the request result.
     */
    PostAsync(this: HttpService, url: string, data: string, content_type?: CastsToEnum<Enum.HttpContentType>, compress?: boolean, headers?: HttpHeaders): string;
    /**
     * Sends an HTTP request using any HTTP method given a dictionary of information.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HttpService#RequestAsync)
     * @param this Allows sending HTTP requests and provides various web-related and JSON methods.
     * @param requestOptions A dictionary containing information to be requested from the server specified.
     * @returns A dictionary containing response information from the server specified.
     */
    RequestAsync(this: HttpService, requestOptions: RequestAsyncRequest): RequestAsyncResponse;
}
/**
 * A special object that gives models the functionality of a character.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid)
 */
interface Humanoid extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Humanoid: unique symbol;
    /**
     * Sets whether the character will automatically jump when they hit an obstacle as a player on a mobile device.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#AutoJumpEnabled)
     */
    AutoJumpEnabled: boolean;
    /**
     * AutoRotate sets whether or not the Humanoid will automatically rotate to face in the direction they are moving in.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#AutoRotate)
     */
    AutoRotate: boolean;
    /**
     * When Enabled, AutomaticScalingEnabled causes the size of the character to change in response to the values in the humanoid's child scale values changing.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#AutomaticScalingEnabled)
     */
    AutomaticScalingEnabled: boolean;
    /**
     * Determines whether the humanoid's joints break when in the `HumanoidStateType.Dead` state.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#BreakJointsOnDeath)
     */
    BreakJointsOnDeath: boolean;
    /**
     * An offset applied to the Camera's subject position when its CameraSubject is set to this Humanoid.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#CameraOffset)
     */
    CameraOffset: Vector3;
    /**
     * **Deprecated:**
     *
     * Selects the `HumanoidCollisionType` for R15 and Rthro non-player characters.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#CollisionType)
     *
     * @deprecated
     */
    get CollisionType(): Enum.HumanoidCollisionType;
    /**
     * Controls the distance behavior of the humanoid's name and health display.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#DisplayDistanceType)
     */
    DisplayDistanceType: Enum.HumanoidDisplayDistanceType;
    /**
     * Sets the text of a Humanoid, displayed above their head.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#DisplayName)
     */
    DisplayName: string;
    /**
     * Used to disable the internal physics and state machine of the Humanoid.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#EvaluateStateMachine)
     */
    EvaluateStateMachine: boolean;
    /**
     * Describes the `Material` that the `Humanoid` is currently standing on. If the `Humanoid` isn't standing on anything, the value of this property will be *Air*.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#FloorMaterial)
     */
    readonly FloorMaterial: Enum.Material;
    /**
     * Describes the current health of the Humanoid on the range [0, `Humanoid.MaxHealth`].
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#Health)
     */
    Health: number;
    /**
     * Used in conjunction with the `DisplayDistanceType` property to control the distance from which a humanoid's health bar can be seen.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#HealthDisplayDistance)
     */
    HealthDisplayDistance: number;
    /**
     * Controls when the humanoid's health bar is allowed to be displayed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#HealthDisplayType)
     */
    HealthDisplayType: Enum.HumanoidHealthDisplayType;
    /**
     * Determines the distance off the ground the `Humanoid.RootPart` should be.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#HipHeight)
     */
    HipHeight: number;
    /**
     * If `true`, the `Humanoid` jumps with an upwards force.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#Jump)
     */
    Jump: boolean;
    /**
     * Provides control over the height that the `Humanoid` jumps to.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#JumpHeight)
     */
    JumpHeight: number;
    /**
     * Determines how much upwards force is applied to the `Humanoid` when jumping.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#JumpPower)
     */
    JumpPower: number;
    /**
     * **Deprecated:** This instance only works with the old R6 rig. It will not work with the R15 rig and should not be used in new work not using the R6 rig.
     *
     * A reference to the humanoid's *Left Leg* part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#LeftLeg)
     *
     * @deprecated
     */
    LeftLeg: BasePart | undefined;
    /**
     * The maximum value of a humanoid's `Health`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#MaxHealth)
     */
    MaxHealth: number;
    /**
     * The maximum slope angle that a humanoid can walk on without slipping.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#MaxSlopeAngle)
     */
    MaxSlopeAngle: number;
    /**
     * Describes the direction that the `Humanoid` is walking in.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#MoveDirection)
     */
    readonly MoveDirection: Vector3;
    /**
     * Used in conjunction with the `Humanoid.DisplayDistanceType` property to control the distance from which a humanoid's name can be seen.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#NameDisplayDistance)
     */
    NameDisplayDistance: number;
    /**
     * Controls whether a humanoid's name and health bar can be seen behind walls or other objects.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#NameOcclusion)
     */
    NameOcclusion: Enum.NameOcclusion;
    /**
     * Determines whether the `Humanoid` is currently in the `HumanoidStateType.PlatformStanding` state.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#PlatformStand)
     */
    PlatformStand: boolean;
    /**
     * Allows developers to disable the behavior where a player `Character|character` dies if the Neck `Motor6D` is removed or disconnected even momentarily.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#RequiresNeck)
     */
    RequiresNeck: boolean;
    /**
     * Describes whether this `Humanoid` is utilizing the legacy R6 character rig, or the new R15 character rig.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#RigType)
     */
    RigType: Enum.HumanoidRigType;
    /**
     * **Deprecated:** This instance only works with the old R6 rig. It will not work with the R15 rig and should not be used in new work not using the R6 rig.
     *
     * A reference to the humanoid's *Right Leg* part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#RightLeg)
     *
     * @deprecated
     */
    RightLeg: BasePart | undefined;
    /**
     * A reference to the humanoid's **HumanoidRootPart** object.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#RootPart)
     */
    readonly RootPart: BasePart | undefined;
    /**
     * A reference to the seat that a `Humanoid` is currently sitting in, if any.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#SeatPart)
     */
    readonly SeatPart: BasePart | undefined;
    /**
     * Describes whether the `Humanoid` is currently sitting.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#Sit)
     */
    Sit: boolean;
    /**
     * Describes the 3D position where the `Player` controlling the `Humanoid` last clicked in the world while using a `Tool`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#TargetPoint)
     */
    TargetPoint: Vector3;
    /**
     * **Deprecated:** This instance only works with the old R6 rig. It will not work with the R15 rig and should not be used in new work not using the R6 rig.
     *
     * A reference to a humanoid's root driving part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#Torso)
     *
     * @deprecated
     */
    Torso: BasePart | undefined;
    /**
     * Determines whether the `JumpHeight` (false) or `Humanoid.JumpPower` (true) property is used.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#UseJumpPower)
     */
    UseJumpPower: boolean;
    /**
     * Describes the humanoid's maximum movement speed in studs per second.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#WalkSpeed)
     */
    WalkSpeed: number;
    /**
     * A reference to a part whose position is trying to be reached by a humanoid.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#WalkToPart)
     */
    WalkToPart: BasePart | undefined;
    /**
     * The position that a humanoid is trying to reach, after a call to `Humanoid:MoveTo()` is made.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#WalkToPoint)
     */
    WalkToPoint: Vector3;
    /**
     * Attaches the specified `Accessory` to the humanoid's parent.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#AddAccessory)
     * @param this A special object that gives models the functionality of a character.
     * @param accessory The `Accessory` to be attached.
     */
    AddAccessory(this: Humanoid, accessory: Instance): void;
    /**
     * **Deprecated:** This item is deprecated, as it was a part of the unfinished RbxStatus library which would have allowed you to add conditions to a Humanoid. Do not use it for new work.
     *
     * Adds a custom status to the Humanoid.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#AddCustomStatus)
     * @param this A special object that gives models the functionality of a character.
     * @param status
     *
     * @deprecated
     */
    AddCustomStatus(this: Humanoid, status: string): boolean;
    /**
     * **Deprecated:** This item is deprecated, as it was a part of the unfinished RbxStatus library which would have allowed you to add conditions to a Humanoid. Do not use it for new work.
     *
     * Adds a BoolValue to the Humanoid's *Status* object.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#AddStatus)
     * @param this A special object that gives models the functionality of a character.
     * @param status
     *
     * @deprecated
     */
    AddStatus(this: Humanoid, status?: CastsToEnum<Enum.Status>): boolean;
    /**
     * Assembles a tree of `Motor6D` joints by attaching together `Attachment` objects in a humanoid's character.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#BuildRigFromAttachments)
     * @param this A special object that gives models the functionality of a character.
     */
    BuildRigFromAttachments(this: Humanoid): void;
    /**
     * Sets the `Humanoid` to enter the given `HumanoidStateType`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#ChangeState)
     * @param this A special object that gives models the functionality of a character.
     * @param state The `HumanoidStateType` that the `Humanoid` is to perform.
     */
    ChangeState(this: Humanoid, state?: CastsToEnum<Enum.HumanoidStateType>): void;
    /**
     * Makes the `Humanoid` equip the given `Tool`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#EquipTool)
     * @param this A special object that gives models the functionality of a character.
     * @param tool The `Tool` to equip.
     */
    EquipTool(this: Humanoid, tool: Instance): void;
    /**
     * Returns an array of `Accessory` objects that the humanoid's parent is currently wearing.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#GetAccessories)
     * @param this A special object that gives models the functionality of a character.
     * @returns An array of `Accessory` objects that are parented to the humanoid's parent.
     */
    GetAccessories(this: Humanoid): Array<Accessory>;
    /**
     * Returns a copy of the humanoid's cached `HumanoidDescription` which describes its current look.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#GetAppliedDescription)
     * @param this A special object that gives models the functionality of a character.
     */
    GetAppliedDescription(this: Humanoid): HumanoidDescription;
    /**
     * Pass a body part to this method (the body part should be a sibling of Humanoid, and a child of a Model) to get the `BodyPartR15` of the `Part`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#GetBodyPartR15)
     * @param this A special object that gives models the functionality of a character.
     * @param part The specified part being checked to see if it is an R15 body part.
     * @returns The specified part's R15 body part type or unknown if the part is not a body part.
     */
    GetBodyPartR15(this: Humanoid, part: Instance): Enum.BodyPartR15;
    /**
     * Returns the `Limb` enum that is associated with the given `Part`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#GetLimb)
     * @param this A special object that gives models the functionality of a character.
     * @param part The `Part` for which the `Enum.Limb` is to be retrieved.
     * @returns The `Limb` the part corresponds with.
     */
    GetLimb(this: Humanoid, part: Instance): Enum.Limb;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#GetMoveVelocity)
     * @param this A special object that gives models the functionality of a character.
     */
    GetMoveVelocity(this: Humanoid): Vector3;
    /**
     * **Deprecated:**
     *
     * Returns an array of all `AnimationTracks` that are currently being played on the `Humanoid`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#GetPlayingAnimationTracks)
     * @param this A special object that gives models the functionality of a character.
     * @returns An array of currently playing `AnimationTracks`.
     *
     * @deprecated
     */
    GetPlayingAnimationTracks(this: Humanoid): Array<AnimationTrack>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#GetRelativeVelocityAtFloor)
     */
    GetRelativeVelocityAtFloor(this: Humanoid): Vector3;
    /**
     * Returns the humanoid's current `HumanoidStateType`.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#GetState)
     * @param this A special object that gives models the functionality of a character.
     * @returns The current `HumanoidStateType` of the `Humanoid`.
     */
    GetState(this: Humanoid): Enum.HumanoidStateType;
    /**
     * Returns whether a `HumanoidStateType` is enabled for the `Humanoid`.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#GetStateEnabled)
     * @param this A special object that gives models the functionality of a character.
     * @param state The given `HumanoidStateType`.
     * @returns Whether the given `HumanoidStateType` is enabled.
     */
    GetStateEnabled(this: Humanoid, state: CastsToEnum<Enum.HumanoidStateType>): boolean;
    /**
     * **Deprecated:** This item is deprecated, as it was a part of the unfinished RbxStatus library which would have allowed you to add conditions to a Humanoid. Do not use it for new work.
     *
     * Returns a table of the Humanoid's statuses, and custom statuses.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#GetStatuses)
     * @param this A special object that gives models the functionality of a character.
     *
     * @deprecated
     */
    GetStatuses(this: Humanoid): Array<unknown>;
    /**
     * **Deprecated:** This item is deprecated, as it was a part of the unfinished RbxStatus library which would have allowed you to add conditions to a Humanoid. Do not use it for new work.
     *
     * Returns boolean based on if custom statuses exist.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#HasCustomStatus)
     * @param this A special object that gives models the functionality of a character.
     * @param status
     *
     * @deprecated
     */
    HasCustomStatus(this: Humanoid, status: string): boolean;
    /**
     * **Deprecated:** This item is deprecated, as it was a part of the unfinished RbxStatus library which would have allowed you to add conditions to a Humanoid. Do not use it for new work.
     *
     * Returns a boolean based on if a status exists.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#HasStatus)
     * @param this A special object that gives models the functionality of a character.
     * @param status
     *
     * @deprecated
     */
    HasStatus(this: Humanoid, status?: CastsToEnum<Enum.Status>): boolean;
    /**
     * **Deprecated:** This function is deprecated in favor of using `Animator:LoadAnimation()` directly (the `Animator` may be created while editing or at runtime).
     *
     * Loads an `Animation` onto a `Humanoid`, returning an `AnimationTrack` that can be used for playback.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#LoadAnimation)
     * @param this A special object that gives models the functionality of a character.
     * @param animation The `Animation` to load.
     *
     * @deprecated
     */
    LoadAnimation(this: Humanoid, animation: Animation): AnimationTrack;
    /**
     * Causes the `Humanoid` to walk in the given direction.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#Move)
     * @param this A special object that gives models the functionality of a character.
     * @param moveDirection The direction to walk in.
     * @param relativeToCamera Set to `true` if the `moveDirection` parameter should be taken as relative to the `CurrentCamera`.
     */
    Move(this: Humanoid, moveDirection: Vector3, relativeToCamera?: boolean): void;
    /**
     * Causes the `Humanoid` to attempt to walk to the given location by setting the `Humanoid.WalkToPoint` and `Humanoid.WalkToPart` properties.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#MoveTo)
     * @param this A special object that gives models the functionality of a character.
     * @param location The position to set `Humanoid.WalkToPoint` to.
     * @param part The `BasePart` to set `Humanoid.WalkToPart` to.
     */
    MoveTo(this: Humanoid, location: Vector3, part?: Instance): void;
    /**
     * Removes all `Accessory` objects worn by the humanoid's parent.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#RemoveAccessories)
     * @param this A special object that gives models the functionality of a character.
     */
    RemoveAccessories(this: Humanoid): void;
    /**
     * **Deprecated:** This item is deprecated, as it was a part of the unfinished RbxStatus library which would have allowed you to add conditions to a Humanoid. Do not use it for new work.
     *
     * Removes the defined custom status from the Status model in the Humanoid..
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#RemoveCustomStatus)
     * @param this A special object that gives models the functionality of a character.
     * @param status
     *
     * @deprecated
     */
    RemoveCustomStatus(this: Humanoid, status: string): boolean;
    /**
     * **Deprecated:** This item is deprecated, as it was a part of the unfinished RbxStatus library which would have allowed you to add conditions to a Humanoid. Do not use it for new work.
     *
     * Removes the defined status from the Status model in the Humanoid.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#RemoveStatus)
     * @param this A special object that gives models the functionality of a character.
     * @param status
     *
     * @deprecated
     */
    RemoveStatus(this: Humanoid, status?: CastsToEnum<Enum.Status>): boolean;
    /**
     * Dynamically replaces a Humanoid body part with a different part.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#ReplaceBodyPartR15)
     * @param this A special object that gives models the functionality of a character.
     * @param bodyPart The body part to replace. `BodyPartR15.Unknown` will fail.
     * @param part The `Part` `Instance` which will be parented to the character.
     */
    ReplaceBodyPartR15(this: Humanoid, bodyPart: CastsToEnum<Enum.BodyPartR15>, part: BasePart): boolean;
    /**
     * Sets whether a given `HumanoidStateType` is enabled for the `Humanoid`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#SetStateEnabled)
     * @param this A special object that gives models the functionality of a character.
     * @param state The `HumanoidStateType` to be enabled or disabled.
     * @param enabled `true` if `state` is to be enabled, `false` if `state` is to be disabled.
     */
    SetStateEnabled(this: Humanoid, state: CastsToEnum<Enum.HumanoidStateType>, enabled: boolean): void;
    /**
     * Lowers the `Humanoid.Health` of the `Humanoid` by the given *amount* if it is not protected by a `ForceField`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#TakeDamage)
     * @param this A special object that gives models the functionality of a character.
     * @param amount The damage, or amount to be deduced from the `Humanoid.Health`.
     */
    TakeDamage(this: Humanoid, amount: number): void;
    /**
     * Unequips any `Tool` currently equipped by the `Humanoid`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#UnequipTools)
     * @param this A special object that gives models the functionality of a character.
     */
    UnequipTools(this: Humanoid): void;
    /**
     * **Deprecated:** This method has been superseded by `ApplyDescriptionAsync()`.
     *
     * Makes the character's look match that of the passed in `HumanoidDescription`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#ApplyDescription)
     * @param this A special object that gives models the functionality of a character.
     * @param humanoidDescription The `HumanoidDescription` instance which you want to set the character to match.
     * @param assetTypeVerification The asset type verification mode.
     *
     * @deprecated ApplyDescriptionAsync
     */
    ApplyDescription(this: Humanoid, humanoidDescription: HumanoidDescription, assetTypeVerification?: CastsToEnum<Enum.AssetTypeVerification>): void;
    /**
     * Makes the character's look match that of the passed in `HumanoidDescription`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#ApplyDescriptionAsync)
     * @param this A special object that gives models the functionality of a character.
     * @param humanoidDescription The `HumanoidDescription` instance which you want to set the character to match.
     * @param assetTypeVerification The asset type verification mode.
     */
    ApplyDescriptionAsync(this: Humanoid, humanoidDescription: HumanoidDescription, assetTypeVerification?: CastsToEnum<Enum.AssetTypeVerification>): void;
    /**
     * **Deprecated:** This method has been superseded by `ApplyDescriptionResetAsync()`.
     *
     * Makes the character's look match that of the passed in `HumanoidDescription`, even after external changes.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#ApplyDescriptionReset)
     * @param this A special object that gives models the functionality of a character.
     * @param humanoidDescription The `HumanoidDescription` instance which you want to set the character to match.
     * @param assetTypeVerification The asset type verification mode.
     *
     * @deprecated ApplyDescriptionResetAsync
     */
    ApplyDescriptionReset(this: Humanoid, humanoidDescription: HumanoidDescription, assetTypeVerification?: CastsToEnum<Enum.AssetTypeVerification>): void;
    /**
     * Makes the character's look match that of the passed in `HumanoidDescription`, even after external changes.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#ApplyDescriptionResetAsync)
     * @param this A special object that gives models the functionality of a character.
     * @param humanoidDescription The `HumanoidDescription` instance which you want to set the character to match.
     * @param assetTypeVerification The asset type verification mode.
     */
    ApplyDescriptionResetAsync(this: Humanoid, humanoidDescription: HumanoidDescription, assetTypeVerification?: CastsToEnum<Enum.AssetTypeVerification>): void;
    /**
     * **Deprecated:** This method has been superseded by `PlayEmoteAsync()`.
     *
     * Plays emotes and returns if was successfully ran.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#PlayEmote)
     * @param this A special object that gives models the functionality of a character.
     * @param emoteName name of the emote to play.
     * @returns successfully played.
     *
     * @deprecated PlayEmoteAsync
     */
    PlayEmote(this: Humanoid, emoteName: string): boolean;
    /**
     * Plays emotes and returns if was successfully ran.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#PlayEmoteAsync)
     * @param this A special object that gives models the functionality of a character.
     * @param emoteName name of the emote to play.
     * @returns successfully played.
     */
    PlayEmoteAsync(this: Humanoid, emoteName: string): boolean;
    /**
     * **Deprecated:**
     *
     * Fires when an `AnimationTrack` begins playing on the `Humanoid`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#AnimationPlayed)
     *
     * @deprecated
     */
    readonly AnimationPlayed: RBXScriptSignal<(animationTrack: AnimationTrack) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#ApplyDescriptionFinished)
     */
    readonly ApplyDescriptionFinished: RBXScriptSignal<(description: HumanoidDescription) => void>;
    /**
     * Fires when the speed at which a `Humanoid` is climbing changes.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#Climbing)
     */
    readonly Climbing: RBXScriptSignal<(speed: number) => void>;
    /**
     * **Deprecated:** This item is deprecated, as it was a part of the unfinished RbxStatus library which would have allowed you to add conditions to a Humanoid. Do not use it for new work.
     *
     * Fired when a status is added to the Humanoid.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#CustomStatusAdded)
     *
     * @deprecated
     */
    readonly CustomStatusAdded: RBXScriptSignal<(status: string) => void>;
    /**
     * **Deprecated:** This item is deprecated, as it was a part of the unfinished RbxStatus library which would have allowed you to add conditions to a Humanoid. Do not use it for new work.
     *
     * Fired when a status is removed from the Humanoid.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#CustomStatusRemoved)
     *
     * @deprecated
     */
    readonly CustomStatusRemoved: RBXScriptSignal<(status: string) => void>;
    /**
     * Fires when the `Humanoid` dies.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#Died)
     */
    readonly Died: RBXScriptSignal<() => void>;
    /**
     * Fires when the `Humanoid` enters or leaves the `FallingDown` `HumanoidStateType`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#FallingDown)
     */
    readonly FallingDown: RBXScriptSignal<(active: boolean) => void>;
    /**
     * Fires when the `Humanoid` enters or leaves the `Freefall` `HumanoidStateType`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#FreeFalling)
     */
    readonly FreeFalling: RBXScriptSignal<(active: boolean) => void>;
    /**
     * Fires when the `Humanoid` enters or leaves the `GettingUp` `HumanoidStateType`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#GettingUp)
     */
    readonly GettingUp: RBXScriptSignal<(active: boolean) => void>;
    /**
     * Fires when the `Humanoid.Health` changes (or when the `Humanoid.MaxHealth` is set).
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#HealthChanged)
     */
    readonly HealthChanged: RBXScriptSignal<(health: number) => void>;
    /**
     * Fires when the `Humanoid` enters and leaves the `Jumping` `HumanoidStateType`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#Jumping)
     */
    readonly Jumping: RBXScriptSignal<(active: boolean) => void>;
    /**
     * Fires when the `Humanoid` finishes walking to a goal declared by `Humanoid:MoveTo()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#MoveToFinished)
     */
    readonly MoveToFinished: RBXScriptSignal<(reached: boolean) => void>;
    /**
     * Fires when the `Humanoid` enters or leaves the `PlatformStanding` `HumanoidStateType`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#PlatformStanding)
     */
    readonly PlatformStanding: RBXScriptSignal<(active: boolean) => void>;
    /**
     * Fires when the `Humanoid` enters or leaves the `Ragdoll` `HumanoidStateType`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#Ragdoll)
     */
    readonly Ragdoll: RBXScriptSignal<(active: boolean) => void>;
    /**
     * Fires when the speed at which a `Humanoid` is running changes.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#Running)
     */
    readonly Running: RBXScriptSignal<(speed: number) => void>;
    /**
     * Fired when a `Humanoid` either sits in a `Seat` or `VehicleSeat` or gets up.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#Seated)
     */
    readonly Seated: RBXScriptSignal<(active: boolean, currentSeatPart: Seat | VehicleSeat | undefined) => void>;
    /**
     * Fires when the state of the `Humanoid` is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#StateChanged)
     */
    readonly StateChanged: RBXScriptSignal<(oldValue: Enum.HumanoidStateType, newValue: Enum.HumanoidStateType) => void>;
    /**
     * Fires when `Humanoid:SetStateEnabled()` is called on the `Humanoid`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#StateEnabledChanged)
     */
    readonly StateEnabledChanged: RBXScriptSignal<(state: Enum.HumanoidStateType, isEnabled: boolean) => void>;
    /**
     * **Deprecated:** This item is deprecated, as it was a part of the unfinished RbxStatus library which would have allowed you to add conditions to a Humanoid. Do not use it for new work.
     *
     * Fired when a status is added to the Humanoid.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#StatusAdded)
     *
     * @deprecated
     */
    readonly StatusAdded: RBXScriptSignal<(status: Enum.Status) => void>;
    /**
     * **Deprecated:** This item is deprecated, as it was a part of the unfinished RbxStatus library which would have allowed you to add conditions to a Humanoid. Do not use it for new work.
     *
     * Fired when a status is removed from the Humanoid.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#StatusRemoved)
     *
     * @deprecated
     */
    readonly StatusRemoved: RBXScriptSignal<(status: Enum.Status) => void>;
    /**
     * Fires when the `Humanoid` enters or leaves the `StrafingNoPhysics` `HumanoidStateType`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#Strafing)
     */
    readonly Strafing: RBXScriptSignal<(active: boolean) => void>;
    /**
     * Fires when the speed at which a `Humanoid` is swimming in `Terrain` water changes.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#Swimming)
     */
    readonly Swimming: RBXScriptSignal<(speed: number) => void>;
    /**
     * Fires when one of the humanoid's limbs come in contact with another `BasePart`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Humanoid#Touched)
     */
    readonly Touched: RBXScriptSignal<(touchingPart: BasePart, humanoidPart: BasePart) => void>;
}
/**
 * Describes the appearance of a Humanoid character including body parts, accessories, colors, scales, animations, and emotes.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription)
 */
interface HumanoidDescription extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_HumanoidDescription: unique symbol;
    /**
     * A comma-separated list of asset IDs that will be added as `Accessories` to a `Humanoid` rig when `applied`, usually those attached to its back (such as capes).
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#BackAccessory)
     */
    BackAccessory: string;
    /**
     * Determines the factor by which the shape of a `Humanoid` is interpolated from the standard R15 body shape (0) to a taller and more slender body type (1).
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#BodyTypeScale)
     */
    BodyTypeScale: number;
    /**
     * When this description is `applied` to a `Humanoid`, this determines the `Animation.AnimationId` to play when its `state` is `Climbing`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#ClimbAnimation)
     */
    ClimbAnimation: number;
    /**
     * Determines by what factor the depth (back-to-front distance) of a `Humanoid` is scaled.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#DepthScale)
     */
    DepthScale: number;
    /**
     * Determines the asset ID of the Face to be applied to the `Humanoid`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#Face)
     */
    Face: number;
    /**
     * A comma-separated list of asset IDs that will be added as `Accessories` to a `Humanoid` rig when `applied`, usually those attached to the front of its face (such as glasses).
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#FaceAccessory)
     */
    FaceAccessory: string;
    /**
     * When this description is `applied` to a `Humanoid`, this determines the `Animation.AnimationId` to play when its `state` is `Freefall`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#FallAnimation)
     */
    FallAnimation: number;
    /**
     * A comma-separated list of asset IDs that will be added as `Accessories` to a `Humanoid` rig when `applied`, usually those attached to front of its torso (such as medals or ties).
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#FrontAccessory)
     */
    FrontAccessory: string;
    /**
     * Determines the `Graphic` used by a `ShirtGraphic`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#GraphicTShirt)
     */
    GraphicTShirt: number;
    /**
     * A comma-separated list of asset IDs that will be added as `Accessories` to a `Humanoid` rig when `applied`, usually those attached to its head resembling hair.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#HairAccessory)
     */
    HairAccessory: string;
    /**
     * A comma-separated list of asset IDs that will be added as `Accessories` to a `Humanoid` rig when `applied`, usually those attached to its head.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#HatAccessory)
     */
    HatAccessory: string;
    /**
     * Determines the asset ID of the Head to be applied to the `Humanoid`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#Head)
     */
    Head: number;
    /**
     * Determines the `BodyColors.HeadColor3` and `BodyColors.HeadColor` of a `Humanoid` when `applied`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#HeadColor)
     */
    HeadColor: Color3;
    /**
     * Determines by what factor the **Head** object of a `Humanoid` is scaled, as well as any accessories attached to it.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#HeadScale)
     */
    HeadScale: number;
    /**
     * Determines by what factor the height (top-to-bottom distance) of a `Humanoid` is scaled, as well as all accessories not attached to its head.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#HeightScale)
     */
    HeightScale: number;
    /**
     * When this description is `applied` to a `Humanoid`, this determines the `Animation.AnimationId` to play when its `state` is `Running` at a speed near zero.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#IdleAnimation)
     */
    IdleAnimation: number;
    /**
     * When this description is `applied` to a `Humanoid`, this determines the `Animation.AnimationId` to play when its `state` is `Jumping`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#JumpAnimation)
     */
    JumpAnimation: number;
    /**
     * Determines the asset ID of the LeftArm to be applied to the `Humanoid`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#LeftArm)
     */
    LeftArm: number;
    /**
     * Determines the `BodyColors.LeftArmColor3` and `BodyColors.LeftArmColor` of a `Humanoid` when applied.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#LeftArmColor)
     */
    LeftArmColor: Color3;
    /**
     * Determines the asset ID of the LeftLeg to be applied to the `Humanoid`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#LeftLeg)
     */
    LeftLeg: number;
    /**
     * Determines the `BodyColors.LeftLegColor3` and `BodyColors.LeftLegColor` of a `Humanoid` when applied.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#LeftLegColor)
     */
    LeftLegColor: Color3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#MoodAnimation)
     */
    MoodAnimation: number;
    /**
     * A comma-separated list of asset IDs that will be added as `Accessories` to a `Humanoid` rig when `applied`, usually those attached to its neck (such as scarves or necklaces).
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#NeckAccessory)
     */
    NeckAccessory: string;
    /**
     * Determines the `PantsTemplate` used by a `Pants` instance.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#Pants)
     */
    Pants: number;
    /**
     * Determines how wide (0) or narrow (1) a `Humanoid` rig is.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#ProportionScale)
     */
    ProportionScale: number;
    /**
     * Determines the asset ID of the RightArm to be applied to the `Humanoid`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#RightArm)
     */
    RightArm: number;
    /**
     * Determines the `BodyColors.RightArmColor3` and `BodyColors.RightArmColor` of a Humanoid when applied.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#RightArmColor)
     */
    RightArmColor: Color3;
    /**
     * Determines the asset ID of the RightLeg to be applied to the `Humanoid`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#RightLeg)
     */
    RightLeg: number;
    /**
     * Determines the `BodyColors.RightLegColor3` and `BodyColors.RightLegColor` of a Humanoid when applied.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#RightLegColor)
     */
    RightLegColor: Color3;
    /**
     * When this description is `applied` to a `Humanoid`, this determines the `Animation.AnimationId` to play when its `state` is `Running` at a moderate speed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#RunAnimation)
     */
    RunAnimation: number;
    /**
     * Determines the `ShirtTemplate` used by a `Shirt` instance.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#Shirt)
     */
    Shirt: number;
    /**
     * A comma-separated list of asset IDs that will be added as `Accessories` to a `Humanoid` rig when `applied`, usually those attached to its shoulders (such as shoulder-mounted critters).
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#ShouldersAccessory)
     */
    ShouldersAccessory: string;
    /**
     * When `true`, disables facial animations on a Dynamic Head, displaying a static mood pose instead. Defaults to `false`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#StaticFacialAnimation)
     */
    StaticFacialAnimation: boolean;
    /**
     * When this description is `applied` to a `Humanoid`, this determines the `Animation.AnimationId` to play when its `state` is `Swimming`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#SwimAnimation)
     */
    SwimAnimation: number;
    /**
     * Determines the asset ID of the Torso to be applied to the `Humanoid`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#Torso)
     */
    Torso: number;
    /**
     * Determines the `BodyColors.TorsoColor3` and `BodyColors.TorsoColor` of a Humanoid when applied.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#TorsoColor)
     */
    TorsoColor: Color3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#UseAvatarSettings)
     */
    UseAvatarSettings: boolean;
    /**
     * A comma-separated list of asset IDs that will be added as `Accessories` to a `Humanoid` rig when `applied`, usually those attached to its waist (such as belts).
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#WaistAccessory)
     */
    WaistAccessory: string;
    /**
     * When this description is `applied` to a `Humanoid`, this determines the `Animation.AnimationId` to play when its `state` is `Running` at a low speed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#WalkAnimation)
     */
    WalkAnimation: number;
    /**
     * Determines by what factor the width (left-to-right distance) of a `Humanoid` is scaled, as well as all accessories not attached to its head.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#WidthScale)
     */
    WidthScale: number;
    /**
     * Adds the emote to the description given a name and its asset ID.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#AddEmote)
     * @param this Describes the appearance of a Humanoid character including body parts, accessories, colors, scales, animations, and emotes.
     * @param name A string that identifies what emote is being added. Example: `"Salute"`.
     * @param assetId An emote asset ID.
     */
    AddEmote(this: HumanoidDescription, name: string, assetId: number): void;
    /**
     * Returns a table of an avatar's current accessories.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#GetAccessories)
     * @param this Describes the appearance of a Humanoid character including body parts, accessories, colors, scales, animations, and emotes.
     * @param includeRigidAccessories Set to true if rigid accessories from the rigid accessory properties should also be included in the return array. False means only include layered clothing accessories from the AccessoryBlob.
     * @returns Returns an array where each entry specifies for an individual accessory the AccessoryType, AssetId, IsLayered, Order and Puffiness.
     */
    GetAccessories(this: HumanoidDescription, includeRigidAccessories: false): Array<LayeredAccessoryInfo>;
    GetAccessories(this: HumanoidDescription, includeRigidAccessories: boolean): Array<AccessoryInfo>;
    /**
     * Returns a dictionary of emotes that have been `added` or `set` to this description.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#GetEmotes)
     * @param this Describes the appearance of a Humanoid character including body parts, accessories, colors, scales, animations, and emotes.
     * @returns A dictionary of emotes where the key is the emote name and the value is an array of emote asset IDs. Example:
     * ```lua
     * {     Salute = {3360689775},     Agree = {4849487550},     Disagree = {4849495710} }
     * ``` .
     */
    GetEmotes(this: HumanoidDescription): EmoteDictionary;
    /**
     * Returns an array of tables describing the equipped emotes that have been `set`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#GetEquippedEmotes)
     * @param this Describes the appearance of a Humanoid character including body parts, accessories, colors, scales, animations, and emotes.
     * @returns An array of tables describing the name and slot which each emote is equipped. Example:
     * ```lua
     * {     {Slot = 3, Name = "Salute"},     {Slot = 2, Name = "Agree"},     {Slot = 1, Name = "Disagree"}, }
     * ``` .
     */
    GetEquippedEmotes(this: HumanoidDescription): EquippedEmotes;
    /**
     * Removes any emotes that have been added under the given name.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#RemoveEmote)
     * @param this Describes the appearance of a Humanoid character including body parts, accessories, colors, scales, animations, and emotes.
     * @param name The name of the emote as it was `set` or `added`.
     */
    RemoveEmote(this: HumanoidDescription, name: string): void;
    /**
     * Accepts a table that sets the accessories and related properties for an avatar.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#SetAccessories)
     * @param this Describes the appearance of a Humanoid character including body parts, accessories, colors, scales, animations, and emotes.
     * @param accessories Each entry specifies for an individual accessory the AccessoryType, AssetId, IsLayered, Order and Puffiness.
     * @param includeRigidAccessories Set to true if rigid accessories are also included in the passed in array (they would have to not specify Order).
     */
    SetAccessories(this: HumanoidDescription, accessories: Array<unknown>, includeRigidAccessories: boolean): void;
    /**
     * Sets all of the emotes on this description.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#SetEmotes)
     * @param this Describes the appearance of a Humanoid character including body parts, accessories, colors, scales, animations, and emotes.
     * @param emotes A dictionary of emotes where the key is the emote name and the value is an array of emote asset IDs. Example:
     * ```lua
     * {     Salute = {3360689775},     Agree = {4849487550},     Disagree = {4849495710} }
     * ``` .
     */
    SetEmotes(this: HumanoidDescription, emotes: EmoteDictionary): void;
    /**
     * Sets the currently equipped emotes given an array of emote names.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#SetEquippedEmotes)
     * @param this Describes the appearance of a Humanoid character including body parts, accessories, colors, scales, animations, and emotes.
     * @param equippedEmotes An array of emote names. Example:
     * ```lua
     * { "Disagree", "Agree", "Salute" }
     * ``` – OR – An array of tables describing the name and slot which each emote is equipped. Example:
     * ```lua
     * {     {Slot = 3, Name = "Salute"},     {Slot = 2, Name = "Agree"},     {Slot = 1, Name = "Disagree"}, }
     * ``` .
     */
    SetEquippedEmotes(this: HumanoidDescription, equippedEmotes: EquippedEmotes): void;
    /**
     * Fires when emotes are added, removed or set on this description.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#EmotesChanged)
     */
    readonly EmotesChanged: RBXScriptSignal<(newEmotes: EmoteDictionary) => void>;
    /**
     * Fires when the equipped emotes are `set` on this description.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription#EquippedEmotesChanged)
     */
    readonly EquippedEmotesChanged: RBXScriptSignal<(newEquippedEmotes: EquippedEmotes) => void>;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription)
 */
interface HumanoidRigDescription extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_HumanoidRigDescription: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#Chest)
     */
    Chest: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#ChestRangeMax)
     */
    ChestRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#ChestRangeMin)
     */
    ChestRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#ChestSize)
     */
    ChestSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#ChestTposeAdjustment)
     */
    ChestTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#HeadBase)
     */
    HeadBase: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#HeadBaseRangeMax)
     */
    HeadBaseRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#HeadBaseRangeMin)
     */
    HeadBaseRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#HeadBaseSize)
     */
    HeadBaseSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#HeadBaseTposeAdjustment)
     */
    HeadBaseTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftAnkle)
     */
    LeftAnkle: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftAnkleRangeMax)
     */
    LeftAnkleRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftAnkleRangeMin)
     */
    LeftAnkleRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftAnkleSize)
     */
    LeftAnkleSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftAnkleTposeAdjustment)
     */
    LeftAnkleTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftClavicle)
     */
    LeftClavicle: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftClavicleRangeMax)
     */
    LeftClavicleRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftClavicleRangeMin)
     */
    LeftClavicleRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftClavicleSize)
     */
    LeftClavicleSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftClavicleTposeAdjustment)
     */
    LeftClavicleTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftElbow)
     */
    LeftElbow: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftElbowRangeMax)
     */
    LeftElbowRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftElbowRangeMin)
     */
    LeftElbowRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftElbowSize)
     */
    LeftElbowSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftElbowTposeAdjustment)
     */
    LeftElbowTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftHip)
     */
    LeftHip: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftHipRangeMax)
     */
    LeftHipRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftHipRangeMin)
     */
    LeftHipRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftHipSize)
     */
    LeftHipSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftHipTposeAdjustment)
     */
    LeftHipTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftKnee)
     */
    LeftKnee: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftKneeRangeMax)
     */
    LeftKneeRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftKneeRangeMin)
     */
    LeftKneeRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftKneeSize)
     */
    LeftKneeSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftKneeTposeAdjustment)
     */
    LeftKneeTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftShoulder)
     */
    LeftShoulder: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftShoulderRangeMax)
     */
    LeftShoulderRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftShoulderRangeMin)
     */
    LeftShoulderRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftShoulderSize)
     */
    LeftShoulderSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftShoulderTposeAdjustment)
     */
    LeftShoulderTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftToeBase)
     */
    LeftToeBase: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftToeBaseRangeMax)
     */
    LeftToeBaseRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftToeBaseRangeMin)
     */
    LeftToeBaseRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftToeBaseSize)
     */
    LeftToeBaseSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftToeBaseTposeAdjustment)
     */
    LeftToeBaseTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftWrist)
     */
    LeftWrist: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftWristRangeMax)
     */
    LeftWristRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftWristRangeMin)
     */
    LeftWristRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftWristSize)
     */
    LeftWristSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#LeftWristTposeAdjustment)
     */
    LeftWristTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#Neck)
     */
    Neck: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#NeckRangeMax)
     */
    NeckRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#NeckRangeMin)
     */
    NeckRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#NeckSize)
     */
    NeckSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#NeckTposeAdjustment)
     */
    NeckTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightAnkle)
     */
    RightAnkle: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightAnkleRangeMax)
     */
    RightAnkleRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightAnkleRangeMin)
     */
    RightAnkleRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightAnkleSize)
     */
    RightAnkleSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightAnkleTposeAdjustment)
     */
    RightAnkleTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightClavicle)
     */
    RightClavicle: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightClavicleRangeMax)
     */
    RightClavicleRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightClavicleRangeMin)
     */
    RightClavicleRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightClavicleSize)
     */
    RightClavicleSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightClavicleTposeAdjustment)
     */
    RightClavicleTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightElbow)
     */
    RightElbow: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightElbowRangeMax)
     */
    RightElbowRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightElbowRangeMin)
     */
    RightElbowRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightElbowSize)
     */
    RightElbowSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightElbowTposeAdjustment)
     */
    RightElbowTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightHip)
     */
    RightHip: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightHipRangeMax)
     */
    RightHipRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightHipRangeMin)
     */
    RightHipRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightHipSize)
     */
    RightHipSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightHipTposeAdjustment)
     */
    RightHipTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightKnee)
     */
    RightKnee: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightKneeRangeMax)
     */
    RightKneeRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightKneeRangeMin)
     */
    RightKneeRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightKneeSize)
     */
    RightKneeSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightKneeTposeAdjustment)
     */
    RightKneeTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightShoulder)
     */
    RightShoulder: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightShoulderRangeMax)
     */
    RightShoulderRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightShoulderRangeMin)
     */
    RightShoulderRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightShoulderSize)
     */
    RightShoulderSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightShoulderTposeAdjustment)
     */
    RightShoulderTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightToeBase)
     */
    RightToeBase: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightToeBaseRangeMax)
     */
    RightToeBaseRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightToeBaseRangeMin)
     */
    RightToeBaseRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightToeBaseSize)
     */
    RightToeBaseSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightToeBaseTposeAdjustment)
     */
    RightToeBaseTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightWrist)
     */
    RightWrist: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightWristRangeMax)
     */
    RightWristRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightWristRangeMin)
     */
    RightWristRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightWristSize)
     */
    RightWristSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RightWristTposeAdjustment)
     */
    RightWristTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#Root)
     */
    Root: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RootRangeMax)
     */
    RootRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RootRangeMin)
     */
    RootRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RootSize)
     */
    RootSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#RootTposeAdjustment)
     */
    RootTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#Spine)
     */
    Spine: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#SpineRangeMax)
     */
    SpineRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#SpineRangeMin)
     */
    SpineRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#SpineSize)
     */
    SpineSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#SpineTposeAdjustment)
     */
    SpineTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#Waist)
     */
    Waist: Instance | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#WaistRangeMax)
     */
    WaistRangeMax: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#WaistRangeMin)
     */
    WaistRangeMin: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#WaistSize)
     */
    WaistSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#WaistTposeAdjustment)
     */
    WaistTposeAdjustment: CFrame;
    /**
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#GetJointFromName)
     * @param this
     * @param name
     */
    GetJointFromName(this: HumanoidRigDescription, name: string): Instance | undefined;
    /**
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#GetJointNames)
     * @param this
     */
    GetJointNames(this: HumanoidRigDescription): Array<unknown>;
    /**
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#GetR15JointNames)
     * @param this
     */
    GetR15JointNames(this: HumanoidRigDescription): Array<unknown>;
    /**
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/HumanoidRigDescription#GetR6JointNames)
     * @param this
     */
    GetR6JointNames(this: HumanoidRigDescription): Array<unknown>;
}
/**
 * Specifies a control to generate a procedural animation pose using Inverse Kinematics.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl)
 */
interface IKControl extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_IKControl: unique symbol;
    /**
     * The last part that you are interested in moving your character. For example, the upper arm. Must be an ancestor of `EndEffector` and be a `BasePart` or a `Bone` in your character.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#ChainRoot)
     */
    ChainRoot: Instance | undefined;
    /**
     * Toggles the control on and off. True by default.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#Enabled)
     */
    Enabled: boolean;
    /**
     * The part that you are interested in moving to reach the `Target`. For example, the hand of your character. Must be a descendant of `ChainRoot` and be a `BasePart` or a `Bone` in your character.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#EndEffector)
     */
    EndEffector: Instance | undefined;
    /**
     * An additional offset applied on top of the `EndEffector` in its local space to change where it moves.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#EndEffectorOffset)
     */
    EndEffectorOffset: CFrame;
    /**
     * An additional offset applied on top of the `Target` to change where the `EndEffector` moves.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#Offset)
     */
    Offset: CFrame;
    /**
     * An optional instance that determines which way the chain bends. You can use this to specify which way an elbow or knee bends.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#Pole)
     */
    Pole: Instance | undefined;
    /**
     * Specifies the order in which controls are solved. Higher values have higher priority.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#Priority)
     */
    Priority: number;
    /**
     * Specifies the average number of seconds that it takes for the `EndEffector` to smoothly reach the `Target`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#SmoothTime)
     */
    SmoothTime: number;
    /**
     * The object that the `EndEffector` reaches for or points at. It can be anything that has a position in the world, such as `BasePart`, `Attachment`, `Bone`, or `Motor6D`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#Target)
     */
    Target: Instance | undefined;
    /**
     * Specifies how the solver satisfies this control.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#Type)
     */
    Type: Enum.IKControlType;
    /**
     * Specifies the weight of the IK control target. Should be in the [0, 1] range.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#Weight)
     */
    Weight: number;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#GetChainCount)
     * @param this Specifies a control to generate a procedural animation pose using Inverse Kinematics.
     */
    GetChainCount(this: IKControl): number;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#GetChainLength)
     * @param this Specifies a control to generate a procedural animation pose using Inverse Kinematics.
     */
    GetChainLength(this: IKControl): number;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#GetNodeLocalCFrame)
     * @param this Specifies a control to generate a procedural animation pose using Inverse Kinematics.
     * @param index
     */
    GetNodeLocalCFrame(this: IKControl, index: number): CFrame;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#GetNodeWorldCFrame)
     * @param this Specifies a control to generate a procedural animation pose using Inverse Kinematics.
     * @param index
     */
    GetNodeWorldCFrame(this: IKControl, index: number): CFrame;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#GetRawFinalTarget)
     * @param this Specifies a control to generate a procedural animation pose using Inverse Kinematics.
     */
    GetRawFinalTarget(this: IKControl): CFrame;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IKControl#GetSmoothedFinalTarget)
     * @param this Specifies a control to generate a procedural animation pose using Inverse Kinematics.
     */
    GetSmoothedFinalTarget(this: IKControl): CFrame;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ILegacyStudioBridge)
 */
interface ILegacyStudioBridge extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ILegacyStudioBridge: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LegacyStudioBridge)
 */
interface LegacyStudioBridge extends ILegacyStudioBridge {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LegacyStudioBridge: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IXPService)
 */
interface IXPService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_IXPService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImageScreenCaptureService)
 */
interface ImageScreenCaptureService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ImageScreenCaptureService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImportSession)
 */
interface ImportSession extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ImportSession: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImportSession#UploadComplete)
     */
    readonly UploadComplete: RBXScriptSignal<(results: object) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ImportSession#UploadProgress)
     */
    readonly UploadProgress: RBXScriptSignal<(progressRatio: number) => void>;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetImportSession)
 */
interface AssetImportSession extends ImportSession {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AssetImportSession: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IncrementalPatchBuilder)
 */
interface IncrementalPatchBuilder extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_IncrementalPatchBuilder: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IncrementalPatchBuilder#AddPathsToBundle)
     */
    AddPathsToBundle: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IncrementalPatchBuilder#BuildDebouncePeriod)
     */
    BuildDebouncePeriod: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IncrementalPatchBuilder#HighCompression)
     */
    HighCompression: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IncrementalPatchBuilder#SerializePatch)
     */
    SerializePatch: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IncrementalPatchBuilder#UseFileLevelCompressionInsteadOfChunk)
     */
    UseFileLevelCompressionInsteadOfChunk: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IncrementalPatchBuilder#ZstdCompression)
     */
    ZstdCompression: boolean;
}
/**
 * Defines a gameplay action mechanic. These actions are then mapped to hardware inputs using `InputBinding`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputAction)
 */
interface InputAction extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_InputAction: unique symbol;
    /**
     * Determines if the `InputAction` is enabled or not.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputAction#Enabled)
     */
    Enabled: boolean;
    /**
     * Specifies what type of input value the action is expecting.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputAction#Type)
     */
    Type: Enum.InputActionType;
    /**
     * Updates the `InputAction` to the given state and fires the appropriate signals.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputAction#Fire)
     * @param this Defines a gameplay action mechanic. These actions are then mapped to hardware inputs using `InputBinding`.
     * @param state
     */
    Fire(this: InputAction, state: unknown): void;
    /**
     * Returns the current state of the `InputAction`.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputAction#GetState)
     * @param this Defines a gameplay action mechanic. These actions are then mapped to hardware inputs using `InputBinding`.
     * @returns The current state of `InputAction`.
     */
    GetState(this: InputAction): unknown;
    /**
     * Fires only when the `InputAction.Type` is set to `Bool` on a state transition from `false` to `true`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputAction#Pressed)
     */
    readonly Pressed: RBXScriptSignal<() => void>;
    /**
     * Fires only when the `InputAction.Type` is set to `Bool` on a state transition from `true` to `false`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputAction#Released)
     */
    readonly Released: RBXScriptSignal<() => void>;
    /**
     * Fires for all `InputActionType` types whenever the state changes, except if the state attempts to transition to the same state.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputAction#StateChanged)
     */
    readonly StateChanged: RBXScriptSignal<(value: unknown) => void>;
}
/**
 * Defines which hardware binding should trigger the parent `InputAction`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding)
 */
interface InputBinding extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_InputBinding: unique symbol;
    /**
     * Specifies an alternate `KeyCode` for dispatching directionally "backward" inputs to the parent `InputAction`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#Backward)
     */
    Backward: Enum.KeyCode;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#ClampMagnitudeToOne)
     */
    ClampMagnitudeToOne: boolean;
    /**
     * Specifies an alternate `KeyCode` for dispatching directionally "down" inputs to the parent `InputAction`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#Down)
     */
    Down: Enum.KeyCode;
    /**
     * Specifies an alternate `KeyCode` for dispatching directionally "forward" inputs to the parent `InputAction`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#Forward)
     */
    Forward: Enum.KeyCode;
    /**
     * Specifies the `KeyCode` which triggers the parent `InputAction`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#KeyCode)
     */
    KeyCode: Enum.KeyCode;
    /**
     * Specifies an alternate `KeyCode` for dispatching directionally "left" inputs to the parent `InputAction`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#Left)
     */
    Left: Enum.KeyCode;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#PointerIndex)
     */
    PointerIndex: number;
    /**
     * Numerical value above which to fire an `InputAction` with a `Type` of `Bool`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#PressedThreshold)
     */
    PressedThreshold: number;
    /**
     * Specifies a primary `KeyCode` that must be pressed for the binding to activate.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#PrimaryModifier)
     */
    PrimaryModifier: Enum.KeyCode;
    /**
     * Numerical value below which to fire an `InputAction` with a `Type` of `Bool`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#ReleasedThreshold)
     */
    ReleasedThreshold: number;
    /**
     * Numerical value to configure scaling for more precise thumbstick aiming.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#ResponseCurve)
     */
    ResponseCurve: number;
    /**
     * Specifies an alternate `KeyCode` for dispatching directionally "right" inputs to the parent `InputAction`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#Right)
     */
    Right: Enum.KeyCode;
    /**
     * Amount by which to linearly scale the values of a directional `InputAction`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#Scale)
     */
    Scale: number;
    /**
     * Specifies a secondary `KeyCode` that must be pressed for the binding to activate.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#SecondaryModifier)
     */
    SecondaryModifier: Enum.KeyCode;
    /**
     * Connects a `GuiButton` to a boolean action.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#UIButton)
     */
    UIButton: GuiButton | undefined;
    /**
     * Specifies an alternate `KeyCode` for dispatching directionally "up" inputs to the parent `InputAction`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#Up)
     */
    Up: Enum.KeyCode;
    /**
     * Amount by which to linearly scale the values of a two-directional `InputAction`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#Vector2Scale)
     */
    Vector2Scale: Vector2;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputBinding#Vector3Scale)
     */
    Vector3Scale: Vector3;
}
/**
 * Collection of actions which holds related actions and defines how they interact with other contexts/actions.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputContext)
 */
interface InputContext extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_InputContext: unique symbol;
    /**
     * Determines if this `InputContext` is enabled or not.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputContext#Enabled)
     */
    Enabled: boolean;
    /**
     * The priority level at which the context should be run.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputContext#Priority)
     */
    Priority: number;
    /**
     * Determines whether input bindings of lower priority will be processed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputContext#Sink)
     */
    Sink: boolean;
}
/**
 * An object created when an input begins that describes a particular user input.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputObject)
 */
interface InputObject extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_InputObject: unique symbol;
    /**
     * A `Vector3` describing the delta between input movements.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputObject#Delta)
     */
    Delta: Vector3;
    /**
     * Contains an Enum that describes the kind of input used.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputObject#KeyCode)
     */
    KeyCode: Enum.KeyCode;
    /**
     * A `Vector3` describing the positional value of this input.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputObject#Position)
     */
    Position: Vector3;
    /**
     * Describes the state of an input being performed, following a specific flow depending on the `UserInputType`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputObject#UserInputState)
     */
    UserInputState: Enum.UserInputState;
    /**
     * Describes the kind of input being performed (mouse, keyboard, gamepad, touch, etc.).
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputObject#UserInputType)
     */
    UserInputType: Enum.UserInputType;
    /**
     * Returns whether the passed in modifier key is down.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InputObject#IsModifierKeyDown)
     * @param this An object created when an input begins that describes a particular user input.
     * @param modifierKey
     * @returns `true` if the passed in `modifierKey` is being held down; `false` otherwise.
     */
    IsModifierKeyDown(this: InputObject, modifierKey: CastsToEnum<Enum.ModifierKey>): boolean;
}
/**
 * Used to insert assets from the Roblox website.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService)
 */
interface InsertService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_InsertService: unique symbol;
    /**
     * **Deprecated:** This item was never released. Do not use it in new work.
     *
     * Indicates whether ''Free Models'' can be inserted into the game.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated, NotBrowsable
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#AllowInsertFreeModels)
     *
     * @deprecated
     */
    AllowInsertFreeModels: boolean;
    /**
     * **Deprecated:** This item is deprecated. Do not use it for new work.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#ApproveAssetId)
     * @param this Used to insert assets from the Roblox website.
     * @param assetId
     *
     * @deprecated
     */
    ApproveAssetId(this: InsertService, assetId: number): void;
    /**
     * **Deprecated:** This item is deprecated. Do not use it for new work.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#ApproveAssetVersionId)
     * @param this Used to insert assets from the Roblox website.
     * @param assetVersionId
     *
     * @deprecated
     */
    ApproveAssetVersionId(this: InsertService, assetVersionId: number): void;
    /**
     * **Deprecated:** This function has been superseded by `InsertService:LoadAsset()` which should be used in all new work.
     *
     * Inserts `Instance` into `Workspace`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#Insert)
     * @param this Used to insert assets from the Roblox website.
     * @param instance
     *
     * @deprecated
     */
    Insert(this: InsertService, instance: Instance): void;
    /**
     * Creates a new `MeshPart` with specified fidelity values.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#CreateMeshPartAsync)
     * @param this Used to insert assets from the Roblox website.
     * @param meshId Mesh asset ID.
     * @param collisionFidelity Set `MeshPart.CollisionFidelity`.
     * @param renderFidelity Set `MeshPart.RenderFidelity`.
     * @returns New `MeshPart` instance.
     */
    CreateMeshPartAsync(this: InsertService, meshId: ContentId, collisionFidelity: CastsToEnum<Enum.CollisionFidelity>, renderFidelity: CastsToEnum<Enum.RenderFidelity>): MeshPart;
    /**
     * **Deprecated:** This item is deprecated. Do not use it for new work.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#GetBaseCategories)
     * @param this Used to insert assets from the Roblox website.
     *
     * @deprecated GetBaseSets
     */
    GetBaseCategories(this: InsertService): Array<unknown>;
    /**
     * **Deprecated:** [Sets have been removed](https://devforum.roblox.com/t/sunsetting-sets/189402) from Roblox.
     *
     * Returns an array of dictionaries, containing information about various Roblox approved sets.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#GetBaseSets)
     * @param this Used to insert assets from the Roblox website.
     *
     * @deprecated
     */
    GetBaseSets(this: InsertService): Array<SetInfo>;
    /**
     * **Deprecated:** [Sets have been removed](https://devforum.roblox.com/t/sunsetting-sets/189402) from Roblox.
     *
     * Returns the most recently uploaded models in the specified category.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#GetCollection)
     * @param this Used to insert assets from the Roblox website.
     * @param categoryId
     *
     * @deprecated
     */
    GetCollection(this: InsertService, categoryId: number): Array<CollectionInfo>;
    /**
     * **Deprecated:**
     *
     * Retrieves a list of free Decals from the Catalog.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#GetFreeDecals)
     * @param this Used to insert assets from the Roblox website.
     * @param searchText String used to search for free decals in the Catalog.
     * @param pageNum The page number in the Catalog to return.
     * @returns A single table (of returned free decals) wrapped in a table.
     *
     * @deprecated GetFreeDecalsAsync
     */
    GetFreeDecals(this: InsertService, searchText: string, pageNum: number): [
        Array<FreeSearchResult>
    ];
    /**
     * Retrieves a list of free Decals from the Catalog.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#GetFreeDecalsAsync)
     * @param this Used to insert assets from the Roblox website.
     * @param searchText String used to search for free decals in the Catalog.
     * @param pageNum The page number in the Catalog to return.
     * @returns A single table (of returned free decals) wrapped in a table.
     */
    GetFreeDecalsAsync(this: InsertService, searchText: string, pageNum: number): Array<unknown>;
    /**
     * **Deprecated:**
     *
     * Retrieves a list of Free Models from the Catalog.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#GetFreeModels)
     * @param this Used to insert assets from the Roblox website.
     * @param searchText String used to search for free models in the Catalog.
     * @param pageNum The page number in the Catalog to return.
     * @returns A single table (of returned free models) wrapped in a table.
     *
     * @deprecated GetFreeModelsAsync
     */
    GetFreeModels(this: InsertService, searchText: string, pageNum: number): [
        Array<FreeSearchResult>
    ];
    /**
     * Retrieves a list of Free Models from the Catalog.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#GetFreeModelsAsync)
     * @param this Used to insert assets from the Roblox website.
     * @param searchText String used to search for free decals in the Catalog.
     * @param pageNum The page number in the Catalog to return.
     * @returns A single table (of returned free models) wrapped in a table.
     */
    GetFreeModelsAsync(this: InsertService, searchText: string, pageNum: number): Array<unknown>;
    /**
     * Returns the latest AssetVersionId of an asset for assets created by the place creator. Can be used in combination with `InsertService:LoadAssetVersion()` to load the latest version of a model, even if it gets updated while the game is running.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#GetLatestAssetVersionAsync)
     * @param this Used to insert assets from the Roblox website.
     * @param assetId
     */
    GetLatestAssetVersionAsync(this: InsertService, assetId: number): number;
    /**
     * **Deprecated:** This item is deprecated. Do not use it for new work.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#GetUserCategories)
     * @param this Used to insert assets from the Roblox website.
     * @param userId
     *
     * @deprecated GetUserSets
     */
    GetUserCategories(this: InsertService, userId: number): Array<unknown>;
    /**
     * **Deprecated:** [Sets have been removed](https://devforum.roblox.com/t/sunsetting-sets/189402) from Roblox.
     *
     * Returns an array of dictionaries, containing information about sets owned by the user.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#GetUserSets)
     * @param this Used to insert assets from the Roblox website.
     * @param userId
     *
     * @deprecated
     */
    GetUserSets(this: InsertService, userId: number): Array<SetInfo>;
    /**
     * Returns a `Model` containing the asset.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#LoadAsset)
     * @param this Used to insert assets from the Roblox website.
     * @param assetId The asset ID of the asset being loaded.
     * @returns An instance of the loaded asset.
     */
    LoadAsset(this: InsertService, assetId: number): Model;
    /**
     * Returns a model inserted into `InsertService` containing the asset with the given assetVersionId.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#LoadAssetVersion)
     * @param this Used to insert assets from the Roblox website.
     * @param assetVersionId
     */
    LoadAssetVersion(this: InsertService, assetVersionId: number): Model;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InsertService#InternalDelete)
     */
    readonly InternalDelete: RBXScriptSignal<(instance: Instance) => void>;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InstanceExtensionsService)
 */
interface InstanceExtensionsService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_InstanceExtensionsService: unique symbol;
}
/**
 * A service for interacting with file sync from a plugin.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InstanceFileSyncService)
 */
interface InstanceFileSyncService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_InstanceFileSyncService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InternalMessagingService)
 */
interface InternalMessagingService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_InternalMessagingService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InternalMessagingServiceVerifier)
 */
interface InternalMessagingServiceVerifier extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_InternalMessagingServiceVerifier: unique symbol;
}
/**
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InternalSyncItem)
 */
interface InternalSyncItem extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_InternalSyncItem: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InternalSyncService)
 */
interface InternalSyncService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_InternalSyncService: unique symbol;
}
/**
 * The base class for joints.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/JointInstance)
 */
interface JointInstance extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_JointInstance: unique symbol;
    /**
     * Determines if the joint is currently active in the world.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/JointInstance#Active)
     */
    readonly Active: boolean;
    /**
     * Determines how the offset point is attached to `JointInstance.Part0`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/JointInstance#C0)
     */
    C0: CFrame;
    /**
     * Subtracted from the `C0` property to create an offset point for `Part1`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/JointInstance#C1)
     */
    C1: CFrame;
    /**
     * Sets whether the joint is active or not.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/JointInstance#Enabled)
     */
    Enabled: boolean;
    /**
     * The first `BasePart` that the joint connects.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/JointInstance#Part0)
     */
    Part0: BasePart | undefined;
    /**
     * The second `BasePart` that the joint connects.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/JointInstance#Part1)
     */
    Part1: BasePart | undefined;
}
/**
 * The base class for classic motor joints.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DynamicRotate)
 */
interface DynamicRotate extends JointInstance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DynamicRotate: unique symbol;
    /**
     * The base angle of the DynamicRotate object, in radians.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DynamicRotate#BaseAngle)
     */
    BaseAngle: number;
}
/**
 * **Deprecated:** This class works alongside the deprecated `SurfaceType` and should not be used for future work; use `HingeConstraint` instead.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RotateP)
 *
 * @deprecated HingeConstraint
 */
interface RotateP extends DynamicRotate {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RotateP: unique symbol;
}
/**
 * **Deprecated:** This class works alongside the deprecated `SurfaceType` and should not be used for future work; use `HingeConstraint` instead.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RotateV)
 *
 * @deprecated HingeConstraint
 */
interface RotateV extends DynamicRotate {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RotateV: unique symbol;
}
/**
 * **Deprecated:** This joint type has been deprecated and should not be used in new work.
 *
 * Glue is a type of joint that can break when enough force is applied.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Glue)
 *
 * @deprecated WeldConstraint
 */
interface Glue extends JointInstance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Glue: unique symbol;
    /**
     * Determines the face of a `Glue`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Glue#F0)
     */
    F0: Vector3;
    /**
     * Determines the face of a `Glue`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Glue#F1)
     */
    F1: Vector3;
    /**
     * Determines the face of a `Glue`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Glue#F2)
     */
    F2: Vector3;
    /**
     * Determines the face of a `Glue`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Glue#F3)
     */
    F3: Vector3;
}
/**
 * **Deprecated:**
 *
 * ManualSurfaceJointInstance is the base class for `ManualGlue` and `ManualWeld`.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ManualSurfaceJointInstance)
 *
 * @deprecated WeldConstraint
 */
interface ManualSurfaceJointInstance extends JointInstance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ManualSurfaceJointInstance: unique symbol;
}
/**
 * **Deprecated:**
 *
 * ManualGlue is a joint created in a similar manner to the `ManualWeld` class. It functions identically to the `Glue` class.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ManualGlue)
 *
 * @deprecated WeldConstraint
 */
interface ManualGlue extends ManualSurfaceJointInstance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ManualGlue: unique symbol;
}
/**
 * **Deprecated:**
 *
 * Holds two parts together and functions identically to `Weld`.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ManualWeld)
 *
 * @deprecated WeldConstraint
 */
interface ManualWeld extends ManualSurfaceJointInstance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ManualWeld: unique symbol;
}
/**
 * Makes a movable `JointInstance` between two parts.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Motor)
 */
interface Motor extends JointInstance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Motor: unique symbol;
    /**
     * Displays the current rotation of the motor in radians.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Motor#CurrentAngle)
     */
    CurrentAngle: number;
    /**
     * The desired angle to turn the motor to in radians.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Motor#DesiredAngle)
     */
    DesiredAngle: number;
    /**
     * The maximum velocity the motor can use to reach `Motor.DesiredAngle` measured in radians per physics frame (1/60th of a second).
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Motor#MaxVelocity)
     */
    MaxVelocity: number;
    /**
     * Sets `Motor.DesiredAngle` of the motor.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Motor#SetDesiredAngle)
     * @param this Makes a movable `JointInstance` between two parts.
     * @param value
     */
    SetDesiredAngle(this: Motor, value: number): void;
}
/**
 * Creates an animatable joint between two `BaseParts`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Motor6D)
 */
interface Motor6D extends Motor {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Motor6D: unique symbol;
    /**
     * Describes the current animation offset of the `Motor6D` joint.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Motor6D#Transform)
     */
    Transform: CFrame;
}
/**
 * **Deprecated:** This class works alongside the deprecated `SurfaceType` and should not be used for future work; use `HingeConstraint` instead.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Rotate)
 *
 * @deprecated HingeConstraint
 */
interface Rotate extends JointInstance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Rotate: unique symbol;
}
/**
 * **Deprecated:**
 *
 * Holds two parts together and functions identically to `Weld`.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Snap)
 *
 * @deprecated WeldConstraint
 */
interface Snap extends JointInstance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Snap: unique symbol;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VelocityMotor)
 */
interface VelocityMotor extends JointInstance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VelocityMotor: unique symbol;
    /**
     * Displays the angle that the motor is at in radians.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VelocityMotor#CurrentAngle)
     */
    CurrentAngle: number;
    /**
     * The desired angle to be reached. The motor will attempt to reach this angle.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VelocityMotor#DesiredAngle)
     */
    DesiredAngle: number;
    /**
     * The `Hole` linked to this VelocityMotor.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VelocityMotor#Hole)
     */
    Hole: Hole | undefined;
    /**
     * The maximum amount of velocity able to be reached.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VelocityMotor#MaxVelocity)
     */
    MaxVelocity: number;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Weld)
 */
interface Weld extends JointInstance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Weld: unique symbol;
}
/**
 * **Deprecated:** This service has been deprecated in favor of [constraints](../../../physics/mechanical-constraints.md) which should be used for surface connections instead
 *
 * A service that stores joints created by surface connections.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/JointsService)
 *
 * @deprecated
 */
interface JointsService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_JointsService: unique symbol;
    /**
     * Will remove any 'create joints' that were made visible via the `JointsService:ShowPermissibleJoints()` method.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/JointsService#ClearJoinAfterMoveJoints)
     * @param this **Deprecated:** This service has been deprecated in favor of [constraints](../../../physics/mechanical-constraints.md) which should be used for surface connections instead
     *
     * A service that stores joints created by surface connections.
     */
    ClearJoinAfterMoveJoints(this: JointsService): void;
    /**
     * Updates all visible joints for the parts assigned by the `JointsService:SetJoinAfterMoveTarget()` and `JointsService:SetJoinAfterMoveInstance()` methods.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/JointsService#CreateJoinAfterMoveJoints)
     * @param this **Deprecated:** This service has been deprecated in favor of [constraints](../../../physics/mechanical-constraints.md) which should be used for surface connections instead
     *
     * A service that stores joints created by surface connections.
     */
    CreateJoinAfterMoveJoints(this: JointsService): void;
    /**
     * Sets the PVInstance that will be connected with the target PVInstance specified by `JointsService:SetJoinAfterMoveTarget()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/JointsService#SetJoinAfterMoveInstance)
     * @param this **Deprecated:** This service has been deprecated in favor of [constraints](../../../physics/mechanical-constraints.md) which should be used for surface connections instead
     *
     * A service that stores joints created by surface connections.
     * @param joinInstance
     */
    SetJoinAfterMoveInstance(this: JointsService, joinInstance: PVInstance): void;
    /**
     * Sets the PVInstance that will be connected with the PVInstance specified by `JointsService:SetJoinAfterMoveInstance()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/JointsService#SetJoinAfterMoveTarget)
     * @param this **Deprecated:** This service has been deprecated in favor of [constraints](../../../physics/mechanical-constraints.md) which should be used for surface connections instead
     *
     * A service that stores joints created by surface connections.
     * @param joinTarget
     */
    SetJoinAfterMoveTarget(this: JointsService, joinTarget: PVInstance): void;
    /**
     * When used it will visibly display a potential surface connection between the two `BasePart`, which were set with `JointsService:SetJoinAfterMoveTarget()` and `JointsService:SetJoinAfterMoveInstance()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/JointsService#ShowPermissibleJoints)
     * @param this **Deprecated:** This service has been deprecated in favor of [constraints](../../../physics/mechanical-constraints.md) which should be used for surface connections instead
     *
     * A service that stores joints created by surface connections.
     */
    ShowPermissibleJoints(this: JointsService): void;
}
/**
 * A Keyframe holds the `Poses` applied to joints in a `Model` at a given point of time in an animation. `Keyframes` are interpolated between during animation playback.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Keyframe)
 */
interface Keyframe extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Keyframe: unique symbol;
    /**
     * The `Keyframe` time position (in seconds) in an animation. This determines the time at which the `Poses` inside the keyframe will be shown.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Keyframe#Time)
     */
    Time: number;
    /**
     * Adds a `KeyframeMarker` to the `Keyframe` by parenting it to the keyframe.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Keyframe#AddMarker)
     * @param this A Keyframe holds the `Poses` applied to joints in a `Model` at a given point of time in an animation. `Keyframes` are interpolated between during animation playback.
     * @param marker The `KeyframeMarker` being parented to the `Keyframe`.
     */
    AddMarker(this: Keyframe, marker: KeyframeMarker): void;
    /**
     * Adds a `Pose` to the `Keyframe` by parenting it to the keyframe.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Keyframe#AddPose)
     * @param this A Keyframe holds the `Poses` applied to joints in a `Model` at a given point of time in an animation. `Keyframes` are interpolated between during animation playback.
     * @param pose The `Pose` to be added.
     */
    AddPose(this: Keyframe, pose: Instance): void;
    /**
     * Returns an array containing all `KeyframeMarkers` that have been added to the `Keyframe`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Keyframe#GetMarkers)
     * @param this A Keyframe holds the `Poses` applied to joints in a `Model` at a given point of time in an animation. `Keyframes` are interpolated between during animation playback.
     * @returns An array containing all `KeyframeMarkers` that have been added to the `Keyframe`.
     */
    GetMarkers(this: Keyframe): Array<KeyframeMarker>;
    /**
     * Returns an array containing all `Poses` that have been added to a `Keyframe`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Keyframe#GetPoses)
     * @param this A Keyframe holds the `Poses` applied to joints in a `Model` at a given point of time in an animation. `Keyframes` are interpolated between during animation playback.
     * @returns An array of `Poses`.
     */
    GetPoses(this: Keyframe): Array<Pose>;
    /**
     * Removes a `KeyframeMarker` from the `Keyframe` by settings its `Instance.Parent` to `nil`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Keyframe#RemoveMarker)
     * @param this A Keyframe holds the `Poses` applied to joints in a `Model` at a given point of time in an animation. `Keyframes` are interpolated between during animation playback.
     * @param marker The marker being removed from the `Keyframe`.
     */
    RemoveMarker(this: Keyframe, marker: KeyframeMarker): void;
    /**
     * Removes a `Pose` from the `Keyframe` by setting its `Instance.Parent` to `nil`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Keyframe#RemovePose)
     * @param this A Keyframe holds the `Poses` applied to joints in a `Model` at a given point of time in an animation. `Keyframes` are interpolated between during animation playback.
     * @param pose The `Pose` to be removed.
     */
    RemovePose(this: Keyframe, pose: Instance): void;
}
/**
 * An instance meant to represent an event that will eventually be fired when a `Keyframe` is hit.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/KeyframeMarker)
 */
interface KeyframeMarker extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_KeyframeMarker: unique symbol;
    /**
     * A value that is specified for a `KeyframeMarker`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/KeyframeMarker#Value)
     */
    Value: string;
}
/**
 * Provides functions to load and preview `KeyframeSequence`.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/KeyframeSequenceProvider)
 */
interface KeyframeSequenceProvider extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_KeyframeSequenceProvider: unique symbol;
    /**
     * Generates a temporary asset ID from a `KeyframeSequence` that can be used for localized testing of an animation. Generates an *active://* URL.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/KeyframeSequenceProvider#RegisterActiveKeyframeSequence)
     * @param this Provides functions to load and preview `KeyframeSequence`.
     * @param keyframeSequence The `KeyframeSequence` to be used.
     * @returns A temporary asset ID generated for localized animation playback.
     */
    RegisterActiveKeyframeSequence(this: KeyframeSequenceProvider, keyframeSequence: Instance): ContentId;
    /**
     * Generates a temporary asset ID from a `KeyframeSequence` that can be used for localized testing of an animation. Generates a hash.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/KeyframeSequenceProvider#RegisterKeyframeSequence)
     * @param this Provides functions to load and preview `KeyframeSequence`.
     * @param keyframeSequence The `KeyframeSequence` to be used.
     * @returns A temporary asset ID generated for localized animation playback.
     */
    RegisterKeyframeSequence(this: KeyframeSequenceProvider, keyframeSequence: Instance): ContentId;
    /**
     * **Deprecated:**
     *
     * This function returns an `InventoryPages` object which can be used to iterate over animations owned by a specific user.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/KeyframeSequenceProvider#GetAnimations)
     * @param this Provides functions to load and preview `KeyframeSequence`.
     * @param userId The user ID of the user.
     * @returns An `InventoryPages` of animations.
     *
     * @deprecated GetAnimationsAsync
     */
    GetAnimations(this: KeyframeSequenceProvider, userId: number): InventoryPages<number>;
    /**
     * This function returns an `InventoryPages` object which can be used to iterate over animations owned by a specific user.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/KeyframeSequenceProvider#GetAnimationsAsync)
     * @param this Provides functions to load and preview `KeyframeSequence`.
     * @param userId The user ID of the user.
     * @returns An `InventoryPages` of animations.
     */
    GetAnimationsAsync(this: KeyframeSequenceProvider, userId: number): Instance | undefined;
    /**
     * Returns a KeyframeSequence based on the specified assetId asynchronously.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/KeyframeSequenceProvider#GetKeyframeSequenceAsync)
     * @param this Provides functions to load and preview `KeyframeSequence`.
     * @param assetId The content ID of the animation.
     * @returns The `KeyframeSequence` found.
     */
    GetKeyframeSequenceAsync(this: KeyframeSequenceProvider, assetId: string): KeyframeSequence;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LSPFileSyncService)
 */
interface LSPFileSyncService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LSPFileSyncService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LanguageService)
 */
interface LanguageService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LanguageService: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LanguageService#GetCapabilitiesUsedInPackageAsync)
     */
    GetCapabilitiesUsedInPackageAsync(this: LanguageService, instances: Array<Instance>): object;
}
/**
 * Light is a root class for dynamic lighting related objects.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Light)
 */
interface Light extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Light: unique symbol;
    /**
     * Sets how bright the emitted light is, defaults to 1.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Light#Brightness)
     */
    Brightness: number;
    /**
     * The color of the emitted light.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Light#Color)
     */
    Color: Color3;
    /**
     * If set to true, light will be emitted from the source object.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Light#Enabled)
     */
    Enabled: boolean;
    /**
     * If set to true, will project shadows if light is blocked by an obstacle.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Light#Shadows)
     */
    Shadows: boolean;
}
/**
 * A light source that emits illumination from a single point.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PointLight)
 */
interface PointLight extends Light {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PointLight: unique symbol;
    /**
     * The size of the area that the PointLight will illuminate.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PointLight#Range)
     */
    Range: number;
}
/**
 * A light source that emits light directionally in the shape of a cone with a spherical base.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpotLight)
 */
interface SpotLight extends Light {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SpotLight: unique symbol;
    /**
     * The angle of which the light is shone from the SpotLight.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpotLight#Angle)
     */
    Angle: number;
    /**
     * Sets the side of the parent that the SpotLight comes from.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpotLight#Face)
     */
    Face: Enum.NormalId;
    /**
     * The size of the area that the SpotLight will illuminate.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpotLight#Range)
     */
    Range: number;
}
/**
 * A light source that emits illumination of a specified color and brightness from a face for a specified range.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceLight)
 */
interface SurfaceLight extends Light {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SurfaceLight: unique symbol;
    /**
     * The angle of which the light is shone from the SurfaceLight.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceLight#Angle)
     */
    Angle: number;
    /**
     * Sets the side of the parent that the SurfaceLight comes from.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceLight#Face)
     */
    Face: Enum.NormalId;
    /**
     * The distance from the SurfaceLight's face that will illuminate.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceLight#Range)
     */
    Range: number;
}
/**
 * The `Lighting` service controls global lighting in an experience. It includes a range of adjustable properties that you can use to change how lighting appears and interacts with other objects.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting)
 */
interface Lighting extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Lighting: unique symbol;
    /**
     * The lighting hue applied to areas that are occluded from the sky, such as indoor areas.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#Ambient)
     */
    Ambient: Color3;
    /**
     * The intensity of illumination in the place.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#Brightness)
     */
    Brightness: number;
    /**
     * A numerical representation (in hours) of the current time of day used by `Lighting`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#ClockTime)
     */
    ClockTime: number;
    /**
     * The hue represented in light reflected in the opposite surfaces to those facing the sun or moon.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#ColorShift_Bottom)
     */
    ColorShift_Bottom: Color3;
    /**
     * The hue represented in light reflected from surfaces facing the sun or moon.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#ColorShift_Top)
     */
    ColorShift_Top: Color3;
    /**
     * Ambient light that is derived from the environment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#EnvironmentDiffuseScale)
     */
    EnvironmentDiffuseScale: number;
    /**
     * Specular light derived from environment.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#EnvironmentSpecularScale)
     */
    EnvironmentSpecularScale: number;
    /**
     * The exposure compensation value.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#ExposureCompensation)
     */
    ExposureCompensation: number;
    /**
     * A `Color3` value giving the hue of `Lighting` fog.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#FogColor)
     */
    FogColor: Color3;
    /**
     * The depth from the `Workspace.CurrentCamera`, in studs, at which fog will be completely opaque.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#FogEnd)
     */
    FogEnd: number;
    /**
     * The depth from the `Workspace.CurrentCamera`, in studs, at which fog begins to show.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#FogStart)
     */
    FogStart: number;
    /**
     * The geographic latitude, in degrees, of the scene, influencing the result of `Lighting` time on the position of the sun and moon.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#GeographicLatitude)
     */
    GeographicLatitude: number;
    /**
     * Toggles voxel-based dynamic lighting for the place.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#GlobalShadows)
     */
    GlobalShadows: boolean;
    /**
     * The artistic intent behind lighting in the experience.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#LightingStyle)
     */
    get LightingStyle(): Enum.LightingStyle;
    /**
     * The lighting hue applied to outdoor areas.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#OutdoorAmbient)
     */
    OutdoorAmbient: Color3;
    /**
     * **Deprecated:** This item is no longer supported as the outlines feature was removed from the Roblox platform.
     *
     * Determines whether outlines are enabled or disabled in a place.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#Outlines)
     *
     * @deprecated
     */
    Outlines: boolean;
    /**
     * Indicates whether you prefer lighting/shading quality or view distance to scale down first.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#PrioritizeLightingQuality)
     */
    get PrioritizeLightingQuality(): boolean;
    /**
     * **Deprecated:** This item is deprecated and has no current functionality. Do not use it for new work.
     *
     * This is supposed to change the color of player shadows, but currently doesn't do anything.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#ShadowColor)
     *
     * @deprecated
     */
    ShadowColor: Color3;
    /**
     * Controls how blurry the shadows are.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#ShadowSoftness)
     */
    ShadowSoftness: number;
    /**
     * A 24-hour string representation of the current time of day used by `Lighting`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#TimeOfDay)
     */
    TimeOfDay: string;
    /**
     * Returns the number of minutes that have passed after midnight for the purposes of lighting.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#GetMinutesAfterMidnight)
     * @param this The `Lighting` service controls global lighting in an experience. It includes a range of adjustable properties that you can use to change how lighting appears and interacts with other objects.
     * @returns The number of minutes after midnight.
     */
    GetMinutesAfterMidnight(this: Lighting): number;
    /**
     * Returns a `Vector3` representing the direction of the moon.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#GetMoonDirection)
     * @param this The `Lighting` service controls global lighting in an experience. It includes a range of adjustable properties that you can use to change how lighting appears and interacts with other objects.
     * @returns `Vector3` representing the direction of the moon.
     */
    GetMoonDirection(this: Lighting): Vector3;
    /**
     * Returns the moon's current phase.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#GetMoonPhase)
     * @param this The `Lighting` service controls global lighting in an experience. It includes a range of adjustable properties that you can use to change how lighting appears and interacts with other objects.
     */
    GetMoonPhase(this: Lighting): number;
    /**
     * Returns a `Vector3` representing the direction of the sun.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#GetSunDirection)
     * @param this The `Lighting` service controls global lighting in an experience. It includes a range of adjustable properties that you can use to change how lighting appears and interacts with other objects.
     * @returns `Vector3` representing the direction of the sun.
     */
    GetSunDirection(this: Lighting): Vector3;
    /**
     * Sets `TimeOfDay` and `ClockTime` to the given number of minutes after midnight.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#SetMinutesAfterMidnight)
     * @param this The `Lighting` service controls global lighting in an experience. It includes a range of adjustable properties that you can use to change how lighting appears and interacts with other objects.
     * @param minutes The number of minutes after midnight.
     */
    SetMinutesAfterMidnight(this: Lighting, minutes: number): void;
    /**
     * This event fires when a `Lighting` property is changed or a `Sky` is added or removed from `Lighting`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Lighting#LightingChanged)
     */
    readonly LightingChanged: RBXScriptSignal<(skyChanged: boolean) => void>;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LinkingService)
 */
interface LinkingService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LinkingService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LiveScriptingService)
 */
interface LiveScriptingService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LiveScriptingService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LiveSyncService)
 */
interface LiveSyncService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LiveSyncService: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LiveSyncService#HasSyncedInstances)
     */
    readonly HasSyncedInstances: boolean;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LiveSyncService#GetSyncState)
     */
    GetSyncState(this: LiveSyncService, instance: Instance): unknown;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LiveSyncService#SyncStatusChanged)
     */
    readonly SyncStatusChanged: RBXScriptSignal<(instance: Instance) => void>;
}
/**
 * Handles automated translation.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationService)
 */
interface LocalizationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LocalizationService: unique symbol;
    /**
     * The locale ID used for localizing core and internal features.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationService#RobloxLocaleId)
     */
    readonly RobloxLocaleId: string;
    /**
     * The locale ID that the local player has set for their operating system.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationService#SystemLocaleId)
     */
    readonly SystemLocaleId: string;
    /**
     * Returns a list of `LocalizationTable` objects used for localizing core scripts.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationService#GetCorescriptLocalizations)
     * @param this Handles automated translation.
     */
    GetCorescriptLocalizations(this: LocalizationService): Array<Instance>;
    /**
     * Gets all entries used for automated localization.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationService#GetTableEntries)
     * @param this Handles automated translation.
     * @param instance
     * @returns An array of arrays, where each array is in the same format as described in `LocalizationTable:GetEntries()`.
     */
    GetTableEntries(this: LocalizationService, instance?: Instance): Array<unknown>;
    /**
     * Returns a `Translator` to be used for translations using the locale data loaded.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationService#GetTranslatorForPlayer)
     * @param this Handles automated translation.
     * @param player The `Player` that you are getting the `Translator` for.
     * @returns The `Translator` instance for the specified locale.
     */
    GetTranslatorForPlayer(this: LocalizationService, player: Player): Translator;
    /**
     * Returns country/region code string according to player's client IP geolocation.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationService#GetCountryRegionForPlayerAsync)
     * @param this Handles automated translation.
     * @param player The player that you are getting country/region information for.
     * @returns A string indicating the country/region code of a player.
     */
    GetCountryRegionForPlayerAsync(this: LocalizationService, player: Player): string;
    /**
     * Yields until the cloud `LocalizationTable` for the argument locale has been loaded - if available. Returns a `Translator` instance to be used for translations for the provided locale.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationService#GetTranslatorForLocaleAsync)
     * @param this Handles automated translation.
     * @param locale A Roblox supported language or locale code.
     * @returns The `Translator` instance for the specified locale.
     */
    GetTranslatorForLocaleAsync(this: LocalizationService, locale: string): Translator;
    /**
     * Yields until the cloud `LocalizationTable` for the player's locale has been loaded - if available. Returns a `Translator` instance to be used for translations for the provided locale.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationService#GetTranslatorForPlayerAsync)
     * @param this Handles automated translation.
     * @param player The `Player` that you are getting the `Translator` for.
     * @returns The `Translator` instance for the specified locale.
     */
    GetTranslatorForPlayerAsync(this: LocalizationService, player: Player): Translator;
}
/**
 * A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable)
 */
interface LocalizationTable extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LocalizationTable: unique symbol;
    /**
     * **Deprecated:** This item has been superseded by `LocalizationTable.SourceLocaleId` which should be used in all new work.
     *
     * The default IETF tag to use if the ''languageKey'' parameter is excluded from the `LocalizationTable:GetString()` method.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#DevelopmentLanguage)
     *
     * @deprecated SourceLocaleId
     */
    DevelopmentLanguage: string;
    /**
     * **Deprecated:** This item is deprecated. Do not use it for new work.
     *
     * The object that is being targeted for localization by this table. Localization is applied to it and all of it's descendants.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#Root)
     *
     * @deprecated RootLocalizationTable
     */
    Root: Instance | undefined;
    /**
     * The locale of source strings.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#SourceLocaleId)
     */
    SourceLocaleId: string;
    /**
     * **Deprecated:** This item has been superseded by `LocalizationTable:GetEntries()` which should be used in all new work.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#GetContents)
     * @param this A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
     *
     * @deprecated GetEntries
     */
    GetContents(this: LocalizationTable): string;
    /**
     * Returns an array of dictionaries, where each dictionary represents an entry of localization data.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#GetEntries)
     * @param this A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
     * @returns An array of dictionaries, where each dictionary represents an entry of localization data.
     */
    GetEntries(this: LocalizationTable): Array<LocalizationEntry>;
    /**
     * **Deprecated:** This item has been superseded by `LocalizationTable:GetTranslator()` which should be used in all new work.
     *
     * Returns a translation based on the specified language and key.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#GetString)
     * @param this A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
     * @param targetLocaleId Specified language.
     * @param key An optional unique key for fast hash lookups in code. If it is non-empty it must be unique in the table.
     * @returns Translated string.
     *
     * @deprecated GetTranslator
     */
    GetString(this: LocalizationTable, targetLocaleId: string, key: string): string;
    /**
     * Returns a `Translator` for entries in this LocalizationTable, in the specified locale.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#GetTranslator)
     * @param this A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
     * @param localeId
     * @returns The `Translator` instance for the specified locale.
     */
    GetTranslator(this: LocalizationTable, localeId: string): Translator;
    /**
     * Removes an entry from the LocalizationTable, using the specified `key`, `source`, and `context` to narrow down the specific entry to be removed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#RemoveEntry)
     * @param this A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
     * @param key
     * @param source
     * @param context
     */
    RemoveEntry(this: LocalizationTable, key: string, source: string, context: string): void;
    /**
     * Removes a single language translation from the LocalizationTable, using the provided `key`, `source`, `context`, and `localeId` to narrow down the specific entry to be removed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#RemoveEntryValue)
     * @param this A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
     * @param key
     * @param source
     * @param context
     * @param localeId
     */
    RemoveEntryValue(this: LocalizationTable, key: string, source: string, context: string, localeId: string): void;
    /**
     * **Deprecated:** This item has been superseded by `LocalizationTable:RemoveEntry()` which should be used in all new work
     *
     * Deprecated in favor of `LocalizationTable:RemoveEntry()`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#RemoveKey)
     * @param this A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
     * @param key
     *
     * @deprecated RemoveEntry
     */
    RemoveKey(this: LocalizationTable, key: string): void;
    /**
     * Removes all translations from the LocalizationTable with the specified localeId.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#RemoveTargetLocale)
     * @param this A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
     * @param localeId
     */
    RemoveTargetLocale(this: LocalizationTable, localeId: string): void;
    /**
     * **Deprecated:** This item has been superseded by `LocalizationTable:SetEntries()` which should be used in all new work
     *
     * Sets the contents of the LocalizationTable, via the legacy JSON format.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#SetContents)
     * @param this A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
     * @param contents
     *
     * @deprecated SetEntries
     */
    SetContents(this: LocalizationTable, contents: string): void;
    /**
     * Sets the contents of the LocalizationTable.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#SetEntries)
     * @param this A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
     * @param entries
     */
    SetEntries(this: LocalizationTable, entries: Array<LocalizationEntry>): void;
    /**
     * **Deprecated:** This item has been superseded by `LocalizationTable:SetEntries()` which should be used in all new work
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#SetEntry)
     * @param this A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
     * @param key
     * @param targetLocaleId
     * @param text
     *
     * @deprecated SetEntryValue
     */
    SetEntry(this: LocalizationTable, key: string, targetLocaleId: string, text: string): void;
    /**
     * Sets the **Context** field of a LocalizationTable entry to `newContext`, using the specified `key`, `source`, and `context` to narrow down the entry that will have this change applied.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#SetEntryContext)
     * @param this A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
     * @param key
     * @param source
     * @param context
     * @param newContext
     */
    SetEntryContext(this: LocalizationTable, key: string, source: string, context: string, newContext: string): void;
    /**
     * Sets the **Example** field of a LocalizationTable entry to `example`, using the specified `key`, `source`, and `context` to narrow down the entry that will have this change applied.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#SetEntryExample)
     * @param this A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
     * @param key
     * @param source
     * @param context
     * @param example
     */
    SetEntryExample(this: LocalizationTable, key: string, source: string, context: string, example: string): void;
    /**
     * Sets the **Key** field of a LocalizationTable entry to `newKey`, using the specified `key`, `source`, and `context` to narrow down the entry that will have this change applied.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#SetEntryKey)
     * @param this A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
     * @param key
     * @param source
     * @param context
     * @param newKey
     */
    SetEntryKey(this: LocalizationTable, key: string, source: string, context: string, newKey: string): void;
    /**
     * Sets the **Source** field of a LocalizationTable entry to `newSource`, using the specified `key`, `source`, and `context` to narrow down the entry that will have this change applied.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#SetEntrySource)
     * @param this A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
     * @param key
     * @param source
     * @param context
     * @param newSource
     */
    SetEntrySource(this: LocalizationTable, key: string, source: string, context: string, newSource: string): void;
    /**
     * Sets the text of the specified localeId in a LocalizationTable entry, using the specified `key`, `source`, and `context` to narrow down the entry that will have this change applied.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalizationTable#SetEntryValue)
     * @param this A LocalizationTable is a database of translations. It contains source strings and translations for various languages.
     * @param key
     * @param source
     * @param context
     * @param localeId
     * @param text
     */
    SetEntryValue(this: LocalizationTable, key: string, source: string, context: string, localeId: string, text: string): void;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CloudLocalizationTable)
 */
interface CloudLocalizationTable extends LocalizationTable {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CloudLocalizationTable: unique symbol;
}
/**
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LodDataEntity)
 */
interface LodDataEntity extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LodDataEntity: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LodDataEntity#EntityLodEnabled)
     */
    EntityLodEnabled: boolean;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LodDataService)
 */
interface LodDataService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LodDataService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LogReporterService)
 */
interface LogReporterService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LogReporterService: unique symbol;
}
/**
 * A service that allows you to read outputted text.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LogService)
 */
interface LogService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LogService: unique symbol;
    /**
     * Clears Roblox Studio's **Output** window.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LogService#ClearOutput)
     * @param this A service that allows you to read outputted text.
     */
    ClearOutput(this: LogService): void;
    /**
     * Logs a message at the `MessageType.MessageError` level and throws a structured error with optional context.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LogService#Error)
     * @param this A service that allows you to read outputted text.
     * @param message The message string. Supports `{key}` template placeholders when a context table is provided.
     * @param context An optional dictionary of key-value pairs. When provided, `{key}` placeholders in the message are replaced with the corresponding values.
     */
    Error(this: LogService, message: string, context?: object): void;
    /**
     * Returns a table of tables, each with the message string, message type, and timestamp of a message that the client displays in the **Output** window.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LogService#GetLogHistory)
     * @param this A service that allows you to read outputted text.
     */
    GetLogHistory(this: LogService): Array<LogInfo>;
    /**
     * Logs a message at the `MessageType.MessageInfo` level with optional structured context.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LogService#Info)
     * @param this A service that allows you to read outputted text.
     * @param message The message string. Supports `{key}` template placeholders when a context table is provided.
     * @param context An optional dictionary of key-value pairs. When provided, `{key}` placeholders in the message are replaced with the corresponding values.
     */
    Info(this: LogService, message: string, context?: object): void;
    /**
     * Logs a message at the specified level with optional structured context.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LogService#Log)
     * @param this A service that allows you to read outputted text.
     * @param messageType The `MessageType` specifying the log level.
     * @param message The message string. Supports `{key}` template placeholders when a context table is provided.
     * @param context An optional dictionary of key-value pairs. When provided, `{key}` placeholders in the message are replaced with the corresponding values.
     */
    Log(this: LogService, messageType: CastsToEnum<Enum.MessageType>, message: string, context?: object): void;
    /**
     * Logs a message at the `MessageType.MessageOutput` level with optional structured context.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LogService#Output)
     * @param this A service that allows you to read outputted text.
     * @param message The message string. Supports `{key}` template placeholders when a context table is provided.
     * @param context An optional dictionary of key-value pairs. When provided, `{key}` placeholders in the message are replaced with the corresponding values.
     */
    Output(this: LogService, message: string, context?: object): void;
    /**
     * Logs a message at the `MessageType.MessageWarning` level with optional structured context.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LogService#Warn)
     * @param this A service that allows you to read outputted text.
     * @param message The message string. Supports `{key}` template placeholders when a context table is provided.
     * @param context An optional dictionary of key-value pairs. When provided, `{key}` placeholders in the message are replaced with the corresponding values.
     */
    Warn(this: LogService, message: string, context?: object): void;
    /**
     * Fires when the client outputs text.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LogService#MessageOut)
     */
    readonly MessageOut: RBXScriptSignal<(message: string, messageType: Enum.MessageType, context: object) => void>;
}
/**
 * The base class for all objects which contain Luau code.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LuaSourceContainer)
 */
interface LuaSourceContainer extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LuaSourceContainer: unique symbol;
}
/**
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScript)
 *
 * @deprecated
 */
interface AuroraScript extends LuaSourceContainer {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AuroraScript: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScript#AddTo)
     */
    AddTo(this: AuroraScript, instance: Instance, parameters?: object): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScript#IsOnInstance)
     */
    IsOnInstance(this: AuroraScript, instance: Instance): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScript#RemoveFrom)
     */
    RemoveFrom(this: AuroraScript, instance: Instance): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AuroraScript#SignalFired)
     */
    SignalFired(this: AuroraScript, instance: Instance, topic: string): RBXScriptSignal;
}
/**
 * The base class for all script objects which run automatically.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseScript)
 */
interface BaseScript extends LuaSourceContainer {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BaseScript: unique symbol;
    /**
     * Determines whether a `BaseScript` will run or not.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseScript#Disabled)
     */
    Disabled: boolean;
    /**
     * Determines whether a `BaseScript` will run or not.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseScript#Enabled)
     */
    Enabled: boolean;
    /**
     * **Deprecated:** This property is now replaced by [packages](../../../projects/assets/packages.md) which has greater functionality.
     *
     * The content ID of an uploaded script. When set binds the uploaded code to the script's `Script.Source`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseScript#LinkedSource)
     *
     * @deprecated
     */
    LinkedSource: ContentId;
    /**
     * Determines the context under which the script will run.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BaseScript#RunContext)
     */
    get RunContext(): Enum.RunContext;
}
/**
 * An object that contains and runs Luau code on the server.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Script)
 */
interface Script extends BaseScript {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Script: unique symbol;
    /**
     * The code to be executed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Script#Source)
     */
    Source: ProtectedString;
}
/**
 * An object that contains and runs Luau code on the client (player's device) instead of the server.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LocalScript)
 */
interface LocalScript extends Script {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LocalScript: unique symbol;
}
/**
 * A script type that runs once when `require()` is called with it. Returns exactly one value, usually a table of functions, to used by other scripts. Useful for compartmentalizing code.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ModuleScript)
 */
interface ModuleScript extends LuaSourceContainer {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ModuleScript: unique symbol;
    /**
     * **Deprecated:** This property is now replaced by [packages](../../../projects/assets/packages.md) which has greater functionality.
     *
     * Used to store a URL that points to an online script source. Binds the online code to the script's `Script.Source`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ModuleScript#LinkedSource)
     *
     * @deprecated
     */
    LinkedSource: ContentId;
    /**
     * The code to be executed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ModuleScript#Source)
     */
    Source: ProtectedString;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/LuauScriptAnalyzerService)
 */
interface LuauScriptAnalyzerService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_LuauScriptAnalyzerService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MLModelDeliveryService)
 */
interface MLModelDeliveryService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MLModelDeliveryService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MLService)
 */
interface MLService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MLService: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MLService#CreateSessionAsync)
     * @param this
     * @param assetId
     */
    CreateSessionAsync(this: MLService, assetId: string): MLSession;
}
/**
 * Describes the appearance of a makeup item for the `HumanoidDescription`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MakeupDescription)
 */
interface MakeupDescription extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MakeupDescription: unique symbol;
    /**
     * The asset ID that should be applied when applying this `MakeupDescription`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MakeupDescription#AssetId)
     */
    AssetId: number;
    /**
     * A reference to the `Instance` that should be used when applying this `MakeupDescription`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MakeupDescription#Instance)
     */
    Instance: Instance | undefined;
    /**
     * The `MakeupType` of the makeup item referred to by this description.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MakeupDescription#MakeupType)
     */
    MakeupType: Enum.MakeupType;
    /**
     * The layering sort order for the makeup item.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MakeupDescription#Order)
     */
    Order: number;
    /**
     * Returns the applied makeup `Instance`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MakeupDescription#GetAppliedInstance)
     * @param this Describes the appearance of a makeup item for the `HumanoidDescription`.
     */
    GetAppliedInstance(this: MakeupDescription): Instance | undefined;
}
/**
 * Represents a list of strings markers in chronological order.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarkerCurve)
 */
interface MarkerCurve extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MarkerCurve: unique symbol;
    /**
     * Returns the number of markers in the MarkerCurve.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarkerCurve#Length)
     */
    readonly Length: number;
    /**
     * Returns the time and string value of the marker at the provided index.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarkerCurve#GetMarkerAtIndex)
     * @param this Represents a list of strings markers in chronological order.
     * @param index
     * @returns A table containing the time and value of the marker at the provided index.
     */
    GetMarkerAtIndex(this: MarkerCurve, index: number): object;
    /**
     * Returns the time and string value of all markers in the MarkerCurve.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarkerCurve#GetMarkers)
     * @param this Represents a list of strings markers in chronological order.
     * @returns An array of tables containing the time and value of all markers in the MarkerCurve.
     */
    GetMarkers(this: MarkerCurve): Array<unknown>;
    /**
     * Inserts a marker with the provided string value at the provided time.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarkerCurve#InsertMarkerAtTime)
     * @param this Represents a list of strings markers in chronological order.
     * @param time Time at which the marker should be added.
     * @param marker String value associated with this marker.
     * @returns A table containing a boolean and a number. The boolean is `true` if the call adds a new marker and `false` if it modifies an existing marker at the provided time. The number is the index of the added marker.
     */
    InsertMarkerAtTime(this: MarkerCurve, time: number, marker: string): Array<unknown>;
    /**
     * Remove several markers in the MarkerCurve starting at the provided index.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarkerCurve#RemoveMarkerAtIndex)
     * @param this Represents a list of strings markers in chronological order.
     * @param startingIndex Index of the first marker to be removed in the MarkerCurve.
     * @param count How many markers to remove starting from the startingIndex.
     * @returns How many markers were actually removed (can be less than count if the MarkerCurve was too few markers).
     */
    RemoveMarkerAtIndex(this: MarkerCurve, startingIndex: number, count?: number): number;
}
/**
 * The service responsible for in-experience transactions.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService)
 */
interface MarketplaceService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MarketplaceService: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#BindReceiptHandler)
     */
    BindReceiptHandler(this: MarketplaceService, transactionType: CastsToEnum<Enum.ReceiptType>, handler: Callback, filter?: Array<unknown>): RBXScriptConnection;
    /**
     * Prompts a user to purchase multiple avatar items with the given `assetId` or `bundleId`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptBulkPurchase)
     * @param this The service responsible for in-experience transactions.
     * @param player The user to prompt to purchase items.
     * @param lineItems An array of avatar items to be included in the bulk purchase. Each line item contains the following structure:
     * ```lua
     * {   Type: MarketplaceProductType,   Id: string }
     * ``` Each line item contains the following pairs: - `Type`: The corresponding `MarketplaceProductType` (Enum).
     * - `Id`: The ID of the asset or bundle.
     *
     *
     * @param options Not available at this time.
     */
    PromptBulkPurchase(this: MarketplaceService, player: Player, lineItems: Array<PromptBulkPurchaseItem>, options: object): void;
    /**
     * Prompts a user to purchase a bundle with the given `bundleId`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptBundlePurchase)
     * @param this The service responsible for in-experience transactions.
     * @param player
     * @param bundleId
     */
    PromptBundlePurchase(this: MarketplaceService, player: Player, bundleId: number): void;
    /**
     * Prompts a user to cancel a subscription for the given `subscriptionId`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptCancelSubscription)
     * @param this The service responsible for in-experience transactions.
     * @param user
     * @param subscriptionId
     */
    PromptCancelSubscription(this: MarketplaceService, user: Player, subscriptionId: string): void;
    /**
     * Prompts a user to purchase a pass with the given `gamePassId`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptGamePassPurchase)
     * @param this The service responsible for in-experience transactions.
     * @param player
     * @param gamePassId
     */
    PromptGamePassPurchase(this: MarketplaceService, player: Player, gamePassId: number): void;
    /**
     * Prompts a user to purchase Roblox Premium.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptPremiumPurchase)
     * @param this The service responsible for in-experience transactions.
     * @param player The user being prompted to purchase Premium.
     */
    PromptPremiumPurchase(this: MarketplaceService, player: Player): void;
    /**
     * Prompts a user to purchase a developer product with the given `productId`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptProductPurchase)
     * @param this The service responsible for in-experience transactions.
     * @param player
     * @param productId
     * @param equipIfPurchased
     * @param currencyType
     */
    PromptProductPurchase(this: MarketplaceService, player: Player, productId: number, equipIfPurchased?: boolean, currencyType?: CastsToEnum<Enum.CurrencyType>): void;
    /**
     * Prompts a user to purchase an item with the given `assetId`. Does not work for USD Creator Store purchases.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptPurchase)
     * @param this The service responsible for in-experience transactions.
     * @param player
     * @param assetId
     * @param equipIfPurchased
     * @param currencyType Ignored.
     */
    PromptPurchase(this: MarketplaceService, player: Player, assetId: number, equipIfPurchased?: boolean, currencyType?: CastsToEnum<Enum.CurrencyType>): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptRobloxSubscriptionPurchase)
     */
    PromptRobloxSubscriptionPurchase(this: MarketplaceService, user: Player): void;
    /**
     * Prompts a user to purchase a subscription for the given `subscriptionId`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptSubscriptionPurchase)
     * @param this The service responsible for in-experience transactions.
     * @param user The `Player` object to be prompted to subscribe.
     * @param subscriptionId The ID of the subscription to subscribe to.
     */
    PromptSubscriptionPurchase(this: MarketplaceService, user: Player, subscriptionId: string): void;
    /**
     * Returns a `Pages` object which contains information for all of the current experience's developer products.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#GetDeveloperProductsAsync)
     * @param this The service responsible for in-experience transactions.
     */
    GetDeveloperProductsAsync(this: MarketplaceService): StandardPages<{
        Description: string;
        PriceInRobux: number;
        ProductId: number;
        IconImageAssetId: number;
        Name: string;
    }>;
    /**
     * **Deprecated:** This method has been superseded by `GetProductInfoAsync()`.
     *
     * Returns the product information of an asset using its asset ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#GetProductInfo)
     * @param this The service responsible for in-experience transactions.
     * @param assetId The asset ID of the specified product.
     * @param infoType An `InfoType` enum value specifying the type of information being retrieved.
     * @returns A dictionary containing information about the queried item, described in the previous tables.
     *
     * @deprecated GetProductInfoAsync
     */
    GetProductInfo(this: MarketplaceService, id: number): AssetProductInfo;
    GetProductInfo(this: MarketplaceService, id: number, infoType: CastsToEnum<Enum.InfoType.Asset>): AssetProductInfo;
    GetProductInfo(this: MarketplaceService, id: number, infoType: CastsToEnum<Enum.InfoType.Bundle>): BundleInfo;
    GetProductInfo(this: MarketplaceService, id: number, infoType: CastsToEnum<Enum.InfoType.GamePass>): GamePassProductInfo;
    GetProductInfo(this: MarketplaceService, id: number, infoType: CastsToEnum<Enum.InfoType.Product>): DeveloperProductInfo;
    GetProductInfo(this: MarketplaceService, id: number, infoType: CastsToEnum<Enum.InfoType.Subscription>): SubscriptionProductInfo;
    GetProductInfo(this: MarketplaceService, id: number, infoType?: CastsToEnum<Enum.InfoType>): AssetProductInfo | BundleInfo | GamePassProductInfo | DeveloperProductInfo | SubscriptionProductInfo;
    /**
     * Returns the product information of an asset using its asset ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#GetProductInfoAsync)
     * @param this The service responsible for in-experience transactions.
     * @param assetId The asset ID of the specified product.
     * @param infoType An `InfoType` enum value specifying the type of information being retrieved.
     * @returns A dictionary containing information about the queried item, described in the previous tables.
     */
    GetProductInfoAsync(this: MarketplaceService, assetId: number, infoType?: CastsToEnum<Enum.InfoType>): object;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#GetRobloxSubscriptionDetailsAsync)
     * @param this The service responsible for in-experience transactions.
     * @param user
     */
    GetRobloxSubscriptionDetailsAsync(this: MarketplaceService, user: Player): object;
    /**
     * Returns the product information of a subscription for the given `subscriptionId`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#GetSubscriptionProductInfoAsync)
     * @param this The service responsible for in-experience transactions.
     * @param subscriptionId The ID of the subscription to check.
     */
    GetSubscriptionProductInfoAsync(this: MarketplaceService, subscriptionId: string): SubscriptionInfo;
    /**
     * Returns a table that contains the details of the user's subscription for a given `subscriptionId`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#GetUserSubscriptionDetailsAsync)
     * @param this The service responsible for in-experience transactions.
     * @param user The `Player` object whose subscription details you want to check.
     * @param subscriptionId The ID of the subscription to check.
     */
    GetUserSubscriptionDetailsAsync(this: MarketplaceService, user: Player, subscriptionId: string): UserSubscriptionDetails;
    /**
     * Returns an `Array` that contains up to one year of the user's subscription payment history for the given `subscriptionId`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#GetUserSubscriptionPaymentHistoryAsync)
     * @param this The service responsible for in-experience transactions.
     * @param user
     * @param subscriptionId
     */
    GetUserSubscriptionPaymentHistoryAsync(this: MarketplaceService, user: Player, subscriptionId: string): Array<UserSubscriptionPaymentHistory>;
    /**
     * Returns a `table` that contains the subscription status of the user for the given `subscriptionId`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#GetUserSubscriptionStatusAsync)
     * @param this The service responsible for in-experience transactions.
     * @param user The `Player` object whose subscription status you want to check.
     * @param subscriptionId The ID of the subscription to check for.
     */
    GetUserSubscriptionStatusAsync(this: MarketplaceService, user: Player, subscriptionId: string): UserSubscriptionStatus;
    /**
     * Returns the regionalized price level of a user, representing the recommended price for an item in their regional market.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#GetUsersPriceLevelsAsync)
     * @param this The service responsible for in-experience transactions.
     * @param userIds An array of user IDs.
     * @returns Returns an array of `PriceLevelInfo` objects with a dictionary where the keys are user IDs (strings) and their values are the corresponding price levels (integers between 1 and 1000).
     */
    GetUsersPriceLevelsAsync(this: MarketplaceService, userIds: Array<unknown>): Array<unknown>;
    /**
     * **Deprecated:** This method has been superseded by `PlayerOwnsAssetAsync()`.
     *
     * Returns whether the given user has the given asset.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PlayerOwnsAsset)
     * @param this The service responsible for in-experience transactions.
     * @param player The `Player` whose inventory is tested for ownership of the given asset.
     * @param assetId The asset ID for which the given player's inventory is tested.
     * @returns Indicates whether the given player's inventory contains the given asset.
     *
     * @deprecated PlayerOwnsAssetAsync
     */
    PlayerOwnsAsset(this: MarketplaceService, player: Player, assetId: number): boolean;
    /**
     * Returns whether the given user has the given asset.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PlayerOwnsAssetAsync)
     * @param this The service responsible for in-experience transactions.
     * @param player The `Player` whose inventory is tested for ownership of the given asset.
     * @param assetId The asset ID for which the given player's inventory is tested.
     * @returns Indicates whether the given player's inventory contains the given asset.
     */
    PlayerOwnsAssetAsync(this: MarketplaceService, player: Instance, assetId: number): boolean;
    /**
     * **Deprecated:** This method has been superseded by `PlayerOwnsBundleAsync()`.
     *
     * Returns whether the given player owns the given bundle.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PlayerOwnsBundle)
     * @param this The service responsible for in-experience transactions.
     * @param player The `Player` whose inventory is tested for ownership of the given bundle.
     * @param bundleId The bundle ID for which the given player's inventory is tested.
     * @returns Indicates whether the given player's inventory contains the given bundle.
     *
     * @deprecated PlayerOwnsBundleAsync
     */
    PlayerOwnsBundle(this: MarketplaceService, player: Player, bundleId: number): boolean;
    /**
     * Returns whether the given player owns the given bundle.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PlayerOwnsBundleAsync)
     * @param this The service responsible for in-experience transactions.
     * @param player The `Player` whose inventory is tested for ownership of the given bundle.
     * @param bundleId The bundle ID for which the given player's inventory is tested.
     * @returns Indicates whether the given player's inventory contains the given bundle.
     */
    PlayerOwnsBundleAsync(this: MarketplaceService, player: Player, bundleId: number): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptRobuxTransferAsync)
     */
    PromptRobuxTransferAsync(this: MarketplaceService, sender: Player, receiverUserId: number, amount: number): string;
    /**
     * Takes a list of product IDs and returns a personalized ordered list of those products.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#RankProductsAsync)
     * @param this The service responsible for in-experience transactions.
     * @param productIdentifiers An array of objects identifying the products you want to rank. This array can include up to 50 items. Each `ProductIdentifier` has: - `InfoType`: Enum.InfoType
     * - Must be either `InfoType.GamePass` or     `InfoType.Product`.
     * - `Id`: number
     * - The ID of the game pass or developer product.
     *
     *
     * ```lua
     * local ProductIdentifier = {     InfoType = Enum.InfoType.GamePass,     Id = 123456 }
     * ```
     * @returns The array of ranked items in a personalized order for the current user. Each array has: - `ProductIdentifier`: The corresponding ID from the input array.
     * - `ProductInfo`: The standard product info dictionary returned by   `GetProductInfoAsync`.
     */
    RankProductsAsync(this: MarketplaceService, productIdentifiers: Array<unknown>): Array<unknown>;
    /**
     * - Takes an array of `InfoType` and returns up to 50 items   representing the products a user is most likely to engage with and   purchase.
     *
     *
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#RecommendTopProductsAsync)
     * @param this The service responsible for in-experience transactions.
     * @param infoTypes An array of `InfoType` values specifying the types of product to retrieve recommendations for. Supported `InfoTypes`: `InfoType.GamePass`, `InfoType.Product`.
     * ```lua
     * local infoTypes = {     Enum.InfoType.GamePass,     Enum.InfoType.Product }
     * ```
     * @returns A ranked list of up to 50 items the user is most likely to engage with, based on the provided `InfoTypes`. If no recommendations can be determined, the method returns an empty list.
     */
    RecommendTopProductsAsync(this: MarketplaceService, infoTypes: Array<unknown>): Array<unknown>;
    /**
     * Returns true if the player with the given `UserId` owns the pass with the given `gamePassId`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#UserOwnsGamePassAsync)
     * @param this The service responsible for in-experience transactions.
     * @param userId The `UserId` of the `Player` whose inventory you're checking.
     * @param gamePassId The pass ID you want to check for. Not to be confused with an asset ID.
     */
    UserOwnsGamePassAsync(this: MarketplaceService, userId: number, gamePassId: number): boolean;
    /**
     * Fires when a purchase prompt for bulk avatar items is closed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptBulkPurchaseFinished)
     */
    readonly PromptBulkPurchaseFinished: RBXScriptSignal<(player: Player, status: Enum.MarketplaceBulkPurchasePromptStatus, results: PromptBulkPurchaseFinishedResults) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptBundlePurchaseFinished)
     */
    readonly PromptBundlePurchaseFinished: RBXScriptSignal<(player: Player, bundleId: number, wasPurchased: boolean) => void>;
    /**
     * Fires when a purchase prompt for a pass is closed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptGamePassPurchaseFinished)
     */
    readonly PromptGamePassPurchaseFinished: RBXScriptSignal<(player: Player, gamePassId: number, wasPurchased: boolean) => void>;
    /**
     * Fires when a purchase prompt for Roblox Premium is closed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptPremiumPurchaseFinished)
     */
    readonly PromptPremiumPurchaseFinished: RBXScriptSignal<() => void>;
    /**
     * Fires when a purchase prompt for a developer product is closed. Do not use this event to process purchases.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptProductPurchaseFinished)
     */
    readonly PromptProductPurchaseFinished: RBXScriptSignal<(userId: number, productId: number, isPurchased: boolean) => void>;
    /**
     * Fires when a purchase prompt for an affiliate gear sale or other asset is closed. Does **not** fire for developer product or pass prompts.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptPurchaseFinished)
     */
    readonly PromptPurchaseFinished: RBXScriptSignal<(player: Player, assetId: number, isPurchased: boolean) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptRobloxSubscriptionPurchaseFinished)
     */
    readonly PromptRobloxSubscriptionPurchaseFinished: RBXScriptSignal<(user: Player, didTryPurchasing: boolean) => void>;
    /**
     * Fires when a purchase prompt for a subscription is closed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#PromptSubscriptionPurchaseFinished)
     */
    readonly PromptSubscriptionPurchaseFinished: RBXScriptSignal<(user: Player, subscriptionId: string, didTryPurchasing: boolean) => void>;
    /**
     * A callback to process receipts of developer product purchases.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MarketplaceService#ProcessReceipt)
     * @param receiptInfo The `receiptInfo` table passed to this callback contains the following data: - `PurchaseId` — A unique identifier for the specific purchase.
     * - `PlayerId` — The user ID of the user who made the purchase.
     * - `ProductId` — The ID of the purchased product.
     * - `PlaceIdWherePurchased` — The place ID in which the purchase   was made. Depending on where the user is during gameplay, the   purchase place's ID can be the same as or different from the current   place's ID.
     * - `CurrencySpent` — The amount of currency spent in the   transaction.
     * - `CurrencyType` — The type of currency spent in the purchase;   always `CurrencyType.Robux`.
     * - `ProductPurchaseChannel` — How the user acquired the developer   product. One of `ProductPurchaseChannel`.
     *
     *
     * @returns An enum that represents how the developer product receipt was processed. - `PurchaseGranted`:
     * - Indicates that the experience successfully granted the player the     developer product.
     * - Indicates to Roblox that the developer product sale was     successful.
     * - `NotProcessedYet`:
     * - Indicates that the experience failed to grant the player the     developer product.
     */
    ProcessReceipt: ((receiptInfo: ReceiptInfo) => Enum.ProductPurchaseDecision) | undefined;
}
/**
 * The service responsible for managing custom matchmaking data.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MatchmakingService)
 */
interface MatchmakingService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MatchmakingService: unique symbol;
    /**
     * Retrieves the value of a specific server attribute.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MatchmakingService#GetServerAttribute)
     * @param this The service responsible for managing custom matchmaking data.
     * @param name The name of the server attribute. Limited to a maximum of 50 characters.
     * @returns Returns the server attribute value if the attribute is found and if the error is `nil`. Otherwise, returns `nil` for the attribute value and an error message.
     */
    GetServerAttribute(this: MatchmakingService, name: string): unknown;
    /**
     * Initiates the server attribute schema and its values to test in Studio.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MatchmakingService#InitializeServerAttributesForStudio)
     * @param this The service responsible for managing custom matchmaking data.
     * @param serverAttributes An array of attribute name-value pairs.
     * @returns Returns `true` if the call succeeded. Otherwise, returns `false` and an error message.
     */
    InitializeServerAttributesForStudio(this: MatchmakingService, serverAttributes: object): unknown;
    /**
     * Assigns a value to a specific server attribute.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MatchmakingService#SetServerAttribute)
     * @param this The service responsible for managing custom matchmaking data.
     * @param name The name of the server attribute. Limited to a maximum of 50 characters.
     * @param value The value of the server attribute. Limited to a maximum of 50 characters.
     * @returns Returns `true` if the call succeeded. Otherwise, returns `false` and an error message.
     */
    SetServerAttribute(this: MatchmakingService, name: string, value: unknown): unknown;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialGenerationService)
 */
interface MaterialGenerationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MaterialGenerationService: unique symbol;
}
/**
 * The game service responsible for managing materials.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialService)
 */
interface MaterialService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MaterialService: unique symbol;
    /**
     * Get the override `MaterialVariant` name of specified Material type.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialService#GetBaseMaterialOverride)
     * @param this The game service responsible for managing materials.
     * @param material Material type to be fetched.
     * @returns MaterialVariant name currently set as override.
     */
    GetBaseMaterialOverride(this: MaterialService, material: CastsToEnum<Enum.Material>): string;
    /**
     * Get the effective MaterialVariant reference given a name and Material.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialService#GetMaterialVariant)
     * @param this The game service responsible for managing materials.
     * @param material BaseMaterial of MaterialVariant.
     * @param name Name of MaterialVariant.
     * @returns A MaterialVariant instance that matches parameters.
     */
    GetMaterialVariant(this: MaterialService, material: CastsToEnum<Enum.Material>, name: string): MaterialVariant;
    /**
     * Set a `MaterialVariant` name that overrides a built-in material.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialService#SetBaseMaterialOverride)
     * @param this The game service responsible for managing materials.
     * @param material The Material type to be changed.
     * @param name Name of the MaterialVariant object.
     */
    SetBaseMaterialOverride(this: MaterialService, material: CastsToEnum<Enum.Material>, name: string): void;
}
/**
 * Represent a variant of a Material.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialVariant)
 */
interface MaterialVariant extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MaterialVariant: unique symbol;
    /**
     * Determines how the alpha channel of the `MaterialVariant.ColorMap` is used.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialVariant#AlphaMode)
     */
    AlphaMode: Enum.AlphaMode;
    /**
     * Category Material this variant belongs to.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialVariant#BaseMaterial)
     */
    get BaseMaterial(): Enum.Material;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialVariant#CustomPhysicalProperties)
     */
    CustomPhysicalProperties: PhysicalProperties;
    /**
     * Determines the strength of emissive contribution.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialVariant#EmissiveStrength)
     */
    EmissiveStrength: number;
    /**
     * Determines the tinting color for emissive contribution.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialVariant#EmissiveTint)
     */
    EmissiveTint: Color3;
    /**
     * Determines texture tiling method.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialVariant#MaterialPattern)
     */
    MaterialPattern: Enum.MaterialPattern;
    /**
     * Determines the scale of textures.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MaterialVariant#StudsPerTile)
     */
    StudsPerTile: number;
}
/**
 * Provides access to a hash map within `MemoryStoreService`.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreHashMap)
 */
interface MemoryStoreHashMap extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MemoryStoreHashMap: unique symbol;
    /**
     * Retrieves the value of a key in the hash map.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreHashMap#GetAsync)
     * @param this Provides access to a hash map within `MemoryStoreService`.
     * @param key The key whose value you want to retrieve.
     * @returns The value, or `nil` if the key doesn't exist.
     */
    GetAsync(this: MemoryStoreHashMap, key: string): unknown;
    /**
     * Returns a `MemoryStoreHashMapPages` object for enumerating through items in the hash map.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreHashMap#ListItemsAsync)
     * @param this Provides access to a hash map within `MemoryStoreService`.
     * @param count Maximum possible number of items that can be returned.
     * @returns A `MemoryStoreHashMapPages` instance that enumerates the items as `MemoryStoreHashMapPages` instances.
     */
    ListItemsAsync(this: MemoryStoreHashMap, count: number): MemoryStoreHashMapPages;
    /**
     * Removes an item from the hash map.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreHashMap#RemoveAsync)
     * @param this Provides access to a hash map within `MemoryStoreService`.
     * @param key The key to remove.
     */
    RemoveAsync(this: MemoryStoreHashMap, key: string): void;
    /**
     * Sets the value of a key in the hash map.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreHashMap#SetAsync)
     * @param this Provides access to a hash map within `MemoryStoreService`.
     * @param key The key whose value to set.
     * @param value The value to set.
     * @param expiration Item expiration in seconds, after which the item is automatically removed from the hash map. The maximum expiration time is 45 days (3,888,000 seconds).
     */
    SetAsync(this: MemoryStoreHashMap, key: string, value: unknown, expiration: number): boolean;
    /**
     * Retrieves the value of a key from a hash map and lets you update it to a new value.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreHashMap#UpdateAsync)
     * @param this Provides access to a hash map within `MemoryStoreService`.
     * @param key The key whose value you want to update.
     * @param transformFunction The transform function, which you provide. This function takes the old value as an input and returns the new value.
     * @param expiration Item expiration in seconds, after which the item is automatically removed from the hash map. The maximum expiration time is 45 days (3,888,000 seconds).
     * @returns The last value returned by the transform function.
     */
    UpdateAsync(this: MemoryStoreHashMap, key: string, transformFunction: Callback, expiration: number): unknown;
}
/**
 * Provides access to a queue within MemoryStore.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreQueue)
 */
interface MemoryStoreQueue extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MemoryStoreQueue: unique symbol;
    /**
     * Adds an item to the queue.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreQueue#AddAsync)
     * @param this Provides access to a queue within MemoryStore.
     * @param value The value of the item to add to the queue.
     * @param expiration Item expiration time, in seconds, after which the item will be automatically removed from the queue.
     * @param priority Item priority. Items with higher priority are retrieved from the queue before items with lower priority.
     */
    AddAsync(this: MemoryStoreQueue, value: unknown, expiration: number, priority?: number): void;
    /**
     * Gets the size of the queue.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreQueue#GetSizeAsync)
     * @param this Provides access to a queue within MemoryStore.
     * @param excludeInvisible Determines whether to exclude invisible items from the size count.
     */
    GetSizeAsync(this: MemoryStoreQueue, excludeInvisible?: boolean): number;
    /**
     * Reads one or more items from the queue.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreQueue#ReadAsync)
     * @param this Provides access to a queue within MemoryStore.
     * @param count Number of items to read. The maximum allowed value of this parameter is 100.
     * @param allOrNothing Controls the behavior of the method in the case the queue has fewer than `count` items: if set to false the method returns all available items; if set to true, it returns no items. The default value is false.
     * @param waitTimeout The duration, in seconds, for which the method will wait if the required number of items is not immediately available in the queue. Reads are attempted every two seconds during this period. This parameter can be set to zero to indicate no wait. If this parameter is not provided or set to -1, the method will wait indefinitely.
     * @returns A tuple of two elements. The first element is an array of item values read from the queue. The second element is a string identifier that should be passed to `MemoryStoreQueue:RemoveAsync()` to permanently remove these items from the queue.
     */
    ReadAsync(this: MemoryStoreQueue, count: number, allOrNothing?: boolean, waitTimeout?: number): LuaTuple<[
        items: Array<unknown>,
        id: string
    ]>;
    /**
     * Removes an item or items previously read from the queue.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreQueue#RemoveAsync)
     * @param this Provides access to a queue within MemoryStore.
     * @param id Identifies the items to delete. Use the value returned by `MemoryStoreQueue:ReadAsync()`.
     */
    RemoveAsync(this: MemoryStoreQueue, id: string): void;
}
/**
 * Exposes methods to access specific primitives within MemoryStore.
 *
 * - **Tags**: Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreService)
 */
interface MemoryStoreService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MemoryStoreService: unique symbol;
    /**
     * Returns a `MemoryStoreHashMap` instance for the provided name.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreService#GetHashMap)
     * @param this Exposes methods to access specific primitives within MemoryStore.
     * @param name The name of the hash map.
     * @returns A `MemoryStoreHashMap` instance for the provided name.
     */
    GetHashMap(this: MemoryStoreService, name: string): MemoryStoreHashMap;
    /**
     * Returns a `MemoryStoreQueue` instance for the provided name.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreService#GetQueue)
     * @param this Exposes methods to access specific primitives within MemoryStore.
     * @param name Name of the queue.
     * @param invisibilityTimeout **(Optional)** Invisibility timeout, in seconds, for read operations through this queue instance. If not provided, defaults to 30 seconds.
     * @returns A `MemoryStoreQueue` instance for the provided name.
     */
    GetQueue(this: MemoryStoreService, name: string, invisibilityTimeout?: number): MemoryStoreQueue;
    /**
     * Returns a `MemoryStoreSortedMap` instance for the provided name.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreService#GetSortedMap)
     * @param this Exposes methods to access specific primitives within MemoryStore.
     * @param name Name of the sorted map.
     * @returns A `MemoryStoreSortedMap` instance for the provided name.
     */
    GetSortedMap(this: MemoryStoreService, name: string): MemoryStoreSortedMap;
}
/**
 * Provides access to a sorted map within `MemoryStoreService`.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreSortedMap)
 */
interface MemoryStoreSortedMap extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MemoryStoreSortedMap: unique symbol;
    /**
     * Retrieves the value and sort key of a key in the sorted map.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreSortedMap#GetAsync)
     * @param this Provides access to a sorted map within `MemoryStoreService`.
     * @param key Key whose value and sort key to retrieve.
     * @returns A tuple of two values: - Key value, or `nil` if there's no item with the specified key.
     * - Sort key, or `nil` if there's no sort key associated with the   specified key.
     */
    GetAsync(this: MemoryStoreSortedMap, key: string): LuaTuple<[
        value?: unknown,
        sortKey?: string | number
    ]>;
    /**
     * Retrieves items within a sorted range of keys and sort keys.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreSortedMap#GetRangeAsync)
     * @param this Provides access to a sorted map within `MemoryStoreService`.
     * @param direction Sort direction, ascending or descending.
     * @param count The number of items to retrieve; the maximum allowed value for this parameter is 200.
     * @param exclusiveLowerBound **(Optional)** Lower bound, exclusive, for the returned keys. This is provided as a table where one or both of key and sort key can be specified: { key: string, sortKey: Variant } .
     * @param exclusiveUpperBound **(Optional)** Upper bound, exclusive, for the returned keys. This is provided as a table where one or both of key and sort key can be specified: { key: string, sortKey: Variant } .
     * @returns Item keys, values and sort keys in the requested range.
     */
    GetRangeAsync(this: MemoryStoreSortedMap, direction: CastsToEnum<Enum.SortDirection>, count: number, exclusiveLowerBound?: {
        key?: string;
        sortKey?: string | number;
    }, exclusiveUpperBound?: {
        key?: string;
        sortKey?: string | number;
    }): Array<{
        key: string;
        value: unknown;
        sortKey?: string | number;
    }>;
    /**
     * Gets the size of the sorted map.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreSortedMap#GetSizeAsync)
     * @param this Provides access to a sorted map within `MemoryStoreService`.
     */
    GetSizeAsync(this: MemoryStoreSortedMap): number;
    /**
     * Removes the provided key from the sorted map.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreSortedMap#RemoveAsync)
     * @param this Provides access to a sorted map within `MemoryStoreService`.
     * @param key Key to remove.
     */
    RemoveAsync(this: MemoryStoreSortedMap, key: string): void;
    /**
     * Sets the value of a key.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreSortedMap#SetAsync)
     * @param this Provides access to a sorted map within `MemoryStoreService`.
     * @param key Key whose value to set.
     * @param value Key value to set.
     * @param expiration Item expiration, in seconds. The item is automatically removed from the sorted map once the expiration duration is reached. The maximum expiration time is 45 days (3,888,000 seconds).
     * @param sortKey **(Optional)** Sort key to set for this key. Accepted types are a number (integer or decimal) or a string.
     */
    SetAsync(this: MemoryStoreSortedMap, key: string, value: unknown, expiration: number, sortKey?: string | number): boolean;
    /**
     * Retrieves the value and sort key of a key from a sorted map and updates it with a new value and sort key.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreSortedMap#UpdateAsync)
     * @param this Provides access to a sorted map within `MemoryStoreService`.
     * @param key Key whose value to update.
     * @param transformFunction A function which you need to provide. The function takes the key's old value and old sort key as input and returns the new value and new sort key.
     * @param expiration Item expiration time, in seconds, after which the item will be automatically removed from the sorted map. The maximum expiration time is 45 days (3,888,000 seconds).
     * @returns The return value is a tuple of the last value and sort key returned by the transform function.
     */
    UpdateAsync<T>(this: MemoryStoreSortedMap, key: string, transformFunction: (value: unknown) => T, expiration: number): T;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MessageBusConnection)
 */
interface MessageBusConnection extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MessageBusConnection: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MessageBusService)
 */
interface MessageBusService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MessageBusService: unique symbol;
}
/**
 * Allows servers of the same experience to communicate with each other.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MessagingService)
 */
interface MessagingService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MessagingService: unique symbol;
    /**
     * Invokes the supplied callback whenever a message is pushed to the topic.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MessagingService#PublishAsync)
     * @param this Allows servers of the same experience to communicate with each other.
     * @param topic Determines where the message is sent.
     * @param message The data to include in the message.
     */
    PublishAsync(this: MessagingService, topic: string, message: unknown): void;
    /**
     * Begins listening to the given topic.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MessagingService#SubscribeAsync)
     * @param this Allows servers of the same experience to communicate with each other.
     * @param topic Determines where to listen for messages.
     * @param callback Function to be invoked whenever a message is received.
     * @returns Connection that can be used to unsubscribe from the topic.
     */
    SubscribeAsync(this: MessagingService, topic: string, callback: (message: {
        Data: unknown;
        Sent: number;
    }) => void): RBXScriptConnection;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MetaBreakpoint)
 */
interface MetaBreakpoint extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MetaBreakpoint: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MetaBreakpointContext)
 */
interface MetaBreakpointContext extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MetaBreakpointContext: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MetaBreakpointManager)
 */
interface MetaBreakpointManager extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MetaBreakpointManager: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MicroProfilerService)
 */
interface MicroProfilerService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MicroProfilerService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ModerationService)
 */
interface ModerationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ModerationService: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ModerationService#BindReviewableContentEventProcessor)
     * @param this
     * @param priority
     * @param callback
     */
    BindReviewableContentEventProcessor(this: ModerationService, priority: number, callback: Callback): RBXScriptConnection;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ModerationService#CreateReviewableContentKey)
     * @param this
     * @param content
     */
    CreateReviewableContentKey(this: ModerationService, content: Content): string;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ModerationService#CreateReviewableContentAsync)
     * @param this
     * @param config
     */
    CreateReviewableContentAsync(this: ModerationService, config: object): string;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ModerationService#InternalRequestReviewableContentReviewAsync)
     * @param this
     * @param config
     */
    InternalRequestReviewableContentReviewAsync(this: ModerationService, config: object): void;
}
/**
 * Legacy object that contains members useful for pointer input.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse)
 */
interface Mouse extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Mouse: unique symbol;
    /**
     * The `CFrame` of the mouse's position in 3D space.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#Hit)
     */
    readonly Hit: CFrame;
    /**
     * The content ID of the image used as the `Mouse` icon.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#Icon)
     */
    Icon: ContentId;
    /**
     * The content of the image used as the `Mouse` icon. Only supports asset URIs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#IconContent)
     */
    IconContent: Content;
    /**
     * A `CFrame` positioned at the `Workspace.CurrentCamera` and oriented toward the mouse's 3D position.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#Origin)
     */
    readonly Origin: CFrame;
    /**
     * The object in 3D space the `mouse` is pointing to.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#Target)
     */
    readonly Target: BasePart | undefined;
    /**
     * Determines an object (and its descendants) to be ignored when determining `Mouse.Hit` and `Mouse.Target`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#TargetFilter)
     */
    TargetFilter: Instance | undefined;
    /**
     * Indicates the `NormalId` of the `BasePart` surface at which the mouse is pointing.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#TargetSurface)
     */
    readonly TargetSurface: Enum.NormalId;
    /**
     * A `Ray` directed towards the mouse's world position, originating from the `Workspace.CurrentCamera` world position.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#UnitRay)
     */
    readonly UnitRay: Ray;
    /**
     * Describes the width of the game window in pixels.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#ViewSizeX)
     */
    readonly ViewSizeX: number;
    /**
     * Describes the height of the game window in pixels.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#ViewSizeY)
     */
    readonly ViewSizeY: number;
    /**
     * Describes the X (horizontal) component of the mouse's position on the screen.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#X)
     */
    readonly X: number;
    /**
     * Describes the Y (vertical) component of the mouse's screen position.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#Y)
     */
    readonly Y: number;
    /**
     * Fires when the left mouse button is pressed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#Button1Down)
     */
    readonly Button1Down: RBXScriptSignal<() => void>;
    /**
     * Fires when the left mouse button is released.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#Button1Up)
     */
    readonly Button1Up: RBXScriptSignal<() => void>;
    /**
     * Fires when the right mouse button is pressed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#Button2Down)
     */
    readonly Button2Down: RBXScriptSignal<() => void>;
    /**
     * Fired when the right mouse button is released.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#Button2Up)
     */
    readonly Button2Up: RBXScriptSignal<() => void>;
    /**
     * Fired during every heartbeat that the mouse isn't being passed to another mouse event.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#Idle)
     */
    readonly Idle: RBXScriptSignal<() => void>;
    /**
     * **Deprecated:** Mouse events have been superseded by `UserInputService` which should be used in all new work.
     *
     * Fires when a Key is pressed.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#KeyDown)
     *
     * @deprecated InputBegan
     */
    readonly KeyDown: RBXScriptSignal<(key: string) => void>;
    /**
     * **Deprecated:** Mouse events have been superseded by `UserInputService` which should be used in all new work.
     *
     * Fires when a Key is released.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#KeyUp)
     *
     * @deprecated InputEnded
     */
    readonly KeyUp: RBXScriptSignal<(key: string) => void>;
    /**
     * Fired when the mouse is moved.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#Move)
     */
    readonly Move: RBXScriptSignal<() => void>;
    /**
     * Fires when the mouse wheel is scrolled backwards.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#WheelBackward)
     */
    readonly WheelBackward: RBXScriptSignal<() => void>;
    /**
     * Fires when the mouse wheel is scrolled forwards.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Mouse#WheelForward)
     */
    readonly WheelForward: RBXScriptSignal<() => void>;
}
/**
 * The PlayerMouse behaves identically to the `Mouse` object that is obtained using `Tool.Equipped`. Both PlayerMouse and `Mouse` are legacy APIs, superseded by `UserInputService`.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerMouse)
 */
interface PlayerMouse extends Mouse {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlayerMouse: unique symbol;
}
/**
 * The NetworkMarker is used to tell the client when the server has finished loading the world for the client.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/NetworkMarker)
 */
interface NetworkMarker extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_NetworkMarker: unique symbol;
    /**
     * Fired when the server has finished replicating the world to the client.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/NetworkMarker#Received)
     */
    readonly Received: RBXScriptSignal<() => void>;
}
/**
 * An instance used to prevent collisions between two specific parts.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/NoCollisionConstraint)
 */
interface NoCollisionConstraint extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_NoCollisionConstraint: unique symbol;
    /**
     * Determines whether the two linked `BaseParts` will collide with each other.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/NoCollisionConstraint#Enabled)
     */
    Enabled: boolean;
    /**
     * The second `BasePart` that the constraint connects.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/NoCollisionConstraint#Part0)
     */
    Part0: BasePart | undefined;
    /**
     * The first `BasePart` that the constraint connects.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/NoCollisionConstraint#Part1)
     */
    Part1: BasePart | undefined;
}
/**
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Noise)
 */
interface Noise extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Noise: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/OmniRecommendationsService)
 */
interface OmniRecommendationsService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_OmniRecommendationsService: unique symbol;
}
/**
 * **Deprecated:** This class is deprecated and should not be used for new work. Use `HttpService` instead and see the [In-experience HTTP requests guide](../../../cloud-services/http-service.md).
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/OpenCloudApiV1)
 *
 * @deprecated HttpService
 */
interface OpenCloudApiV1 extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_OpenCloudApiV1: unique symbol;
    /**
     * **Deprecated:**
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/OpenCloudApiV1#CreateModel)
     * @param this **Deprecated:** This class is deprecated and should not be used for new work. Use `HttpService` instead and see the [In-experience HTTP requests guide](../../../cloud-services/http-service.md).
     * @param name
     *
     * @deprecated
     */
    CreateModel(this: OpenCloudApiV1, name: string): OpenCloudModel;
    /**
     * **Deprecated:**
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/OpenCloudApiV1#CreateUserNotificationAsync)
     * @param this **Deprecated:** This class is deprecated and should not be used for new work. Use `HttpService` instead and see the [In-experience HTTP requests guide](../../../cloud-services/http-service.md).
     * @param user
     * @param userNotification
     *
     * @deprecated
     */
    CreateUserNotificationAsync(this: OpenCloudApiV1, user: string, userNotification: OpenCloudModel): OpenCloudModel;
}
/**
 * **Deprecated:** This class is deprecated and should not be used for new work. Use `HttpService` instead and see the [In-experience HTTP requests guide](../../../cloud-services/http-service.md).
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/OpenCloudService)
 *
 * @deprecated HttpService
 */
interface OpenCloudService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_OpenCloudService: unique symbol;
    /**
     * **Deprecated:**
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/OpenCloudService#GetApiV1)
     * @param this **Deprecated:** This class is deprecated and should not be used for new work. Use `HttpService` instead and see the [In-experience HTTP requests guide](../../../cloud-services/http-service.md).
     *
     * @deprecated
     */
    GetApiV1(this: OpenCloudService): OpenCloudApiV1;
    /**
     * **Deprecated:**
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/OpenCloudService#InvokeAsync)
     * @param this **Deprecated:** This class is deprecated and should not be used for new work. Use `HttpService` instead and see the [In-experience HTTP requests guide](../../../cloud-services/http-service.md).
     * @param version
     * @param methodName
     * @param arguments
     * @param headers
     *
     * @deprecated
     */
    InvokeAsync(this: OpenCloudService, version: string, methodName: string, arguments: object, headers?: object): object;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/OperationGraph)
 */
interface OperationGraph extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_OperationGraph: unique symbol;
}
/**
 * Abstract class for all objects that have a physical location in the world.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PVInstance)
 */
interface PVInstance extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PVInstance: unique symbol;
    /**
     * Gets the pivot of a `PVInstance`.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PVInstance#GetPivot)
     * @param this Abstract class for all objects that have a physical location in the world.
     */
    GetPivot(this: PVInstance): CFrame;
    /**
     * Transforms the `PVInstance` along with all of its descendant `PVInstances` such that the pivot is now located at the specified `CFrame`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PVInstance#PivotTo)
     * @param this Abstract class for all objects that have a physical location in the world.
     * @param targetCFrame The `CFrame` that the `PVInstance` pivot should equal after moving it.
     */
    PivotTo(this: PVInstance, targetCFrame: CFrame): void;
}
/**
 * The abstract base class for in-world objects that physically interact.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart)
 */
interface BasePart extends PVInstance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BasePart: unique symbol;
    /**
     * Determines whether a part is immovable by physics.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Anchored)
     */
    Anchored: boolean;
    /**
     * The angular velocity of the part's assembly.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#AssemblyAngularVelocity)
     */
    AssemblyAngularVelocity: Vector3;
    /**
     * The center of mass of the part's assembly in world space.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#AssemblyCenterOfMass)
     */
    readonly AssemblyCenterOfMass: Vector3;
    /**
     * The linear velocity of the part's assembly.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#AssemblyLinearVelocity)
     */
    AssemblyLinearVelocity: Vector3;
    /**
     * The total mass of the part's assembly.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#AssemblyMass)
     */
    readonly AssemblyMass: number;
    /**
     * A reference to the root part of the assembly.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#AssemblyRootPart)
     */
    readonly AssemblyRootPart: BasePart | undefined;
    /**
     * Determines whether the part will physically interact with audio simulation, similar to `CastShadow` for lighting.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#AudioCanCollide)
     */
    AudioCanCollide: boolean;
    /**
     * **Deprecated:**
     *
     * Determines the first parameter for the SurfaceType on the Back face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#BackParamA)
     *
     * @deprecated
     */
    BackParamA: number;
    /**
     * **Deprecated:**
     *
     * Determines the second parameter for the SurfaceType on the Back face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#BackParamB)
     *
     * @deprecated
     */
    BackParamB: number;
    /**
     * Determines the type of surface for the back face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#BackSurface)
     */
    BackSurface: Enum.SurfaceType;
    /**
     * **Deprecated:**
     *
     * Determines the kind of input for the Back face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#BackSurfaceInput)
     *
     * @deprecated
     */
    BackSurfaceInput: Enum.InputType;
    /**
     * **Deprecated:**
     *
     * Determines the first parameter for the SurfaceType on the Bottom face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#BottomParamA)
     *
     * @deprecated
     */
    BottomParamA: number;
    /**
     * **Deprecated:**
     *
     * Determines the second parameter for the SurfaceType on the Bottom face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#BottomParamB)
     *
     * @deprecated
     */
    BottomParamB: number;
    /**
     * Determines the type of surface for the bottom face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#BottomSurface)
     */
    BottomSurface: Enum.SurfaceType;
    /**
     * **Deprecated:**
     *
     * Determines the kind of input for the Bottom face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#BottomSurfaceInput)
     *
     * @deprecated
     */
    BottomSurfaceInput: Enum.InputType;
    /**
     * Determines the color of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#BrickColor)
     */
    BrickColor: BrickColor;
    /**
     * Determines the position and orientation of the `BasePart` in the world.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#CFrame)
     */
    CFrame: CFrame;
    /**
     * Determines whether a part may collide with other parts.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#CanCollide)
     */
    CanCollide: boolean;
    /**
     * Determines whether the part is considered during spatial query operations.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#CanQuery)
     */
    CanQuery: boolean;
    /**
     * Determines if `Touched` and `TouchEnded` events fire on the part.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#CanTouch)
     */
    CanTouch: boolean;
    /**
     * Determines whether or not a part casts a shadow.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#CastShadow)
     */
    CastShadow: boolean;
    /**
     * Describes the world position in which a part's center of mass is located.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#CenterOfMass)
     */
    readonly CenterOfMass: Vector3;
    /**
     * Describes the name of a part's collision group.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#CollisionGroup)
     */
    CollisionGroup: string;
    /**
     * **Deprecated:**
     *
     * Describes the automatically set ID number of a part's collision group.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#CollisionGroupId)
     *
     * @deprecated CollisionGroup
     */
    CollisionGroupId: number;
    /**
     * Determines the color of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Color)
     */
    Color: Color3;
    /**
     * Indicates the current physical properties of the part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#CurrentPhysicalProperties)
     */
    readonly CurrentPhysicalProperties: PhysicalProperties;
    /**
     * Determines several physical properties of a part.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#CustomPhysicalProperties)
     */
    CustomPhysicalProperties: PhysicalProperties | undefined;
    /**
     * **Deprecated:** This is only one of multiple physics-related properties. It has been deprecated in favor of `BasePart.CustomPhysicalProperties`, which combines these properties into one.
     *
     * Used to control the Elasticity of the part, but it no longer does anything.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Elasticity)
     *
     * @deprecated
     */
    Elasticity: number;
    /**
     * Used to enable or disable aerodynamic forces on parts and assemblies.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#EnableFluidForces)
     */
    EnableFluidForces: boolean;
    /**
     * The `CFrame` of the physical extents of the `BasePart`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#ExtentsCFrame)
     */
    readonly ExtentsCFrame: CFrame;
    /**
     * The actual physical size of the `BasePart` as regarded by the physics engine.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#ExtentsSize)
     */
    readonly ExtentsSize: Vector3;
    /**
     * **Deprecated:** This is only one of multiple physics-related properties. It has been deprecated in favor of `BasePart.CustomPhysicalProperties`, which combines these properties into one.
     *
     * Used to control the Friction of the part, but now it no longer does anything.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Friction)
     *
     * @deprecated
     */
    Friction: number;
    /**
     * **Deprecated:**
     *
     * Determines the first parameter for the SurfaceType on the Front face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#FrontParamA)
     *
     * @deprecated
     */
    FrontParamA: number;
    /**
     * **Deprecated:**
     *
     * Determines the second parameter for the SurfaceType on the Front face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#FrontParamB)
     *
     * @deprecated
     */
    FrontParamB: number;
    /**
     * Determines the type of surface for the front face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#FrontSurface)
     */
    FrontSurface: Enum.SurfaceType;
    /**
     * **Deprecated:**
     *
     * Determines the kind of input for the Front face of a part (-Z direction).
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#FrontSurfaceInput)
     *
     * @deprecated
     */
    FrontSurfaceInput: Enum.InputType;
    /**
     * **Deprecated:**
     *
     * Determines the first parameter for the SurfaceType on the Left face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#LeftParamA)
     *
     * @deprecated
     */
    LeftParamA: number;
    /**
     * **Deprecated:**
     *
     * Determines the second parameter for the SurfaceType on the Left face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#LeftParamB)
     *
     * @deprecated
     */
    LeftParamB: number;
    /**
     * Determines the type of surface for the left face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#LeftSurface)
     */
    LeftSurface: Enum.SurfaceType;
    /**
     * **Deprecated:**
     *
     * Determines the kind of input for the Left face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#LeftSurfaceInput)
     *
     * @deprecated
     */
    LeftSurfaceInput: Enum.InputType;
    /**
     * Determines a multiplier for `BasePart.Transparency` that is only visible to the local client.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#LocalTransparencyModifier)
     */
    LocalTransparencyModifier: number;
    /**
     * Determines whether a part is selectable in Studio.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Locked)
     */
    Locked: boolean;
    /**
     * Describes the mass of the part, the product of its density and volume.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Mass)
     */
    readonly Mass: number;
    /**
     * Determines whether the part contributes to the total mass or inertia of its rigid body.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Massless)
     */
    Massless: boolean;
    /**
     * Determines the texture and default physical properties of a part.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Material)
     */
    Material: Enum.Material;
    /**
     * The name of `MaterialVariant`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#MaterialVariant)
     */
    MaterialVariant: string;
    /**
     * Describes the rotation of the part in the world.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Orientation)
     */
    Orientation: Vector3;
    /**
     * Specifies the offset of the part's pivot from its `CFrame`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#PivotOffset)
     */
    PivotOffset: CFrame;
    /**
     * Describes the position of the part in the world.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Position)
     */
    Position: Vector3;
    /**
     * Time since last recorded physics update.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#ReceiveAge)
     */
    readonly ReceiveAge: number;
    /**
     * Determines how much a part reflects the skybox.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Reflectance)
     */
    Reflectance: number;
    /**
     * Describes the smallest change in size allowable by the `Resize()` method.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#ResizeIncrement)
     */
    readonly ResizeIncrement: number;
    /**
     * Describes the faces on which a part may be resized.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#ResizeableFaces)
     */
    readonly ResizeableFaces: Faces;
    /**
     * **Deprecated:**
     *
     * Determines the first parameter for the SurfaceType on the Right face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#RightParamA)
     *
     * @deprecated
     */
    RightParamA: number;
    /**
     * **Deprecated:**
     *
     * Determines the second parameter for the SurfaceType on the Right face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#RightParamB)
     *
     * @deprecated
     */
    RightParamB: number;
    /**
     * Determines the type of surface for the right face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#RightSurface)
     */
    RightSurface: Enum.SurfaceType;
    /**
     * **Deprecated:**
     *
     * Determines the kind of input for the Right face of a part (-X direction).
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#RightSurfaceInput)
     *
     * @deprecated
     */
    RightSurfaceInput: Enum.InputType;
    /**
     * The main rule in determining the root part of an assembly.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#RootPriority)
     */
    RootPriority: number;
    /**
     * **Deprecated:** This property is deprecated. Use `AssemblyAngularVelocity` instead.
     *
     * Determines a part's change in orientation over time.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#RotVelocity)
     *
     * @deprecated AssemblyAngularVelocity
     */
    RotVelocity: Vector3;
    /**
     * The rotation of the part in degrees for the three axes.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Rotation)
     */
    Rotation: Vector3;
    /**
     * Determines the dimensions of a part (length, width, height).
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Size)
     */
    Size: Vector3;
    /**
     * **Deprecated:** This item is deprecated. See `BasePart.CustomPhysicalProperties` to see how to configure the physical properties of BaseParts. Do not use it for new work.
     *
     * The ratio of the part's density to the density of water determined by the `BasePart.Material`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#SpecificGravity)
     *
     * @deprecated
     */
    readonly SpecificGravity: number;
    /**
     * **Deprecated:**
     *
     * Determines the first parameter for the SurfaceType on the Top face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#TopParamA)
     *
     * @deprecated
     */
    TopParamA: number;
    /**
     * **Deprecated:**
     *
     * Determines the second parameter for the SurfaceType on the Top face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#TopParamB)
     *
     * @deprecated
     */
    TopParamB: number;
    /**
     * Determines the type of surface for the top face of a part.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#TopSurface)
     */
    TopSurface: Enum.SurfaceType;
    /**
     * **Deprecated:**
     *
     * Determines the kind of input for the Top face of a part (+Y direction).
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#TopSurfaceInput)
     *
     * @deprecated
     */
    TopSurfaceInput: Enum.InputType;
    /**
     * Determines how much a part can be seen through (the inverse of part opacity).
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Transparency)
     */
    Transparency: number;
    /**
     * **Deprecated:** This property is deprecated. Use `AssemblyLinearVelocity` instead.
     *
     * Determines a part's change in position over time.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Velocity)
     *
     * @deprecated AssemblyLinearVelocity
     */
    Velocity: Vector3;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#AngularAccelerationToTorque)
     * @param this The abstract base class for in-world objects that physically interact.
     * @param angAcceleration
     * @param angVelocity
     */
    AngularAccelerationToTorque(this: BasePart, angAcceleration: Vector3, angVelocity?: Vector3): Vector3;
    /**
     * Apply an angular impulse to the assembly.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#ApplyAngularImpulse)
     * @param this The abstract base class for in-world objects that physically interact.
     * @param impulse An angular impulse vector to be applied to the assembly.
     */
    ApplyAngularImpulse(this: BasePart, impulse: Vector3): void;
    /**
     * Apply an impulse to the assembly at the assembly's `center of mass`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#ApplyImpulse)
     * @param this The abstract base class for in-world objects that physically interact.
     * @param impulse A linear impulse vector to be applied to the assembly.
     */
    ApplyImpulse(this: BasePart, impulse: Vector3): void;
    /**
     * Apply an impulse to the assembly at specified position.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#ApplyImpulseAtPosition)
     * @param this The abstract base class for in-world objects that physically interact.
     * @param impulse An impulse vector to be applied to the assembly.
     * @param position The position, in world space, to apply the impulse.
     */
    ApplyImpulseAtPosition(this: BasePart, impulse: Vector3, position: Vector3): void;
    /**
     * **Deprecated:**
     *
     * Breaks any surface connection with any adjacent part, including `Weld` and other `JointInstance`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#BreakJoints)
     * @param this The abstract base class for in-world objects that physically interact.
     *
     * @deprecated
     */
    BreakJoints(this: BasePart): void;
    /**
     * Returns whether the parts can collide with each other.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#CanCollideWith)
     * @param this The abstract base class for in-world objects that physically interact.
     * @param part The specified part being checked for collidability.
     * @returns Whether the parts can collide with each other.
     */
    CanCollideWith(this: BasePart, part: BasePart): boolean;
    /**
     * Checks whether you can set a part's network ownership.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#CanSetNetworkOwnership)
     * @param this The abstract base class for in-world objects that physically interact.
     * @returns Whether you can modify or read the network ownership and the reason.
     */
    CanSetNetworkOwnership(this: BasePart): LuaTuple<[
        boolean,
        string | undefined
    ]>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#GetClosestPointOnSurface)
     * @param this The abstract base class for in-world objects that physically interact.
     * @param position
     */
    GetClosestPointOnSurface(this: BasePart, position: Vector3): Vector3;
    /**
     * Returns a table of parts connected to the object by any kind of rigid joint.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#GetConnectedParts)
     * @param this The abstract base class for in-world objects that physically interact.
     * @param recursive A table of parts connected to the object by any kind of `joint`.
     */
    GetConnectedParts(this: BasePart, recursive?: boolean): Array<BasePart>;
    /**
     * Return all Joints or Constraints that is connected to this Part.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#GetJoints)
     * @param this The abstract base class for in-world objects that physically interact.
     * @returns An array of all Joints or Constraints connected to the Part.
     */
    GetJoints(this: BasePart): Array<Constraint | JointInstance>;
    /**
     * Returns the value of the `Mass` property.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#GetMass)
     * @param this The abstract base class for in-world objects that physically interact.
     * @returns The part's mass.
     */
    GetMass(this: BasePart): number;
    /**
     * Returns the current player who is the network owner of this part, or `nil` in case of the server.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#GetNetworkOwner)
     * @param this The abstract base class for in-world objects that physically interact.
     * @returns The current player who is the network owner of this part, or `nil` in case of the server.
     */
    GetNetworkOwner(this: BasePart): Player | undefined;
    /**
     * Returns true if the game engine automatically decides the network owner for this part.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#GetNetworkOwnershipAuto)
     * @param this The abstract base class for in-world objects that physically interact.
     * @returns Whether the game engine automatically decides the network owner for this part.
     */
    GetNetworkOwnershipAuto(this: BasePart): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#GetNoCollisionConstraints)
     * @param this The abstract base class for in-world objects that physically interact.
     */
    GetNoCollisionConstraints(this: BasePart): Array<Instance>;
    /**
     * **Deprecated:** This item is been deprecated since interpolation is now applied to the `CFrame` directly. Do not use it for new work.
     *
     * OBSOLETE. Returns a CFrame describing where the part is being rendered at.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#GetRenderCFrame)
     * @param this The abstract base class for in-world objects that physically interact.
     *
     * @deprecated
     */
    GetRenderCFrame(this: BasePart): CFrame;
    /**
     * **Deprecated:**
     *
     * Returns the base part of an assembly of parts.
     *
     * - **ThreadSafety**: Safe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#GetRootPart)
     * @param this The abstract base class for in-world objects that physically interact.
     * @returns The base part of an assembly (a collection of parts connected together).
     *
     * @deprecated AssemblyRootPart
     */
    GetRootPart(this: BasePart): BasePart;
    /**
     * Returns a table of all `BasePart.CanCollide` true parts that intersect with this part.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#GetTouchingParts)
     * @param this The abstract base class for in-world objects that physically interact.
     * @returns A table of all parts that intersect and can collide with this part.
     */
    GetTouchingParts(this: BasePart): Array<BasePart>;
    /**
     * Returns the linear velocity of the part's assembly at the given position relative to this part.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#GetVelocityAtPosition)
     * @param this The abstract base class for in-world objects that physically interact.
     * @param position
     */
    GetVelocityAtPosition(this: BasePart, position: Vector3): Vector3;
    /**
     * Returns true if the object is connected to a part that will hold it in place (eg an `Anchored` part), otherwise returns false.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#IsGrounded)
     * @param this The abstract base class for in-world objects that physically interact.
     * @returns Whether the object is connected to a part that will hold it in place.
     */
    IsGrounded(this: BasePart): boolean;
    /**
     * **Deprecated:** SurfaceType based joining is deprecated, do not use MakeJoints for new projects. `WeldConstraints` and `HingeConstraints` should be used instead.
     *
     * Creates a joint on any side of the object that has a surface ID that can make a joint.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#MakeJoints)
     * @param this The abstract base class for in-world objects that physically interact.
     *
     * @deprecated
     */
    MakeJoints(this: BasePart): void;
    /**
     * Changes the size of an object just like using the Studio resize tool.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Resize)
     * @param this The abstract base class for in-world objects that physically interact.
     * @param normalId The side to resize.
     * @param deltaAmount How much to grow/shrink on the specified side.
     * @returns Whether the part is resized.
     */
    Resize(this: BasePart, normalId: CastsToEnum<Enum.NormalId>, deltaAmount: number): boolean;
    /**
     * Sets the given player as network owner for this and all connected parts.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#SetNetworkOwner)
     * @param this The abstract base class for in-world objects that physically interact.
     * @param playerInstance The player being given network ownership of the part.
     */
    SetNetworkOwner(this: BasePart, playerInstance?: Player): void;
    /**
     * Lets the game engine dynamically decide who will handle the part's physics (one of the clients or the server).
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#SetNetworkOwnershipAuto)
     * @param this The abstract base class for in-world objects that physically interact.
     */
    SetNetworkOwnershipAuto(this: BasePart): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#TorqueToAngularAcceleration)
     * @param this The abstract base class for in-world objects that physically interact.
     * @param torque
     * @param angVelocity
     */
    TorqueToAngularAcceleration(this: BasePart, torque: Vector3, angVelocity?: Vector3): Vector3;
    /**
     * Note: It is highly recommended to use the newer `GeometryService:IntersectAsync` instead of this function. As well as having better performance and more features, the new function differs as follows: - The output is an array of instances rather than a single instance.
     * - The input parts do not need to be parented to the scene, allowing for   background operations.
     * - When the `SplitApart` option is set to `true` (default), each distinct   body will be returned in its own `PartOperation`.
     * - All the returned parts are in the coordinate space of the main part, so   their `PVInstance.Origin` positions are the same as the main   part's. This keeps the vertices of the mesh in the same position   relative to the object as before the operation, but it does also mean   the `(0, 0, 0)` of a returned part is not necessarily at the center of   its body.
     *
     *  Creates a new `IntersectOperation` from the overlapping geometry   of the part and the other parts in the given array.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#IntersectAsync)
     * @param this The abstract base class for in-world objects that physically interact.
     * @param parts The objects taking part in the intersection.
     * @param collisionfidelity The `CollisionFidelity` value for the resulting `IntersectOperation`.
     * @param renderFidelity The `RenderFidelity` value of the resulting `PartOperation`.
     * @returns Resulting `IntersectOperation` with default name **Intersect**.
     */
    IntersectAsync(this: BasePart, parts: Array<Instance>, collisionfidelity?: CastsToEnum<Enum.CollisionFidelity>, renderFidelity?: CastsToEnum<Enum.RenderFidelity>): Instance | undefined;
    /**
     * Note: It is highly recommended to use the newer `GeometryService:UnionAsync` instead of this function. As well as having better performance and more features, the new function differs as follows: - The output is an array of instances rather than a single instance.
     * - The input parts do not need to be parented to the scene, allowing for   background operations.
     * - When the `SplitApart` option is set to `true` (default), each distinct   body will be returned in its own `PartOperation`.
     * - All the returned parts are in the coordinate space of the main part, so   their `PVInstance.Origin` positions are the same as the main   part's. This keeps the vertices of the mesh in the same position   relative to the object as before the operation, but it does also mean   the `(0, 0, 0)` of a returned part is not necessarily at the center of   its body.
     *
     *  Creates a new `UnionOperation` from the part, minus the geometry   occupied by the parts in the given array.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#SubtractAsync)
     * @param this The abstract base class for in-world objects that physically interact.
     * @param parts The objects taking part in the subtraction.
     * @param collisionfidelity The `CollisionFidelity` value for the resulting `UnionOperation`.
     * @param renderFidelity The `RenderFidelity` value of the resulting `PartOperation`.
     * @returns Resulting `UnionOperation` with default name **Union**.
     */
    SubtractAsync(this: BasePart, parts: Array<BasePart>, collisionfidelity?: CastsToEnum<Enum.CollisionFidelity>): UnionOperation | undefined;
    /**
     * Note: It is highly recommended to use the newer <code>GeometryService:UnionAsync</code> instead of this function. As well as having better performance and more features, the new function differs as follows: <ul> <li>The output is an array of instances rather than a single instance.</li> <li>The input parts do not need to be parented to the scene, allowing for   background operations.</li> <li>When the <code>SplitApart</code> option is set to <code>true</code> (default), each distinct   body will be returned in its own <code>PartOperation</code>.</li> <li>All the returned parts are in the coordinate space of the main part, so   their <code>PVInstance.Origin</code> positions are the same as the main   part's. This keeps the vertices of the mesh in the same position   relative to the object as before the operation, but it does also mean   the <code>(0, 0, 0)</code> of a returned part is not necessarily at the center of   its body.<pre><code>Creates a new `UnionOperation` from the part, plus the geometry </code></pre> </li> </ul> occupied by the parts in the given array.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#UnionAsync)
     * @param this The abstract base class for in-world objects that physically interact.
     * @param parts The objects taking part in the union with the calling part.
     * @param collisionfidelity The `CollisionFidelity` value for the resulting `UnionOperation`.
     * @param renderFidelity The `RenderFidelity` value of the resulting `PartOperation`.
     * @returns Resulting `UnionOperation` with default name **Union**.
     */
    UnionAsync(this: BasePart, parts: Array<BasePart>, collisionfidelity?: CastsToEnum<Enum.CollisionFidelity>): UnionOperation;
    /**
     * **Deprecated:** This event is deprecated in favor of `BasePart.Touched`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#LocalSimulationTouched)
     *
     * @deprecated
     */
    readonly LocalSimulationTouched: RBXScriptSignal<(part: BasePart) => void>;
    /**
     * **Deprecated:** This event is deprecated. Do not use it for new work.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#OutfitChanged)
     *
     * @deprecated
     */
    readonly OutfitChanged: RBXScriptSignal<() => void>;
    /**
     * **Deprecated:** This event is deprecated in favor of `BasePart.TouchEnded`, which should be used instead.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#StoppedTouching)
     *
     * @deprecated TouchEnded
     */
    readonly StoppedTouching: RBXScriptSignal<(otherPart: BasePart) => void>;
    /**
     * Fires when a part stops touching another part as a result of physical movement.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#TouchEnded)
     */
    readonly TouchEnded: RBXScriptSignal<(otherPart: BasePart) => void>;
    /**
     * Fires when a part touches another part as a result of physical movement.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BasePart#Touched)
     */
    readonly Touched: RBXScriptSignal<(otherPart: BasePart) => void>;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CornerWedgePart)
 */
interface CornerWedgePart extends BasePart {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CornerWedgePart: unique symbol;
}
/**
 * The FormFactorPart class is an abstract class. It inherits from the BasePart class and adds the FormFactor property to classes that inherit from it.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FormFactorPart)
 */
interface FormFactorPart extends BasePart {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FormFactorPart: unique symbol;
    /**
     * **Deprecated:** This property has been deprecated and should not be used in new work.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FormFactorPart#FormFactor)
     *
     * @deprecated
     */
    FormFactor: Enum.FormFactor;
}
/**
 * A common type of `BasePart` that comes in different primitive shapes.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Part)
 */
interface Part extends FormFactorPart {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Part: unique symbol;
    /**
     * Sets the overall shape of the object.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Part#Shape)
     */
    Shape: Enum.PartType;
}
/**
 * Historically a form of `Seat` that wouldn't place the player in a sitting pose. This object is no longer create-able and cannot be used by developers.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Platform)
 */
interface Platform extends Part {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Platform: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Platform#RemoteCreateMotor6D)
     */
    readonly RemoteCreateMotor6D: RBXScriptSignal<(humanoid: Humanoid) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Platform#RemoteDestroyMotor6D)
     */
    readonly RemoteDestroyMotor6D: RBXScriptSignal<() => void>;
}
/**
 * A type of `BasePart` that characters can 'sit' in. When a character touches an enabled Seat object, it will be attached to the part by a `Weld` and the default character scripts will play a sitting animation.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Seat)
 */
interface Seat extends Part {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Seat: unique symbol;
    /**
     * Whether or not the seat is usable. If set to true, the seat will act as a normal part.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Seat#Disabled)
     */
    Disabled: boolean;
    /**
     * The humanoid that is sitting in the seat.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Seat#Occupant)
     */
    readonly Occupant: Humanoid | undefined;
    /**
     * Forces the character with the specified `Humanoid` to sit in the Seat.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Seat#Sit)
     * @param this A type of `BasePart` that characters can 'sit' in. When a character touches an enabled Seat object, it will be attached to the part by a `Weld` and the default character scripts will play a sitting animation.
     * @param humanoid
     */
    Sit(this: Seat, humanoid: Humanoid | undefined): void;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Seat#RemoteCreateSeatWeld)
     */
    readonly RemoteCreateSeatWeld: RBXScriptSignal<(humanoid: Humanoid) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Seat#RemoteDestroySeatWeld)
     */
    readonly RemoteDestroySeatWeld: RBXScriptSignal<() => void>;
}
/**
 * **Deprecated:** The SkateboardPlatform object has been deprecated and is no longer supported by Roblox. Developers looking to create skateboards or similar vehicles are advised to program their own systems. Additionally, the `VehicleSeat` object can be used to quickly create simple vehicles.
 *
 * A SkateboardPlatform can be used to create a skateboard. When characters get on a skateboard, they are stuck to it until they press the escape key. Until then, the character uses skateboard animations and travels faster than a walking character.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SkateboardPlatform)
 *
 * @deprecated
 */
interface SkateboardPlatform extends Part {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SkateboardPlatform: unique symbol;
    /**
     * The SkateboardPlatform's active SkateboardController.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SkateboardPlatform#Controller)
     */
    readonly Controller: SkateboardController | undefined;
    /**
     * The `Humanoid` that is controlling the SkateboardPlatform.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SkateboardPlatform#ControllingHumanoid)
     */
    readonly ControllingHumanoid: Humanoid | undefined;
    /**
     * The direction of movement, tied to the keys A and D. Must be 1 (right), 0 (straight), or -1 (left). Will refresh back to 0 unless constantly set.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SkateboardPlatform#Steer)
     */
    Steer: number;
    /**
     * If true, wheels won't roll without user input.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SkateboardPlatform#StickyWheels)
     */
    StickyWheels: boolean;
    /**
     * The direction of movement, tied to the keys W and S. Must be an integer 1 (forward), 0 (null), or -1 (reverse). Will refresh back to 0 unless constantly set.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SkateboardPlatform#Throttle)
     */
    Throttle: number;
    /**
     * Adds ''impulseWorld'' to the SkateboardPlatform's `BasePart.Velocity`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SkateboardPlatform#ApplySpecificImpulse)
     * @param this **Deprecated:** The SkateboardPlatform object has been deprecated and is no longer supported by Roblox. Developers looking to create skateboards or similar vehicles are advised to program their own systems. Additionally, the `VehicleSeat` object can be used to quickly create simple vehicles.
     *
     * A SkateboardPlatform can be used to create a skateboard. When characters get on a skateboard, they are stuck to it until they press the escape key. Until then, the character uses skateboard animations and travels faster than a walking character.
     * @param impulseWorld
     */
    ApplySpecificImpulse(this: SkateboardPlatform, impulseWorld: Vector3): void;
    /**
     * Fired when the skateboard is equipped.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SkateboardPlatform#Equipped)
     */
    readonly Equipped: RBXScriptSignal<(humanoid: Humanoid, skateboardController: SkateboardController) => void>;
    /**
     * Fired when the SkateboardPlatform's `SkateboardPlatform.ControllingHumanoid` changes the force being used on the SkateboardPlatform.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SkateboardPlatform#MoveStateChanged)
     */
    readonly MoveStateChanged: RBXScriptSignal<(newState: Enum.MoveState, oldState: Enum.MoveState) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SkateboardPlatform#RemoteCreateMotor6D)
     */
    readonly RemoteCreateMotor6D: RBXScriptSignal<(humanoid: Humanoid) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SkateboardPlatform#RemoteDestroyMotor6D)
     */
    readonly RemoteDestroyMotor6D: RBXScriptSignal<() => void>;
    /**
     * Fired whenever the skateboard is unequipped.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SkateboardPlatform#Unequipped)
     */
    readonly Unequipped: RBXScriptSignal<(humanoid: Humanoid) => void>;
}
/**
 * `SpawnLocations`, or "spawns" determine where a `Player` respawns when they die. They can be configured to allow only certain players to use each spawn, using `Teams`. They also control how `ForceFields` are set up for newly-spawned players.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpawnLocation)
 */
interface SpawnLocation extends Part {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SpawnLocation: unique symbol;
    /**
     * Allows a `Player` to join the team by touching the `SpawnLocation`. When set to true, if a `Player` character comes into contact with the `SpawnLocation`, the player's `Player.TeamColor` will be set to `SpawnLocation.TeamColor`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpawnLocation#AllowTeamChangeOnTouch)
     */
    AllowTeamChangeOnTouch: boolean;
    /**
     * The length of time, in seconds, that a `ForceField` will be applied to a `Player` character spawning at this `SpawnLocation`. If Duration is zero, the `ForceField` is never created, and it will not trigger the `Instance.DescendantAdded` or `Instance.ChildAdded` events.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpawnLocation#Duration)
     */
    Duration: number;
    /**
     * Sets whether or not the `SpawnLocation` is enabled. When disabled players cannot spawn at the `SpawnLocation` and the AllowTeamChangeOnTouch functionality is disabled.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpawnLocation#Enabled)
     */
    Enabled: boolean;
    /**
     * Whether or not a `SpawnLocation` is affiliated with a specific team. This means that any `Player`, of any `Team`, can spawn on it if this property is set to true.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpawnLocation#Neutral)
     */
    Neutral: boolean;
    /**
     * Sets what team the `SpawnLocation` is affiliated to. If `SpawnLocation.Neutral` property is false, only `Players` with the same `Player.TeamColor` as the spawn's TeamColor will be able to spawn there.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SpawnLocation#TeamColor)
     */
    TeamColor: BrickColor;
}
/**
 * A type of `BasePart` that has a wedge shape.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WedgePart)
 */
interface WedgePart extends FormFactorPart {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_WedgePart: unique symbol;
}
/**
 * Terrain lets you to create dynamically morphable environments.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain)
 */
interface Terrain extends BasePart {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Terrain: unique symbol;
    /**
     * **Deprecated:** Sets the specified terrain voxel's material to ''Water'' and sets its occupancy to 1.
     *
     * Returns true if the current game is using the smooth terrain system.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#IsSmooth)
     *
     * @deprecated
     */
    readonly IsSmooth: boolean;
    /**
     * Displays the boundaries of the largest possible editable region.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#MaxExtents)
     */
    readonly MaxExtents: Region3int16;
    /**
     * The tint of the Terrain water.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#WaterColor)
     */
    WaterColor: Color3;
    /**
     * Controls how opaque the Terrain's water reflections are.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#WaterReflectance)
     */
    WaterReflectance: number;
    /**
     * The transparency of the Terrain water.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#WaterTransparency)
     */
    WaterTransparency: number;
    /**
     * Sets the maximum height of the Terrain water waves in studs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#WaterWaveSize)
     */
    WaterWaveSize: number;
    /**
     * Sets how many times the Terrain water waves will move up and down per minute.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#WaterWaveSpeed)
     */
    WaterWaveSpeed: number;
    /**
     * **Deprecated:** This item is a deprecated function of a legacy `Terrain` engine that has been removed. Do not use it for new work.
     *
     * *(OBSOLETE)* No longer does anything.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#AutowedgeCell)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param x
     * @param y
     * @param z
     *
     * @deprecated
     */
    AutowedgeCell(this: Terrain, x: number, y: number, z: number): boolean;
    /**
     * **Deprecated:** This item is a deprecated function of a legacy `Terrain` engine that has been removed. Do not use it for new work.
     *
     * *(OBSOLETE)* No longer does anything.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#AutowedgeCells)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param region
     *
     * @deprecated
     */
    AutowedgeCells(this: Terrain, region: Region3int16): void;
    /**
     * Returns the world position of the center of the terrain cell (x, y, z).
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#CellCenterToWorld)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param x
     * @param y
     * @param z
     */
    CellCenterToWorld(this: Terrain, x: number, y: number, z: number): Vector3;
    /**
     * Returns the position of the lower-left-forward corner of the grid cell (x, y, z).
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#CellCornerToWorld)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param x
     * @param y
     * @param z
     */
    CellCornerToWorld(this: Terrain, x: number, y: number, z: number): Vector3;
    /**
     * Clears the terrain.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#Clear)
     * @param this Terrain lets you to create dynamically morphable environments.
     */
    Clear(this: Terrain): void;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#ClearVoxelsAsync_beta)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param region
     * @param channelIds
     */
    ClearVoxelsAsync_beta(this: Terrain, region: Region3, channelIds: Array<unknown>): void;
    /**
     * Stores a chunk of terrain into a `TerrainRegion` object so it can be loaded back later. Note: `TerrainRegion` data does not replicate between server and client.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#CopyRegion)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param region
     */
    CopyRegion(this: Terrain, region: Region3int16): TerrainRegion;
    /**
     * Returns the number of non-empty cells in the Terrain.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#CountCells)
     * @param this Terrain lets you to create dynamically morphable environments.
     */
    CountCells(this: Terrain): number;
    /**
     * Fills a ball of smooth terrain in a given space.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#FillBall)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param center The position of the center of the terrain ball.
     * @param radius The radius in studs of the terrain ball.
     * @param material The `Material` of the terrain ball.
     */
    FillBall(this: Terrain, center: Vector3, radius: number, material: CastsToEnum<Enum.Material>): void;
    /**
     * Fills a block of smooth terrain with a given location, rotation, size, and material.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#FillBlock)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param cframe The position and orientation of the terrain block.
     * @param size The size in studs of the square block - both the height and width.
     * @param material The `Material` of the terrain block.
     */
    FillBlock(this: Terrain, cframe: CFrame, size: Vector3, material: CastsToEnum<Enum.Material>): void;
    /**
     * Fills a cylinder of smooth terrain in a given space.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#FillCylinder)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param cframe The position and orientation of the terrain cylinder.
     * @param height The height in studs of the terrain cylinder.
     * @param radius The radius in studs of the terrain cylinder.
     * @param material The `Material` of the terrain cylinder.
     */
    FillCylinder(this: Terrain, cframe: CFrame, height: number, radius: number, material: CastsToEnum<Enum.Material>): void;
    /**
     * Fills a `Region3` space with smooth terrain.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#FillRegion)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param region
     * @param resolution
     * @param material
     */
    FillRegion(this: Terrain, region: Region3, resolution: number, material: CastsToEnum<Enum.Material>): void;
    /**
     * Fills a wedge-shaped volume of Terrain with the given `Material` and the area's CFrame and Size.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#FillWedge)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param cframe The position and orientation of the wedge to fill.
     * @param size The size of the wedge to fill.
     * @param material The material with which the wedge will be filled.
     */
    FillWedge(this: Terrain, cframe: CFrame, size: Vector3, material: CastsToEnum<Enum.Material>): void;
    /**
     * **Deprecated:** This item is a deprecated function of a legacy `Terrain` engine that has been removed. Do not use it for new work.
     *
     * Returns the closest CellMaterial from the legacy terrain engine that matches the smooth terrain voxel specified.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#GetCell)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param x
     * @param y
     * @param z
     *
     * @deprecated
     */
    GetCell(this: Terrain, x: number, y: number, z: number): unknown;
    /**
     * Returns current terrain material color for specified terrain material.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#GetMaterialColor)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param material
     */
    GetMaterialColor(this: Terrain, material: CastsToEnum<Enum.Material>): Color3;
    /**
     * **Deprecated:** This item is a deprecated function of a legacy `Terrain` engine that has been removed. Do not use it for new work.
     *
     * Returns if the cell is a water cell.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#GetWaterCell)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param x
     * @param y
     * @param z
     *
     * @deprecated
     */
    GetWaterCell(this: Terrain, x: number, y: number, z: number): unknown;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#IterateVoxelsAsync_beta)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param region
     * @param resolution
     * @param channelIds
     */
    IterateVoxelsAsync_beta(this: Terrain, region: Region3, resolution: number, channelIds: Array<unknown>): TerrainIterateOperation;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#ModifyVoxelsAsync_beta)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param region
     * @param resolution
     * @param channelIds
     */
    ModifyVoxelsAsync_beta(this: Terrain, region: Region3, resolution: number, channelIds: Array<unknown>): TerrainModifyOperation;
    /**
     * Applies a chunk of terrain to the Terrain object. Note: `TerrainRegion` data does not replicate between server and client.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#PasteRegion)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param region
     * @param corner
     * @param pasteEmptyCells
     */
    PasteRegion(this: Terrain, region: TerrainRegion, corner: Vector3int16, pasteEmptyCells: boolean): void;
    /**
     * Returns a region of terrain voxel data in table format based on the channel names.
     *
     * - **ThreadSafety**: Safe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#ReadVoxelChannels)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param region Target region to read from. Must be aligned to the voxel grid. Will throw an error if region is too large; limit is currently 4194304 voxels³.
     * @param resolution Voxel resolution. Must be 4.
     * @param channelIds Array of channel IDs (strings) that need to be accessed from the voxel data. Each channel ID represents a type of data that's stored in voxel. Current supported IDs are `{"SolidMaterial", "SolidOccupancy", "LiquidOccupancy"}`.
     * @returns Returns voxel data as a dictionary based on the `channelIds` input. Keys represent each channel ID with their respective value as an array of 3D data. - `SolidMaterial` — The `Material` material of the voxel. Note   that `Water` is not supported anymore; instead, a   voxel that contains water will have a value of `LiquidOccupancy`.
     * - `SolidOccupancy` — The occupancy of the voxel's material as   specified in the `SolidMaterial` channel. This is a value between 0   (empty) and 1 (full).
     * - `LiquidOccupancy` — Specifies the occupancy of the   `Water` material in a voxel as a value between 0 (no   water) and 1 (full of water). If the `SolidOccupancy` is 1 and the   `SolidMaterial` is not `Air`, this will be 0.
     *
     *  The dictionary also contains a `Size` key with a value representing the 3D array size of each channel data.
     */
    ReadVoxelChannels(this: Terrain, region: Region3, resolution: number, channelIds: Array<unknown>): object;
    /**
     * Returns a certain region of smooth terrain in table format.
     *
     * - **ThreadSafety**: Safe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#ReadVoxels)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param region Target region to read from. Must be aligned to the voxel grid. Will throw an error if region is too large. The limit is currently 4194304 voxels^3.
     * @param resolution Voxel resolution. Must be 4.
     * @returns Returns raw voxel data as two 3D arrays. - `materials` - 3D array of `Material` from the target area. Also   contains a Size field, equal to the dimensions of the nested arrays.
     * - `occupancies` - 3D array of occupancy values from the target area.   Also contains a Size field, equal to the dimensions of the nested   arrays.
     */
    ReadVoxels(this: Terrain, region: Region3, resolution: number): LuaTuple<[
        ReadVoxelsArray<Enum.Material>,
        ReadVoxelsArray<number>
    ]>;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#ReadVoxelsAsync_beta)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param region
     * @param resolution
     * @param channelIds
     */
    ReadVoxelsAsync_beta(this: Terrain, region: Region3, resolution: number, channelIds: Array<unknown>): TerrainReadOperation;
    /**
     * Replaces the terrain of a material within a region with another material.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#ReplaceMaterial)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param region The region in which the replacement operation will occur.
     * @param resolution The resolution at which the replacement operation will take place; at the moment this must be exactly 4.
     * @param sourceMaterial The old material that shall be replaced.
     * @param targetMaterial The new material.
     */
    ReplaceMaterial(this: Terrain, region: Region3, resolution: number, sourceMaterial: CastsToEnum<Enum.Material>, targetMaterial: CastsToEnum<Enum.Material>): void;
    /**
     * **Deprecated:** This item is a deprecated function of a legacy `Terrain` engine that has been removed. Do not use it for new work.
     *
     * Sets the occupancy and material of a specific terrain voxel.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#SetCell)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param x
     * @param y
     * @param z
     * @param material
     * @param block
     * @param orientation
     *
     * @deprecated
     */
    SetCell(this: Terrain, x: number, y: number, z: number, material: CastsToEnum<Enum.CellMaterial>, block: CastsToEnum<Enum.CellBlock>, orientation: CastsToEnum<Enum.CellOrientation>): void;
    /**
     * **Deprecated:** This item is a deprecated function of a legacy `Terrain` engine that has been removed. Do not use it for new work.
     *
     * Sets the occupancy and material of all terrain voxels in a specific region.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#SetCells)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param region
     * @param material
     * @param block
     * @param orientation
     *
     * @deprecated
     */
    SetCells(this: Terrain, region: Region3int16, material: CastsToEnum<Enum.CellMaterial>, block: CastsToEnum<Enum.CellBlock>, orientation: CastsToEnum<Enum.CellOrientation>): void;
    /**
     * Sets current terrain material color for specified terrain material.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#SetMaterialColor)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param material
     * @param value
     */
    SetMaterialColor(this: Terrain, material: CastsToEnum<Enum.Material>, value: Color3): void;
    /**
     * **Deprecated:** This item is a deprecated function of a legacy `Terrain` engine that has been removed. Do not use it for new work.
     *
     * Sets the specified terrain voxel's material to ''Water'' and sets its occupancy to 1.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#SetWaterCell)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param x
     * @param y
     * @param z
     * @param force
     * @param direction
     *
     * @deprecated
     */
    SetWaterCell(this: Terrain, x: number, y: number, z: number, force: CastsToEnum<Enum.WaterForce>, direction: CastsToEnum<Enum.WaterDirection>): void;
    /**
     * Returns the grid cell location that contains the point **position**.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#WorldToCell)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param position
     */
    WorldToCell(this: Terrain, position: Vector3): Vector3;
    /**
     * Returns the grid cell location that contains the point position, preferring empty grid cells when position is on a grid edge.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#WorldToCellPreferEmpty)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param position
     */
    WorldToCellPreferEmpty(this: Terrain, position: Vector3): Vector3;
    /**
     * Returns the grid cell location that contains the point position, preferring non-empty grid cells when position is on a grid edge.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#WorldToCellPreferSolid)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param position
     */
    WorldToCellPreferSolid(this: Terrain, position: Vector3): Vector3;
    /**
     * Sets a region of terrain using a dictionary of voxel channel data.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#WriteVoxelChannels)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param region Target region to write to. Must be aligned to the voxel grid. Will throw an error if region is too large; limit is currently 4194304 voxels³.
     * @param resolution Voxel resolution. Must be 4.
     * @param channels Dictionary of voxel data similar to the return value of `ReadVoxelChannels()`. Keys represent each channel ID with their respective value as an array of 3D data. The dictionary can support single or multiple channel inputs. - `SolidMaterial` — The `Material` material of the voxel. Note   that `Water` is not supported anymore; instead, a   voxel that contains only water should be entered as   `SolidMaterial = Enum.Material.Air, LiquidOccupancy = x`, where `x`   is a number between 0 (exclusive) and 1 (inclusive).
     * - `SolidOccupancy` — The occupancy of the voxel's material as   specified in the `SolidMaterial` channel. This should be a value   between 0 (empty) and 1 (full).
     * - `LiquidOccupancy` — Specifies the occupancy of the   `Water` material in a voxel as a value between 0 (no   water) and 1 (full of water). If the `SolidOccupancy` is 1 and the   `SolidMaterial` is not `Air`, this will be 0.
     */
    WriteVoxelChannels(this: Terrain, region: Region3, resolution: number, channels: VoxelChannels): void;
    /**
     * Sets a certain region of smooth terrain using table format.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#WriteVoxels)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param region Target region to write to. Must be aligned to the voxel grid. Will throw an error if region is too large.
     * @param resolution Voxel resolution. Must be 4.
     * @param materials 3D array of Enum.Material. Dimensions must exactly match the size of the target region in voxels.
     * @param occupancy 3D array of voxel occupancies (number between 0 and 1). Dimensions must exactly match the size of the target region in voxels.
     */
    WriteVoxels(this: Terrain, region: Region3, resolution: number, materials: Array<Array<Array<CastsToEnum<Enum.Material>>>>, occupancy: Array<Array<Array<number>>>): void;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Terrain#WriteVoxelsAsync_beta)
     * @param this Terrain lets you to create dynamically morphable environments.
     * @param region
     * @param resolution
     * @param channelIds
     */
    WriteVoxelsAsync_beta(this: Terrain, region: Region3, resolution: number, channelIds: Array<unknown>): TerrainWriteOperation;
}
/**
 * Abstract intermediate class that manages physical geometry properties for PartOperations and MeshParts.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TriangleMeshPart)
 */
interface TriangleMeshPart extends BasePart {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TriangleMeshPart: unique symbol;
    /**
     * Determines the level of detail the part's physics will adhere to its mesh.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TriangleMeshPart#CollisionFidelity)
     */
    get CollisionFidelity(): Enum.CollisionFidelity;
    /**
     * Determines the geometric representation used to compute aerodynamic forces and torques.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TriangleMeshPart#FluidFidelity)
     */
    get FluidFidelity(): Enum.FluidFidelity;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TriangleMeshPart#MeshSize)
     */
    readonly MeshSize: Vector3;
}
/**
 * A form of `BasePart` that includes a physically simulated custom mesh.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshPart)
 */
interface MeshPart extends TriangleMeshPart {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MeshPart: unique symbol;
    /**
     * Determines whether to render both faces of polygons in the mesh.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshPart#DoubleSided)
     */
    get DoubleSided(): boolean;
    /**
     * **Deprecated:**
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshPart#HasJointOffset)
     *
     * @deprecated
     */
    get HasJointOffset(): boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshPart#HasSkinnedMesh)
     */
    get HasSkinnedMesh(): boolean;
    /**
     * **Deprecated:**
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshPart#JointOffset)
     *
     * @deprecated
     */
    get JointOffset(): Vector3;
    /**
     * The mesh that is displayed on the `MeshPart`. Supports [asset URIs](../../../projects/assets/index.md#asset-uris) and `EditableMesh` objects.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshPart#MeshContent)
     */
    get MeshContent(): Content;
    /**
     * The [asset URIs](../../../projects/assets/index.md#asset-uris) of the mesh that is displayed on the `MeshPart`. Reads and writes to `MeshContent`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshPart#MeshId)
     */
    get MeshId(): ContentId;
    /**
     * The level of detail used to render the `MeshPart`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshPart#RenderFidelity)
     */
    get RenderFidelity(): Enum.RenderFidelity;
    /**
     * The texture applied to the `MeshPart`. Supports [asset URIs](../../../projects/assets/index.md#asset-uris) and `EditableImage` objects.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshPart#TextureContent)
     */
    TextureContent: Content;
    /**
     * The texture applied to the `MeshPart`. Reads and writes to `TextureContent`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshPart#TextureID)
     */
    TextureID: ContentId;
    /**
     * Overwrites the `MeshContent`, `TextureContent`, and collision geometry properties of this `MeshPart` from the given source `meshPart`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MeshPart#ApplyMesh)
     * @param this A form of `BasePart` that includes a physically simulated custom mesh.
     * @param meshPart
     */
    ApplyMesh(this: MeshPart, meshPart: Instance): void;
}
/**
 * An abstract class that all parts based on solid modeling inherit from.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PartOperation)
 */
interface PartOperation extends TriangleMeshPart {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PartOperation: unique symbol;
    /**
     * The level of detail used to render the solid modeled part.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PartOperation#RenderFidelity)
     */
    get RenderFidelity(): Enum.RenderFidelity;
    /**
     * An angle in degrees which affects the smooth shading of a solid modeled part.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PartOperation#SmoothingAngle)
     */
    get SmoothingAngle(): number;
    /**
     * The number of polygons in this solid model.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PartOperation#TriangleCount)
     */
    readonly TriangleCount: number;
    /**
     * Sets whether the `PartOperation` can be recolored using inherited color properties.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PartOperation#UsePartColor)
     */
    UsePartColor: boolean;
    /**
     * Substitutes the geometry of this `PartOperation` with the geometry of another `PartOperation`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PartOperation#SubstituteGeometry)
     * @param this An abstract class that all parts based on solid modeling inherit from.
     * @param source The `PartOperation` whose geometry will substitute the geometry of this `PartOperation`.
     */
    SubstituteGeometry(this: PartOperation, source: Instance): void;
}
/**
 * Result of parts that have been intersected into a single solid model.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IntersectOperation)
 */
interface IntersectOperation extends PartOperation {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_IntersectOperation: unique symbol;
}
/**
 * Result of a part that has been negated for use in solid modeling.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/NegateOperation)
 */
interface NegateOperation extends PartOperation {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_NegateOperation: unique symbol;
}
/**
 * Result of parts that have been joined together into a single solid model.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UnionOperation)
 */
interface UnionOperation extends PartOperation {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UnionOperation: unique symbol;
}
/**
 * Similar to a `Part` but with a different visual `Style` and the important distinction that default characters are able to climb it.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TrussPart)
 */
interface TrussPart extends BasePart {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TrussPart: unique symbol;
    /**
     * Sets what the truss looks like.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TrussPart#Style)
     */
    Style: Enum.Style;
}
/**
 * A seat object that can be used to control a vehicle.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VehicleSeat)
 */
interface VehicleSeat extends BasePart {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VehicleSeat: unique symbol;
    /**
     * Displays how many hinges are detected by the VehicleSeat. Useful for debugging vehicle designs.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VehicleSeat#AreHingesDetected)
     */
    readonly AreHingesDetected: number;
    /**
     * Toggles whether the `VehicleSeat` is active or not.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VehicleSeat#Disabled)
     */
    Disabled: boolean;
    /**
     * If true, a fancy speed bar will be displayed speed on screen that tells you what speed the Vehicle is moving at.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VehicleSeat#HeadsUpDisplay)
     */
    HeadsUpDisplay: boolean;
    /**
     * The maximum speed that can be attained.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VehicleSeat#MaxSpeed)
     */
    MaxSpeed: number;
    /**
     * The humanoid that is sitting in the seat.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VehicleSeat#Occupant)
     */
    readonly Occupant: Humanoid | undefined;
    /**
     * The direction of movement, tied to the keys A and D. Must be one of 1 (right), 0 (straight), or -1 (left). Will refresh back to 0 unless constantly set.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VehicleSeat#Steer)
     */
    Steer: number;
    /**
     * Functions identically to `VehicleSeat.Steer`, but the value is not an integer.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VehicleSeat#SteerFloat)
     */
    SteerFloat: number;
    /**
     * The direction of movement, tied to the keys W and S. Must be an integer 1 (forward) 0 (null) or -1 (reverse). Will refresh back to 0 unless constantly set.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VehicleSeat#Throttle)
     */
    Throttle: number;
    /**
     * Functions identically to `VehicleSeat.Throttle`, but the value is not an integer.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VehicleSeat#ThrottleFloat)
     */
    ThrottleFloat: number;
    /**
     * How fast the vehicles will be able to attain `VehicleSeat.MaxSpeed`. The greater the number, the faster it will reach the maximum speed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VehicleSeat#Torque)
     */
    Torque: number;
    /**
     * The speed at which the vehicle will turn. Higher numbers can cause problems and are not necessarily better.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VehicleSeat#TurnSpeed)
     */
    TurnSpeed: number;
    /**
     * Forces the character with the specified `Humanoid` to sit in the VehicleSeat.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VehicleSeat#Sit)
     * @param this A seat object that can be used to control a vehicle.
     * @param humanoid The humanoid being forced to sit in the VehicleSeat.
     */
    Sit(this: VehicleSeat, humanoid: Instance): void;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VehicleSeat#RemoteCreateSeatWeld)
     */
    readonly RemoteCreateSeatWeld: RBXScriptSignal<(humanoid: Instance) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VehicleSeat#RemoteDestroySeatWeld)
     */
    readonly RemoteDestroySeatWeld: RBXScriptSignal<() => void>;
}
/**
 * A class which defines a view of the 3D world.
 *
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera)
 */
interface Camera extends PVInstance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Camera: unique symbol;
    /**
     * The `CFrame` of the `Camera`, defining its position and orientation in the 3D world.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#CFrame)
     */
    CFrame: CFrame;
    /**
     * The `Humanoid` or `BasePart` that is the `Camera` subject.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#CameraSubject)
     */
    CameraSubject: Humanoid | BasePart | undefined;
    /**
     * Specifies the `CameraType` to be read by the camera scripts.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#CameraType)
     */
    CameraType: Enum.CameraType;
    /**
     * **Deprecated:** This item has been superseded by `Camera.CFrame` which should be used in all new work.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#CoordinateFrame)
     *
     * @deprecated CFrame
     */
    CoordinateFrame: CFrame;
    /**
     * Sets the angle of the camera's diagonal field of view.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#DiagonalFieldOfView)
     */
    DiagonalFieldOfView: number;
    /**
     * Sets the angle of the camera's vertical field of view.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#FieldOfView)
     */
    FieldOfView: number;
    /**
     * Determines the FOV value of the `Camera` that's invariant under viewport size changes.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#FieldOfViewMode)
     */
    FieldOfViewMode: Enum.FieldOfViewMode;
    /**
     * Sets the area in 3D space that is prioritized by Roblox's graphical systems.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#Focus)
     */
    Focus: CFrame;
    /**
     * Toggles whether the camera will automatically track the head motion of a player using a VR device.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#HeadLocked)
     */
    HeadLocked: boolean;
    /**
     * Sets the scale of the user's perspective of the world when using VR.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#HeadScale)
     */
    HeadScale: number;
    /**
     * Sets the angle of the camera's field of view along the longest viewport axis.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#MaxAxisFieldOfView)
     */
    MaxAxisFieldOfView: number;
    /**
     * Describes the negative **Z** offset, in studs, of the camera's near clipping plane.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#NearPlaneZ)
     */
    readonly NearPlaneZ: number;
    /**
     * Toggles whether to apply tilt and roll from the `CFrame` property while the player is using a VR device.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#VRTiltAndRollEnabled)
     */
    VRTiltAndRollEnabled: boolean;
    /**
     * The dimensions of the device safe area on a Roblox client.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#ViewportSize)
     */
    readonly ViewportSize: Vector2;
    /**
     * **Deprecated:**
     *
     * Returns how much the `Camera` needs to be pushed towards its `Focus` in order to make sure there is no obstructions between the `Focus` and `CFrame`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#GetLargestCutoffDistance)
     * @param this A class which defines a view of the 3D world.
     * @param ignoreList An array of `Instances` to ignore. Descendants of these instances will also be ignored.
     * @returns The distance, in studs, that the `Camera` needs to be pushed towards its `Focus` to ensure there are no obstructions between the `Focus` and `CFrame` of the `Camera`.
     *
     * @deprecated
     */
    GetLargestCutoffDistance(this: Camera, ignoreList: Array<Instance>): number;
    /**
     * **Deprecated:** This method has been deprecated and no longer works. It should not be used in new work.
     *
     * Returns the current 'pan' speed of the `Camera`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#GetPanSpeed)
     * @param this A class which defines a view of the 3D world.
     * @returns The speed at which the `Camera` is rotating around its `Focus` on the **Y** axis.
     *
     * @deprecated
     */
    GetPanSpeed(this: Camera): number;
    /**
     * Returns an array of `BaseParts` that are obscuring the lines of sight between the camera's `CFrame` and the cast points.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#GetPartsObscuringTarget)
     * @param this A class which defines a view of the 3D world.
     * @param castPoints An array of `Vector3` positions of cast points.
     * @param ignoreList An array of `Instances` that should be ignored, along with their descendants.
     * @returns An array of `BaseParts` that obscure the lines of sight between the camera's `CFrame` and the `castPoints`.
     */
    GetPartsObscuringTarget(this: Camera, castPoints: Array<Vector3>, ignoreList: Array<Instance>): Array<Instance>;
    /**
     * Returns the actual `CFrame`where the `Camera` is being rendered, accounting for any roll applied and the impact of VR devices.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#GetRenderCFrame)
     * @param this A class which defines a view of the 3D world.
     * @returns The `CFrame` the `Camera` is being rendered at.
     */
    GetRenderCFrame(this: Camera): CFrame;
    /**
     * Returns in radians the current roll, or rotation around the camera's Z-axis, applied to the `Camera` using `SetRoll()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#GetRoll)
     * @param this A class which defines a view of the 3D world.
     * @returns The current roll applied by `SetRoll()`, in radians.
     */
    GetRoll(this: Camera): number;
    /**
     * **Deprecated:** This method has been deprecated and no longer works.
     *
     * Returns the current tilt speed of the `Camera`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#GetTiltSpeed)
     * @param this A class which defines a view of the 3D world.
     * @returns The speed at which the `Camera` is rotating around its `Focus` around the camera's **X** axis.
     *
     * @deprecated
     */
    GetTiltSpeed(this: Camera): number;
    /**
     * **Deprecated:** This method has been deprecated. Instead use `TweenService` to smoothly animate the `Camera`, see the code snippets below for an example.
     *
     * Tweens the `Camera` in a linear fashion towards a new `CFrame` and `Focus` over a given duration.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#Interpolate)
     * @param this A class which defines a view of the 3D world.
     * @param endPos The `CFrame` for the `Camera` to tween to.
     * @param endFocus The `CFrame` for the camera's `Focus` to tween to.
     * @param duration The duration, in seconds, of the tween.
     *
     * @deprecated
     */
    Interpolate(this: Camera, endPos: CFrame, endFocus: CFrame, duration: number): void;
    /**
     * **Deprecated:** This method was used for legacy camera controls and has since been deprecated. Do not use in new work.
     *
     * Pans the `Camera` around the `Focus` in 45 degree increments around the **Y** axis.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#PanUnits)
     * @param this A class which defines a view of the 3D world.
     * @param units The number of 45 degree increments by which to pan the `Camera`.
     *
     * @deprecated
     */
    PanUnits(this: Camera, units: number): void;
    /**
     * Creates a unit `Ray` from a position on the screen (in pixels), at a set depth from the `Camera` orientated in the camera's direction. Accounts for the GUI inset.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#ScreenPointToRay)
     * @param this A class which defines a view of the 3D world.
     * @param x The position on the **X** axis, in pixels, of the screen point at which to originate the `Ray`. This position accounts for the GUI inset.
     * @param y The position on the **Y** axis, in pixels, of the screen point at which to originate the `Ray`. This position accounts for the GUI inset.
     * @param depth The depth from the `Camera`, in studs, from which to offset the origin of the `Ray`.
     * @returns A unit `Ray`, originating from the equivalent `Vector3` world position of the given screen coordinates at the given depth away from the `Camera`. This ray is orientated in the direction of the `Camera`.
     */
    ScreenPointToRay(this: Camera, x: number, y: number, depth?: number): Ray;
    /**
     * **Deprecated:** This method has been deprecated and should not be used in new work.
     *
     * Sets the `CameraPanMode` to be used by the `Camera` on mobile devices.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#SetCameraPanMode)
     * @param this A class which defines a view of the 3D world.
     * @param mode The `CameraPanMode` to set the `Camera` to.
     *
     * @deprecated
     */
    SetCameraPanMode(this: Camera, mode?: CastsToEnum<Enum.CameraPanMode>): void;
    /**
     * Sets the current rotation applied around the camera's Z-axis.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#SetRoll)
     * @param this A class which defines a view of the 3D world.
     * @param rollAngle The roll angle, in radians, to be applied to the `Camera`.
     */
    SetRoll(this: Camera, rollAngle: number): void;
    /**
     * **Deprecated:** This method was used for legacy camera controls and has been deprecated. Do not use in new work.
     *
     * Tilts the `Camera` around its `Focus` in 10 degree increments around the camera's **X** axis.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#TiltUnits)
     * @param this A class which defines a view of the 3D world.
     * @param units The number of 10 degree units by which to tilt the `Camera`.
     * @returns Whether the `Camera` tilt applied was constrained.
     *
     * @deprecated
     */
    TiltUnits(this: Camera, units: number): boolean;
    /**
     * Creates a unit `Ray` from a position on the viewport (in pixels), at a given depth from the `Camera`, orientated in the camera's direction. Does not account for the `CoreUISafeInsets` inset.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#ViewportPointToRay)
     * @param this A class which defines a view of the 3D world.
     * @param x The position on the **X** axis, in pixels, of the viewport point at which to originate the `Ray`, in device safe area coordinates.
     * @param y The position on the **Y** axis, in pixels, of the viewport point at which to originate the `Ray`, in device safe area coordinates.
     * @param depth The depth from the `Camera`, in studs, from which to offset the origin of the `Ray`.
     * @returns A unit `Ray`, originating from the equivalent `Vector3` world position of the given viewport coordinates at the given depth away from the `Camera`. This ray is orientated in the direction of the `Camera`.
     */
    ViewportPointToRay(this: Camera, x: number, y: number, depth?: number): Ray;
    /**
     * Returns the screen location and depth of a `Vector3` `worldPoint` and whether this point is within the bounds of the screen. Accounts for the GUI inset.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#WorldToScreenPoint)
     * @param this A class which defines a view of the 3D world.
     * @param worldPoint The `Vector3` world position.
     * @returns A tuple containing, in order: -  A `Vector3` whose **X** and **Y** components represent the   offset of the `worldPoint` from the top left corner of the screen,   in pixels. The `Vector3` **Z** component represents the   depth of the `worldPoint` from the screen (in studs).
     * -  A boolean indicating if the `worldPoint` is within the bounds of the   screen.
     */
    WorldToScreenPoint(this: Camera, worldPoint: Vector3): LuaTuple<[
        Vector3,
        boolean
    ]>;
    /**
     * Returns the screen location and depth of a `Vector3` `worldPoint` and whether this point is within the bounds of the screen. Does not account for the GUI inset.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#WorldToViewportPoint)
     * @param this A class which defines a view of the 3D world.
     * @param worldPoint The `Vector3` world position.
     * @returns A tuple containing, in order: -  A `Vector3` whose **X** and **Y** components represent the   offset of the `worldPoint` from the top left corner of the viewport,   in pixels. The `Vector3` **Z** component represents the   depth of the `worldPoint` from the screen (in studs).
     * -  A boolean indicating if the `worldPoint` is within the bounds of the   screen.
     */
    WorldToViewportPoint(this: Camera, worldPoint: Vector3): LuaTuple<[
        Vector3,
        boolean
    ]>;
    /**
     * Adjusts the `CFrame` so that the specified bounding box is fully visible within the camera's viewport.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#ZoomToExtents)
     * @param this A class which defines a view of the 3D world.
     * @param boundingBoxCFrame The `CFrame` representing the center and orientation of the bounding box to fit into the viewport.
     * @param boundingBoxSize The `Vector3` size of the bounding box to fit into the viewport.
     */
    ZoomToExtents(this: Camera, boundingBoxCFrame: CFrame, boundingBoxSize: Vector3): void;
    /**
     * Fired when the `Camera` has finished interpolating using`Interpolate()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Camera#InterpolationFinished)
     */
    readonly InterpolationFinished: RBXScriptSignal<() => void>;
}
/**
 * Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model)
 */
interface Model extends PVInstance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Model: unique symbol;
    /**
     * Controls the model streaming behavior on `Models` when instance streaming is enabled.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#ModelStreamingMode)
     */
    ModelStreamingMode: Enum.ModelStreamingMode;
    /**
     * The primary part of the `Model`, or `nil` if not explicitly set.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#PrimaryPart)
     */
    PrimaryPart: BasePart | undefined;
    /**
     * Determines where the pivot of a `Model` which does **not** have a set `Model.PrimaryPart` is located.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#WorldPivot)
     */
    WorldPivot: CFrame;
    /**
     * Sets this model to be persistent for the specified player. `ModelStreamingMode` must be set to `PersistentPerPlayer` for behavior to be changed as a result of addition.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#AddPersistentPlayer)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     * @param playerInstance The `Player` to make this model persistent for.
     */
    AddPersistentPlayer(this: Model, playerInstance?: Player): void;
    /**
     * **Deprecated:**
     *
     * Breaks connections between `BaseParts`, including surface connections with any adjacent parts, `WeldConstraints` and all `Welds` and other `JointInstances`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#BreakJoints)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     *
     * @deprecated
     */
    BreakJoints(this: Model): void;
    /**
     * Returns a description of a volume that contains all parts of a Model.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#GetBoundingBox)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     * @returns A `CFrame` representing the orientation of the volume followed by a `Vector3` representing the size of the volume.
     */
    GetBoundingBox(this: Model): LuaTuple<[
        CFrame,
        Vector3
    ]>;
    /**
     * Returns the size of the smallest bounding box that contains all of the `BaseParts` in the `Model`, aligned with the `Model.PrimaryPart` if it is set.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#GetExtentsSize)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     * @returns The `Vector3` extents size of the `Model`.
     */
    GetExtentsSize(this: Model): Vector3;
    /**
     * **Deprecated:** This function has been deprecated as it did not provide reliable results. You can instead use `Model:GetPrimaryPartCFrame()` to retrieve the `CFrame` of the model's primary part.
     *
     * This value historically returned the CFrame of a central position in the model.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#GetModelCFrame)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     *
     * @deprecated GetPrimaryPartCFrame
     */
    GetModelCFrame(this: Model): CFrame;
    /**
     * **Deprecated:** This item is deprecated. Do not use it for new work. Developers can instead use `Model.GetExtentsSize`.
     *
     * Returns the Vector3 size of the Model.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#GetModelSize)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     *
     * @deprecated GetExtentsSize
     */
    GetModelSize(this: Model): Vector3;
    /**
     * Returns all the `Player` objects that this model object is persistent for. Behavior varies based on whether this method is called from a `Script` or a `LocalScript`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#GetPersistentPlayers)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     * @returns A table with all the `Player` objects that this model object is persistent for.
     */
    GetPersistentPlayers(this: Model): Array<Instance>;
    /**
     * **Deprecated:**
     *
     * Returns the `CFrame` of the model's `Model.PrimaryPart`. This function will throw an error if no primary part exists for the `Model`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#GetPrimaryPartCFrame)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     *
     * @deprecated GetPivot
     */
    GetPrimaryPartCFrame(this: Model): CFrame;
    /**
     * Returns the canonical scale of the model, which defaults to 1 for newly created models and will change as it is scaled via `Model:ScaleTo()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#GetScale)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     * @returns The current canonical scale factor of the model.
     */
    GetScale(this: Model): number;
    /**
     * **Deprecated:** This joint type has been deprecated. Don't use it for new work. Use `WeldConstraints` and `HingeConstraints` instead.
     *
     * Goes through all `BaseParts` in the `Model`. If any part's side has a SurfaceType that can make a joint it will create a joint with any adjacent parts.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#MakeJoints)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     *
     * @deprecated
     */
    MakeJoints(this: Model): void;
    /**
     * Moves the `PrimaryPart` to the given position. If a primary part has not been specified, the root part of the model will be used.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#MoveTo)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     * @param position The `Vector3` the `Model` is moved to.
     */
    MoveTo(this: Model, position: Vector3): void;
    /**
     * Makes this model no longer persistent for the specified player. `ModelStreamingMode` must be set to `PersistentPerPlayer` for behavior to be changed as a result of removal.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#RemovePersistentPlayer)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     * @param playerInstance The `Player` to make this model no longer persistent for.
     */
    RemovePersistentPlayer(this: Model, playerInstance?: Player): void;
    /**
     * **Deprecated:** This function has been deprecated; it remains to prevent legacy scripts from throwing errors, but it does nothing when called.
     *
     * Resets the rotation of the model's parts to the previously set identity rotation, which is done through the `Model:SetIdentityOrientation()` method.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#ResetOrientationToIdentity)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     *
     * @deprecated SetPrimaryPartCFrame
     */
    ResetOrientationToIdentity(this: Model): void;
    /**
     * Sets the scale factor of the model, adjusting the sizing and location of all descendant Instances such that they have that scale factor relative to their initial sizes and locations when scale factor was 1.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#ScaleTo)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     * @param newScaleFactor
     */
    ScaleTo(this: Model, newScaleFactor: number): void;
    /**
     * **Deprecated:** This function has been deprecated; it remains to prevent legacy scripts from throwing errors, but it does nothing when called.
     *
     * Sets the identity rotation of the given model, allowing you to reset the rotation of the entire model later, through the use of the `ResetOrientationToIdentity` method.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#SetIdentityOrientation)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     *
     * @deprecated SetPrimaryPartCFrame
     */
    SetIdentityOrientation(this: Model): void;
    /**
     * **Deprecated:**
     *
     * Sets the `BasePart.CFrame` of the model's `Model.PrimaryPart`. All other parts in the model will also be moved and will maintain their orientation and offset respective to the `Model.PrimaryPart`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#SetPrimaryPartCFrame)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     * @param cframe The `CFrame` to be set.
     *
     * @deprecated PivotTo
     */
    SetPrimaryPartCFrame(this: Model, cframe: CFrame): void;
    /**
     * Shifts a `Model` by the given `Vector3` offset, preserving the model's orientation. If another `BasePart` or `Terrain` already exists at the new position then the `Model` will overlap said object.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Model#TranslateBy)
     * @param this Models are container objects, meaning they group objects together. They are best used to hold collections of `BaseParts` and have a number of functions that extend their functionality.
     * @param delta The `Vector3` to translate the `Model` by.
     */
    TranslateBy(this: Model, delta: Vector3): void;
}
/**
 * An `Actor` is a container for code that can be safely split into its own thread.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Actor)
 */
interface Actor extends Model {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Actor: unique symbol;
    /**
     * Binds a Luau callback to a message with the specified topic.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Actor#BindToMessage)
     * @param this An `Actor` is a container for code that can be safely split into its own thread.
     * @param topic The topic used to identify the type of message.
     * @param function
     * @returns This connection object may be used to disconnect the Luau callback from receiving messages.
     */
    BindToMessage(this: Actor, topic: string, callback: Callback): RBXScriptConnection;
    /**
     * Binds a Luau callback to a message with the specified topic.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Actor#BindToMessageParallel)
     * @param this An `Actor` is a container for code that can be safely split into its own thread.
     * @param topic The topic used to identify the type of message.
     * @param function
     * @returns This connection object may be used to disconnect the Luau callback from receiving messages.
     */
    BindToMessageParallel(this: Actor, topic: string, callback: Callback): RBXScriptConnection;
    /**
     * Sends a message to an Actor.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Actor#SendMessage)
     * @param this An `Actor` is a container for code that can be safely split into its own thread.
     * @param topic The topic used to identify the message being sent.
     * @param message The contents of the message to send to the Actor.
     */
    SendMessage(this: Actor, topic: string, ...message: Array<unknown>): void;
}
/**
 * BackpackItem is an abstract class for backpack items such as HopperBins and Tools.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BackpackItem)
 */
interface BackpackItem extends Model {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BackpackItem: unique symbol;
    /**
     * The texture icon that is displayed for a tool in the player's backpack. Only supports asset URIs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BackpackItem#TextureContent)
     */
    TextureContent: Content;
    /**
     * The texture icon that is displayed for a tool in the player's backpack.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BackpackItem#TextureId)
     */
    TextureId: ContentId;
}
/**
 * An object, such as a weapon, that can be equipped by a `Humanoid`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool)
 */
interface Tool extends BackpackItem {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Tool: unique symbol;
    /**
     * Controls whether the player can drop the tool.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool#CanBeDropped)
     */
    CanBeDropped: boolean;
    /**
     * Relates to whether or not the tool can be used.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool#Enabled)
     */
    Enabled: boolean;
    /**
     * Stores the tool's "grip" properties as one `CFrame`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool#Grip)
     */
    Grip: CFrame;
    /**
     * Represents the `R02`, `R12`, and `R22` values of the grip `CFrame` rotation matrix.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool#GripForward)
     */
    GripForward: Vector3;
    /**
     * The positional offset of the tool's weld matrix.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool#GripPos)
     */
    GripPos: Vector3;
    /**
     * Represents the `R00`, `R10`, and `R20` values of the grip `CFrame` rotation matrix.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool#GripRight)
     */
    GripRight: Vector3;
    /**
     * Represents the `R01`, `R11`, and `R21` values of the grip `CFrame` rotation matrix.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool#GripUp)
     */
    GripUp: Vector3;
    /**
     * Controls whether the `Tool` can be activated without executing `Tool:Activate()`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool#ManualActivationOnly)
     */
    ManualActivationOnly: boolean;
    /**
     * Determines whether a `Tool` functions without a handle.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool#RequiresHandle)
     */
    RequiresHandle: boolean;
    /**
     * Controls the message displayed when the player's mouse hovers over the tool in their backpack.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool#ToolTip)
     */
    ToolTip: string;
    /**
     * Simulates activation of the `Tool`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool#Activate)
     * @param this An object, such as a weapon, that can be equipped by a `Humanoid`.
     */
    Activate(this: Tool): void;
    /**
     * Simulates deactivation of the `Tool`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool#Deactivate)
     * @param this An object, such as a weapon, that can be equipped by a `Humanoid`.
     */
    Deactivate(this: Tool): void;
    /**
     * Fires when the player clicks while the tool is equipped.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool#Activated)
     */
    readonly Activated: RBXScriptSignal<() => void>;
    /**
     * Fires when the player releases their click while the tool is equipped and activated.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool#Deactivated)
     */
    readonly Deactivated: RBXScriptSignal<() => void>;
    /**
     * Fires when the tool is equipped.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool#Equipped)
     */
    readonly Equipped: RBXScriptSignal<(mouse: Mouse) => void>;
    /**
     * Fires when the tool is unequipped.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tool#Unequipped)
     */
    readonly Unequipped: RBXScriptSignal<() => void>;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProceduralModel)
 */
interface ProceduralModel extends Model {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ProceduralModel: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProceduralModel#GenerationError)
     */
    readonly GenerationError: string;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProceduralModel#Generator)
     */
    Generator: ModuleScript | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProceduralModel#Size)
     */
    Size: Vector3;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProceduralModel#ForceGeneration)
     * @param this
     */
    ForceGeneration(this: ProceduralModel): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProceduralModel#WaitForGenerationAsync)
     * @param this
     */
    WaitForGenerationAsync(this: ProceduralModel): boolean;
}
/**
 * Base class for handling physics simulation and 3D spatial queries.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot)
 */
interface WorldRoot extends Model {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_WorldRoot: unique symbol;
    /**
     * Returns true if any of the given `BasePart` are touching any other parts.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#ArePartsTouchingOthers)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param partList A list of parts checks to see if any parts in the list are touching any parts not in the list.
     * @param overlapIgnored The part overlap threshold in studs that is ignored before parts are considered to be touching.
     * @returns True if and only if any of the `parts` in `partList` are touching any other parts (parts not in the partList). False if no parts are passed.
     */
    ArePartsTouchingOthers(this: WorldRoot, partList: Array<Instance>, overlapIgnored?: number): boolean;
    /**
     * Casts a block shape in a given direction and returns a `RaycastResult` if the shape hits a `BasePart` or `Terrain` cell.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#Blockcast)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param cframe The initial position and rotation of the cast block shape.
     * @param size The size of the cast block shape in studs. The maximum size is 512 studs.
     * @param direction Direction of the shapecast, with the magnitude representing the maximum distance the shape can travel. The maximum distance is 1024 studs.
     * @param params
     * @returns Contains the result of the shapecast operation, or `nil` if no eligible `BasePart` or `Terrain` cell was hit.
     */
    Blockcast(this: WorldRoot, cframe: CFrame, size: Vector3, direction: Vector3, raycastParams?: RaycastParams): RaycastResult | undefined;
    /**
     * Moves a table of `BaseParts` to a table of `CFrames`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#BulkMoveTo)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param partList
     * @param cframeList
     * @param eventMode
     */
    BulkMoveTo(this: WorldRoot, partList: Array<Instance>, cframeList: Array<unknown>, eventMode?: CastsToEnum<Enum.BulkMoveMode>): void;
    /**
     * **Deprecated:** This function has been deprecated. Use `WorldRoot:Raycast()` along with `RaycastParams` for new work.
     *
     * Returns the first `BasePart` or `Terrain` cell intersecting with the given `Ray`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#FindPartOnRay)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param ray
     * @param ignoreDescendantsInstance
     * @param terrainCellsAreCubes
     * @param ignoreWater
     * @returns The `BasePart` or `Terrain` cell hit, the `Vector3` point of intersection, the `Vector3` surface normal at the point of intersection, and the `Material` of the `BasePart` or terrain cell hit.
     *
     * @deprecated Raycast
     */
    FindPartOnRay(this: WorldRoot, ray: Ray, ignoreDescendantsInstance?: Instance, terrainCellsAreCubes?: boolean, ignoreWater?: boolean): LuaTuple<[
        BasePart | undefined,
        Vector3,
        Vector3,
        Enum.Material
    ]>;
    /**
     * **Deprecated:** This function has been deprecated. Use `WorldRoot:Raycast()` along with `RaycastParams` for new work.
     *
     * Returns the first `BasePart` or `Terrain` cell intersecting with the given `Ray` that isn't in, nor is a descendant of an object in, the given ignore list.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#FindPartOnRayWithIgnoreList)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param ray
     * @param ignoreDescendantsTable
     * @param terrainCellsAreCubes
     * @param ignoreWater
     * @returns The `BasePart` or `Terrain` cell hit, the `Vector3` point of intersection, the `Vector3` surface normal at the point of intersection, and the `Material` of the `BasePart` or terrain cell hit.
     *
     * @deprecated Raycast
     */
    FindPartOnRayWithIgnoreList(this: WorldRoot, ray: Ray, ignoreDescendantsTable: Array<Instance>, terrainCellsAreCubes?: boolean, ignoreWater?: boolean): LuaTuple<[
        BasePart | undefined,
        Vector3,
        Vector3,
        Enum.Material
    ]>;
    /**
     * **Deprecated:** This function has been deprecated. Use `WorldRoot:Raycast()` along with `RaycastParams` for new work.
     *
     * Returns the first `BasePart` or `Terrain` cell intersecting with the given `Ray` that is in, or is a descendant of an object in, the given inclusion list.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#FindPartOnRayWithWhitelist)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param ray
     * @param whitelistDescendantsTable
     * @param ignoreWater
     * @returns The `BasePart` or `Terrain` cell hit, the `Vector3` point of intersection, the `Vector3` surface normal at the point of intersection, and the `Material` of the `BasePart` or terrain cell hit.
     *
     * @deprecated Raycast
     */
    FindPartOnRayWithWhitelist(this: WorldRoot, ray: Ray, whitelistDescendantsTable: Array<Instance>, ignoreWater?: boolean): LuaTuple<[
        BasePart | undefined,
        Vector3,
        Vector3,
        Enum.Material
    ]>;
    /**
     * **Deprecated:** This function has been deprecated. Use `WorldRoot:GetPartBoundsInBox()` along with `OverlapParams` for new work.
     *
     * Returns an array of `BaseParts` in the given `Region3`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#FindPartsInRegion3)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param region The `Region3` to be checked.
     * @param ignoreDescendantsInstance An `Instance` to be ignored.
     * @param maxParts The maximum amount of `BaseParts` to be returned.
     * @returns An array of `BaseParts` within the `Region3`.
     *
     * @deprecated GetPartBoundsInBox
     */
    FindPartsInRegion3(this: WorldRoot, region: Region3, ignoreDescendantsInstance?: Instance, maxParts?: number): Array<BasePart>;
    /**
     * **Deprecated:** This function has been deprecated. Use `WorldRoot:GetPartBoundsInBox()` along with `OverlapParams` for new work.
     *
     * Returns an array of `BaseParts` in the given `Region3` that aren't in, or a descendant of an entry in, the given ignore list.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#FindPartsInRegion3WithIgnoreList)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param region The `Region3` to be checked.
     * @param ignoreDescendantsTable An array of objects to be ignored.
     * @param maxParts The maximum number of `BaseParts` to be returned.
     * @returns An array of `BaseParts` found within the `Region3`.
     *
     * @deprecated GetPartBoundsInBox
     */
    FindPartsInRegion3WithIgnoreList(this: WorldRoot, region: Region3, ignoreDescendantsTable: Array<Instance>, maxParts?: number): Array<BasePart>;
    /**
     * **Deprecated:** This function has been deprecated. Use `WorldRoot:GetPartBoundsInBox()` along with `OverlapParams` for new work.
     *
     * Returns an array of `BaseParts` in the given `Region3` that are in, or descendant of an entry in, the given inclusion list.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#FindPartsInRegion3WithWhiteList)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param region The `Region3` to be checked.
     * @param whitelistDescendantsTable An array of objects to check.
     * @param maxParts The maximum number of `BaseParts` to be returned.
     * @returns An array of `BaseParts` within the `Region3`.
     *
     * @deprecated GetPartBoundsInBox
     */
    FindPartsInRegion3WithWhiteList(this: WorldRoot, region: Region3, whitelistDescendantsTable: Array<Instance>, maxParts?: number): Array<BasePart>;
    /**
     * Returns an array of parts whose **bounding boxes** overlap a given box.
     *
     * - **ThreadSafety**: Safe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#GetPartBoundsInBox)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param cframe The location of the center of the given box volume to be queried.
     * @param size The size of the given box volume to be queried.
     * @param overlapParams Contains reusable portions of the spatial query parameters.
     * @returns An array of `BaseParts` which matched the spatial query.
     */
    GetPartBoundsInBox(this: WorldRoot, cframe: CFrame, size: Vector3, overlapParams?: OverlapParams): Array<BasePart>;
    /**
     * Returns an array of parts whose **bounding boxes** overlap a given sphere.
     *
     * - **ThreadSafety**: Safe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#GetPartBoundsInRadius)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param position The location of the center of the given sphere volume to be queried.
     * @param radius The radius of the given sphere volume to be queried.
     * @param overlapParams Contains reusable portions of the spatial query parameters.
     * @returns An array of `BaseParts` which matched the spatial query.
     */
    GetPartBoundsInRadius(this: WorldRoot, position: Vector3, radius: number, overlapParams?: OverlapParams): Array<BasePart>;
    /**
     * Returns an array of parts whose occupied space is shared with the given part.
     *
     * - **ThreadSafety**: Safe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#GetPartsInPart)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param part The part whose volume is to be checked against other parts.
     * @param overlapParams Contains reusable portions of the spatial query parameters.
     * @returns An array of `BaseParts` which matched the spatial query.
     */
    GetPartsInPart(this: WorldRoot, part: BasePart, overlapParams?: OverlapParams): Array<BasePart>;
    /**
     * **Deprecated:** This function has been deprecated. Use `WorldRoot:GetPartBoundsInBox()` along with `OverlapParams` for new work.
     *
     * Returns a bool indicating whether there are no `BaseParts` within the given `Region3`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#IsRegion3Empty)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param region The `Region3` to be checked.
     * @param ignoreDescendentsInstance An `Instance` to be ignored.
     * @returns True if the `Region3` is empty.
     *
     * @deprecated GetPartBoundsInBox
     */
    IsRegion3Empty(this: WorldRoot, region: Region3, ignoreDescendentsInstance?: Instance): boolean;
    /**
     * **Deprecated:** This function has been deprecated. Use `WorldRoot:GetPartBoundsInBox()` along with `OverlapParams` for new work.
     *
     * Returns a boolean indicating whether there are no `BaseParts` within the given `Region3`, ignoring any `BaseParts` that are descendants of the objects within the given ignore list.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#IsRegion3EmptyWithIgnoreList)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param region The `Region3` to be checked.
     * @param ignoreDescendentsTable An array of objects to be ignored.
     * @returns True if the `Region3` is empty.
     *
     * @deprecated GetPartBoundsInBox
     */
    IsRegion3EmptyWithIgnoreList(this: WorldRoot, region: Region3, ignoreDescendentsTable: Array<Instance>): boolean;
    /**
     * Casts a ray using an origin, direction, and optional `RaycastParams`, then returns a `RaycastResult` if an eligible object or terrain intersects the ray.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#Raycast)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param origin The origin point of the ray.
     * @param direction The directional vector of the ray. Note that the length of this vector matters, as parts/terrain further away than its length will not be tested.
     * @param raycastParams An object used to specify hit eligibility in the raycast operation. If not provided, default values are used where all parts are considered and `Terrain` water is not ignored.
     * @returns Contains the results of a raycast operation, or `nil` if no eligible `BasePart` or `Terrain` cell was hit.
     */
    Raycast(this: WorldRoot, origin: Vector3, direction: Vector3, raycastParams?: RaycastParams): RaycastResult | undefined;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#Shapecast)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param part
     * @param direction
     * @param params
     */
    Shapecast(this: WorldRoot, part: BasePart, direction: Vector3, params?: RaycastParams): RaycastResult | undefined;
    /**
     * Casts a spherical shape in a given direction and returns a `RaycastResult` if the shape hits a `BasePart` or `Terrain` cell.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldRoot#Spherecast)
     * @param this Base class for handling physics simulation and 3D spatial queries.
     * @param position The initial position of the cast spherical shape.
     * @param radius The radius of the cast spherical shape in studs. The maximum radius is 256 studs.
     * @param direction Direction of the shapecast, with the magnitude representing the maximum distance the shape can travel. The maximum distance is 1024 studs.
     * @param params
     * @returns Contains the result of the shapecast operation, or `nil` if no eligible `BasePart` or `Terrain` cell was hit.
     */
    Spherecast(this: WorldRoot, position: Vector3, radius: number, direction: Vector3, raycastParams?: RaycastParams): RaycastResult | undefined;
}
/**
 * **Workspace** houses 3D objects which are rendered to the 3D world. Objects not descending from it will not be rendered or physically interact with the world.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace)
 */
interface Workspace extends WorldRoot {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Workspace: unique symbol;
    /**
     * The air density at ground level, used in the aerodynamic force model.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#AirDensity)
     */
    AirDensity: number;
    /**
     * Controls the strength of turbulence present in the wind velocity field, affecting the aerodynamic force model.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#AirTurbulenceIntensity)
     */
    AirTurbulenceIntensity: number;
    /**
     * Determines whether assets created by other users can be sold in the game.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#AllowThirdPartySales)
     */
    AllowThirdPartySales: boolean;
    /**
     * Specifies the animation throttling mode for the local client.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#ClientAnimatorThrottling)
     */
    ClientAnimatorThrottling: Enum.ClientAnimatorThrottlingMode;
    /**
     * The `Camera` object being used by the local player.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#CurrentCamera)
     */
    CurrentCamera: Camera | undefined;
    /**
     * The amount of time, in seconds, that the game has been running.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#DistributedGameTime)
     */
    DistributedGameTime: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#FallHeightEnabled)
     */
    get FallHeightEnabled(): boolean;
    /**
     * Determines the height at which falling `BaseParts` and their ancestor `Models` are removed from `Workspace`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#FallenPartsDestroyHeight)
     */
    get FallenPartsDestroyHeight(): number;
    /**
     * Specifies the global wind vector for animated terrain grass, dynamic clouds, and particles.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#GlobalWind)
     */
    GlobalWind: Vector3;
    /**
     * Determines the acceleration due to gravity applied to falling `BaseParts`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#Gravity)
     */
    Gravity: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#InsertPoint)
     */
    InsertPoint: Vector3;
    /**
     * **Deprecated:** This property should not be used for new work.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#InterpolationThrottling)
     *
     * @deprecated
     */
    get InterpolationThrottling(): Enum.InterpolationThrottlingMode;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#Retargeting)
     */
    Retargeting: Enum.AnimatorRetargetingMode;
    /**
     * Whether content streaming is enabled for the place.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#StreamingEnabled)
     */
    get StreamingEnabled(): boolean;
    /**
     * A reference to the `Terrain` object parented to the `Workspace`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#Terrain)
     */
    readonly Terrain: Terrain;
    /**
     * Returns the number of `BaseParts` that are deemed physically active, due to being recently under the influence of physics.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#GetNumAwakeParts)
     * @param this **Workspace** houses 3D objects which are rendered to the 3D world. Objects not descending from it will not be rendered or physically interact with the world.
     * @returns The number of awake parts.
     */
    GetNumAwakeParts(this: Workspace): number;
    /**
     * Returns an integer, between 0 and 100, representing the percentage of real time that physics simulation is currently being throttled to.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#GetPhysicsThrottling)
     * @param this **Workspace** houses 3D objects which are rendered to the 3D world. Objects not descending from it will not be rendered or physically interact with the world.
     * @returns The percentage of real time that physics simulation is currently being throttled to.
     */
    GetPhysicsThrottling(this: Workspace): number;
    /**
     * Returns the number of frames per second that physics is currently being simulated at.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#GetRealPhysicsFPS)
     * @param this **Workspace** houses 3D objects which are rendered to the 3D world. Objects not descending from it will not be rendered or physically interact with the world.
     * @returns Returns the number of frames per second that physics is currently being simulated at.
     */
    GetRealPhysicsFPS(this: Workspace): number;
    /**
     * Returns the server's Unix time in seconds.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#GetServerTimeNow)
     * @param this **Workspace** houses 3D objects which are rendered to the 3D world. Objects not descending from it will not be rendered or physically interact with the world.
     * @returns The estimated Unix timestamp on the server.
     */
    GetServerTimeNow(this: Workspace): number;
    /**
     * Creates joints between the specified `Parts` and any touching parts depending on the parts' surfaces and the specified joint creation mode.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#JoinToOutsiders)
     * @param this **Workspace** houses 3D objects which are rendered to the 3D world. Objects not descending from it will not be rendered or physically interact with the world.
     * @param objects An array of `BaseParts` for whom joints are to be made.
     * @param jointType The `JointCreationMode` to be used. Passing in `Enum.JointCreationMode.All` or `Enum.JointCreationMode.Surface` has the same behavior which equates to Join Always.
     */
    JoinToOutsiders(this: Workspace, objects: Array<Instance>, jointType: CastsToEnum<Enum.JointCreationMode>): void;
    /**
     * Returns `true` if the game has the PGS Physics solver enabled.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#PGSIsEnabled)
     * @param this **Workspace** houses 3D objects which are rendered to the 3D world. Objects not descending from it will not be rendered or physically interact with the world.
     * @returns True if the PGS solver is enabled.
     */
    PGSIsEnabled(this: Workspace): boolean;
    /**
     * Breaks all joints between the specified `BaseParts` and other `BaseParts`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#UnjoinFromOutsiders)
     * @param this **Workspace** houses 3D objects which are rendered to the 3D world. Objects not descending from it will not be rendered or physically interact with the world.
     * @param objects An array of `BaseParts` for whom joints are to be broken.
     */
    UnjoinFromOutsiders(this: Workspace, objects: Array<Instance>): void;
    /**
     * Fires when persistent models have been sent to the specified player.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Workspace#PersistentLoaded)
     */
    readonly PersistentLoaded: RBXScriptSignal<(player: Player) => void>;
}
/**
 * Extends limited physics for its children on to a parent `ViewportFrame`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WorldModel)
 */
interface WorldModel extends WorldRoot {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_WorldModel: unique symbol;
}
/**
 * Links a `DataModel` instance to a corresponding asset in the cloud.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PackageLink)
 */
interface PackageLink extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PackageLink: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PackageLink#DefaultName)
     */
    get DefaultName(): string;
    /**
     * The ID of the asset this package corresponds to.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PackageLink#PackageId)
     */
    readonly PackageId: ContentId;
    /**
     * Refers to a revision of a specific package.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PackageLink#VersionNumber)
     */
    get VersionNumber(): number;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PackageUIService)
 */
interface PackageUIService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PackageUIService: unique symbol;
}
/**
 * An abstract class for pages objects.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Pages)
 */
interface Pages<T = unknown> extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Pages: unique symbol;
    /**
     * Whether or not the current page is the last page available.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Pages#IsFinished)
     */
    readonly IsFinished: boolean;
    /**
     * Returns the items on the current page. The keys in the item are determined by the source of this object.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Pages#GetCurrentPage)
     * @param this An abstract class for pages objects.
     */
    GetCurrentPage(this: Pages): Array<T>;
    /**
     * Iterates to the next page in the pages object, if possible.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Pages#AdvanceToNextPageAsync)
     * @param this An abstract class for pages objects.
     */
    AdvanceToNextPageAsync(this: Pages): void;
}
/**
 * A special version of the `Pages` class returned by `AssetService:SearchAudioAsync()`.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AudioPages)
 */
interface AudioPages extends Pages {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AudioPages: unique symbol;
}
/**
 * Returned by `Players:GetBanHistoryAsync` to view the entire ban and unban history of any UserId.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BanHistoryPages)
 */
interface BanHistoryPages extends Pages {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BanHistoryPages: unique symbol;
}
/**
 * A special version of the `Pages` class returned by `CaptureService.ReadCapturesFromGalleryAsync`.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CapturesPages)
 */
interface CapturesPages extends Pages {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CapturesPages: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CatalogPages)
 */
interface CatalogPages extends Pages<SearchCatalogResult> {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CatalogPages: unique symbol;
}
/**
 * A special type of `Pages` object whose pages contain `DataStoreKey` instances.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreKeyPages)
 */
interface DataStoreKeyPages extends Pages {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataStoreKeyPages: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreKeyPages#Cursor)
     */
    readonly Cursor: string;
}
/**
 * A special type of `Pages` object whose pages contain `DataStoreInfo` instances.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreListingPages)
 */
interface DataStoreListingPages extends Pages {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataStoreListingPages: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreListingPages#Cursor)
     */
    readonly Cursor: string;
}
/**
 * A `Pages` object that allows iteration through `OrderedDataStore` key/value pairs.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStorePages)
 */
interface DataStorePages extends Pages<{
    key: string;
    value: unknown;
}> {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataStorePages: unique symbol;
}
/**
 * A special type of `Pages` object whose pages contain `DataStoreObjectVersionInfo` instances.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataStoreVersionPages)
 */
interface DataStoreVersionPages extends Pages<DataStoreObjectVersionInfo> {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataStoreVersionPages: unique symbol;
}
/**
 * A special version of `Pages` that contains information about a player's connections.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FriendPages)
 */
interface FriendPages extends Pages<{
    AvatarFinal: boolean;
    AvatarUri: string;
    Id: number;
    Username: string;
    IsOnline: boolean;
}> {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FriendPages: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/InventoryPages)
 */
interface InventoryPages<T = unknown> extends Pages<T> {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_InventoryPages: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EmotesPages)
 */
interface EmotesPages extends InventoryPages {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_EmotesPages: unique symbol;
}
/**
 * A special type of `Pages` object whose pages contain key-value pairs from a `MemoryStoreHashMap`.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MemoryStoreHashMapPages)
 */
interface MemoryStoreHashMapPages extends Pages {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MemoryStoreHashMapPages: unique symbol;
}
/**
 * The `OutfitPages` class is used in the case of iterating over a user's outfits.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/OutfitPages)
 */
interface OutfitPages extends Pages<ReadonlyArray<{
    Id: number;
    Name: string;
    IsEditable: boolean;
}>> {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_OutfitPages: unique symbol;
}
/**
 * A special version of the `Pages` class returned by `GenerateItemListAsync`.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RecommendationPages)
 */
interface RecommendationPages extends Pages {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RecommendationPages: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StandardPages)
 */
interface StandardPages<T = unknown> extends Pages<T> {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StandardPages: unique symbol;
}
/**
 * A special object that emits customizable 2D particles into the world.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter)
 */
interface ParticleEmitter extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ParticleEmitter: unique symbol;
    /**
     * Determines the global-axis acceleration of all active particles, measured in studs per second squared.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Acceleration)
     */
    Acceleration: Vector3;
    /**
     * Scales the light emitted from the emitter when `ParticleEmitter.LightInfluence` is 0.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Brightness)
     */
    Brightness: number;
    /**
     * Determines the color of all active particles over their individual lifetimes.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Color)
     */
    Color: ColorSequence;
    /**
     * Determines the rate at which particles will lose half their speed through exponential decay.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Drag)
     */
    Drag: number;
    /**
     * Determines the face of the object that particles emit from.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#EmissionDirection)
     */
    EmissionDirection: Enum.NormalId;
    /**
     * Determines if particles emit from the emitter.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Enabled)
     */
    Enabled: boolean;
    /**
     * Determines whether the flipbook frames are blended between.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#FlipbookBlendFrames)
     */
    FlipbookBlendFrames: boolean;
    /**
     * Determines how fast the flipbook texture animates in frames per second.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#FlipbookFramerate)
     */
    FlipbookFramerate: NumberRange;
    /**
     * The error message to display if the `Texture` is incompatible for a flipbook.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#FlipbookIncompatible)
     */
    FlipbookIncompatible: string;
    /**
     * Determines the layout of the flipbook texture. Must be None, Grid2x2, Grid4x4, Grid8x8 or Custom.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#FlipbookLayout)
     */
    FlipbookLayout: Enum.ParticleFlipbookLayout;
    /**
     * Determines the type of the flipbook animation. Must be Loop, OneShot, PingPong, or Random.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#FlipbookMode)
     */
    FlipbookMode: Enum.ParticleFlipbookMode;
    /**
     * Defines the number of horizontal frames in a custom flipbook layout.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#FlipbookSizeX)
     */
    FlipbookSizeX: number;
    /**
     * Defines the number of vertical frames in a custom flipbook layout.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#FlipbookSizeY)
     */
    FlipbookSizeY: number;
    /**
     * Determines whether the animation starts at a random frame chosen per particle instead of always starting at frame zero.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#FlipbookStartRandom)
     */
    FlipbookStartRandom: boolean;
    /**
     * Defines a random range of ages for newly emitted particles.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Lifetime)
     */
    Lifetime: NumberRange;
    /**
     * Determines how much particles' colors are blended with the colors behind them.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#LightEmission)
     */
    LightEmission: number;
    /**
     * Determines how much particles are influenced by the environmental light.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#LightInfluence)
     */
    LightInfluence: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#LocalTransparencyModifier)
     */
    LocalTransparencyModifier: number;
    /**
     * Determines whether the particles rigidly move with the part they're being emitted from.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#LockedToPart)
     */
    LockedToPart: boolean;
    /**
     * Specifies how to orient particles.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Orientation)
     */
    Orientation: Enum.ParticleOrientation;
    /**
     * Determines the number of particles emitted per second.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Rate)
     */
    Rate: number;
    /**
     * Determines the range of angular speeds of emitted particles, measured in degrees per second.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#RotSpeed)
     */
    RotSpeed: NumberRange;
    /**
     * Determines the range of rotations in degrees for newly emitted particles.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Rotation)
     */
    Rotation: NumberRange;
    /**
     * Sets the shape of the emitter to either a box, sphere, cylinder, or disc.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Shape)
     */
    Shape: Enum.ParticleEmitterShape;
    /**
     * Sets whether particles emit outward only, inward only, or in both directions.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#ShapeInOut)
     */
    ShapeInOut: Enum.ParticleEmitterShapeInOut;
    /**
     * Influences particle emission from cylinder, disc, sphere, and box shapes.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#ShapePartial)
     */
    ShapePartial: number;
    /**
     * Sets particle emission to either volumetric or surface-only emission.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#ShapeStyle)
     */
    ShapeStyle: Enum.ParticleEmitterShapeStyle;
    /**
     * Determines the world size over individual particles' lifetimes.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Size)
     */
    Size: NumberSequence;
    /**
     * Determines a random range of velocities (minimum to maximum) at which new particles will emit, measured in studs per second.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Speed)
     */
    Speed: NumberRange;
    /**
     * Determines the angles at which particles may be randomly emit, measured in degrees.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#SpreadAngle)
     */
    SpreadAngle: Vector2;
    /**
     * Allows for non-uniform scaling of particles, curve-controlled over their lifetime.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Squash)
     */
    Squash: NumberSequence;
    /**
     * Determines the image rendered on particles.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Texture)
     */
    Texture: ContentId;
    /**
     * Value between 0 and 1 that controls the speed of the particle effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#TimeScale)
     */
    TimeScale: number;
    /**
     * Determines the transparency of particles over their individual lifetimes.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Transparency)
     */
    Transparency: NumberSequence;
    /**
     * Determines how much of the parent's velocity is inherited by particles when emitted.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#VelocityInheritance)
     */
    VelocityInheritance: number;
    /**
     * **Deprecated:** This property has been superseded by `ParticleEmitter.SpreadAngle` which should be used in all new work.
     *
     * Determines how offset a particle can be fired from the local emitter direction of its parent.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#VelocitySpread)
     *
     * @deprecated SpreadAngle
     */
    VelocitySpread: number;
    /**
     * Whether emitted particles follow the `Workspace.GlobalWind` vector.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#WindAffectsDrag)
     */
    WindAffectsDrag: boolean;
    /**
     * Determines the forward-backward render position of particles; used to control what particles render on top/bottom.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#ZOffset)
     */
    ZOffset: number;
    /**
     * Clears all particles that have been emitted.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Clear)
     * @param this A special object that emits customizable 2D particles into the world.
     */
    Clear(this: ParticleEmitter): void;
    /**
     * Emits a given number of particles.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#Emit)
     * @param this A special object that emits customizable 2D particles into the world.
     * @param particleCount The number of particles to emit.
     */
    Emit(this: ParticleEmitter, particleCount?: number): void;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#OnClearRequested)
     */
    readonly OnClearRequested: RBXScriptSignal<() => void>;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ParticleEmitter#OnEmitRequested)
     */
    readonly OnEmitRequested: RBXScriptSignal<(particleCount: number) => void>;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PartyEmulatorService)
 */
interface PartyEmulatorService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PartyEmulatorService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PatchBundlerFileWatch)
 */
interface PatchBundlerFileWatch extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PatchBundlerFileWatch: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PatchMapping)
 */
interface PatchMapping extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PatchMapping: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PatchMapping#FlattenTree)
     */
    FlattenTree: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PatchMapping#PatchId)
     */
    PatchId: string;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PatchMapping#TargetPath)
     */
    TargetPath: string;
}
/**
 * Stores the result of paths created by `PathfindingService:CreatePath()`.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path)
 */
interface Path extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Path: unique symbol;
    /**
     * The success of the generated `Path`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path#Status)
     */
    readonly Status: Enum.PathStatus;
    /**
     * **Deprecated:** This item has been superseded by `Path:GetWaypoints()` which should be used in all new work instead.
     *
     * Returns a table of `Path` instances.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path#GetPointCoordinates)
     * @param this Stores the result of paths created by `PathfindingService:CreatePath()`.
     *
     * @deprecated GetWaypoints
     */
    GetPointCoordinates(this: Path): Array<unknown>;
    /**
     * Returns an array of points in the path.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path#GetWaypoints)
     * @param this Stores the result of paths created by `PathfindingService:CreatePath()`.
     * @returns An array of `PathWaypoints` ordered from path start to path end.
     */
    GetWaypoints(this: Path): Array<PathWaypoint>;
    /**
     * Checks if a path is blocked starting at a specific waypoint.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path#CheckOcclusionAsync)
     * @param this Stores the result of paths created by `PathfindingService:CreatePath()`.
     * @param start
     */
    CheckOcclusionAsync(this: Path, start: number): number;
    /**
     * Computes a `Path` from a start position to an end position.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path#ComputeAsync)
     * @param this Stores the result of paths created by `PathfindingService:CreatePath()`.
     * @param start The world position where the computed path begins.
     * @param finish The world position where the computed path finishes.
     */
    ComputeAsync(this: Path, start: Vector3, finish: Vector3): void;
    /**
     * Fires when the computed path becomes blocked.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path#Blocked)
     */
    readonly Blocked: RBXScriptSignal<(blockedWaypointIdx: number) => void>;
    /**
     * Fires when a computed path that was blocked becomes unblocked.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Path#Unblocked)
     */
    readonly Unblocked: RBXScriptSignal<(unblockedWaypointIdx: number) => void>;
}
/**
 * Connects two locations which otherwise by default are unconnected.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PathfindingLink)
 */
interface PathfindingLink extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PathfindingLink: unique symbol;
    /**
     * The originating attachment of the link.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PathfindingLink#Attachment0)
     */
    Attachment0: Attachment | undefined;
    /**
     * The landing attachment of the link.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PathfindingLink#Attachment1)
     */
    Attachment1: Attachment | undefined;
    /**
     * Enables a path to traverse a link in both directions. The default value is `true`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PathfindingLink#IsBidirectional)
     */
    IsBidirectional: boolean;
    /**
     * A classifying string to add additional information about the link. This Label is included in the waypoint generated by this link.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PathfindingLink#Label)
     */
    Label: string;
}
/**
 * Modifiers used to represent space that has a higher or lower cost to be traversed when creating paths using the `PathfindingService`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PathfindingModifier)
 */
interface PathfindingModifier extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PathfindingModifier: unique symbol;
    /**
     * The name of the navigation area inside or on top of the `Part` volume.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PathfindingModifier#Label)
     */
    Label: string;
    /**
     * Determines if the parts enclosed by the modifier are traversable, even if they would normally be collided with.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PathfindingModifier#PassThrough)
     */
    PassThrough: boolean;
}
/**
 * Used to find logical paths between two points.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PathfindingService)
 */
interface PathfindingService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PathfindingService: unique symbol;
    /**
     * **Deprecated:** This property is deprecated, since the legacy pathfinding system using it has since been removed. Do not use it for new work.
     *
     * Sets the percent of a voxel has to be occupied to be considered empty. Defaults to 0.16.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PathfindingService#EmptyCutoff)
     *
     * @deprecated
     */
    EmptyCutoff: number;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PathfindingService#CreatePath)
     * @param this Used to find logical paths between two points.
     * @param agentParameters Luau table which lets you fine-tune the path for the size of the agent (the humanoid that will move along the path). See above for valid keys, types, and descriptions.
     * @returns A `Path` object.
     */
    CreatePath(this: PathfindingService, agentParameters?: AgentParameters): Path;
    /**
     * **Deprecated:** This item has been superseded by `PathfindingService:FindPathAsync()` which should be used in all new work instead.
     *
     * Computes and returns a `Path` between two `Vector3s`. If the given MaxDistance is greater than 512, an error will be thrown. (MaxDistance is too large).
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PathfindingService#ComputeRawPathAsync)
     * @param this Used to find logical paths between two points.
     * @param start
     * @param finish
     * @param maxDistance
     * @returns A `Path` object.
     *
     * @deprecated FindPathAsync
     */
    ComputeRawPathAsync(this: PathfindingService, start: Vector3, finish: Vector3, maxDistance: number): Path;
    /**
     * **Deprecated:** This item has been superseded by `PathfindingService:FindPathAsync()` which should be used in all new work instead.
     *
     * Computes and returns a smooth `Path` between two `Vector3s`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PathfindingService#ComputeSmoothPathAsync)
     * @param this Used to find logical paths between two points.
     * @param start
     * @param finish
     * @param maxDistance
     *
     * @deprecated FindPathAsync
     */
    ComputeSmoothPathAsync(this: PathfindingService, start: Vector3, finish: Vector3, maxDistance: number): Path;
    /**
     * Finds a `Path` between the two provided points.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PathfindingService#FindPathAsync)
     * @param this Used to find logical paths between two points.
     * @param start Path start coordinates.
     * @param finish Path finish coordinates.
     * @returns A `Path` object.
     */
    FindPathAsync(this: PathfindingService, start: Vector3, finish: Vector3): Path;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PausedState)
 */
interface PausedState extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PausedState: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PausedStateBreakpoint)
 */
interface PausedStateBreakpoint extends PausedState {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PausedStateBreakpoint: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PausedStateException)
 */
interface PausedStateException extends PausedState {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PausedStateException: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PerformanceControlService)
 */
interface PerformanceControlService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PerformanceControlService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PhysicsService)
 */
interface PhysicsService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PhysicsService: unique symbol;
    /**
     * **Deprecated:** This method has been deprecated. It's recommended that you query a part's collision group through its `CollisionGroup` property.
     *
     * Returns whether the part is in the collision group.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PhysicsService#CollisionGroupContainsPart)
     * @param this
     * @param name
     * @param part
     *
     * @deprecated CollisionGroup
     */
    CollisionGroupContainsPart(this: PhysicsService, name: string, part: BasePart): boolean;
    /**
     * Sets the collision status between two groups.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PhysicsService#CollisionGroupSetCollidable)
     * @param this
     * @param name1
     * @param name2
     * @param collidable
     */
    CollisionGroupSetCollidable(this: PhysicsService, name1: string, name2: string, collidable: boolean): void;
    /**
     * Returns whether the two groups will collide.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PhysicsService#CollisionGroupsAreCollidable)
     * @param this
     * @param name1
     * @param name2
     */
    CollisionGroupsAreCollidable(this: PhysicsService, name1: string, name2: string): boolean;
    /**
     * **Deprecated:** This method has been superseded by `RegisterCollisionGroup()` which should be used for all new work.
     *
     * Creates a new collision group with the given name, and returns the ID of the created group.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PhysicsService#CreateCollisionGroup)
     * @param this
     * @param name
     *
     * @deprecated RegisterCollisionGroup
     */
    CreateCollisionGroup(this: PhysicsService, name: string): number;
    /**
     * **Deprecated:** This method has been deprecated. It's recommended that you query collision groups by **name** through a part's `CollisionGroup` property.
     *
     * Returns the ID of the collision group with the specified name.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PhysicsService#GetCollisionGroupId)
     * @param this
     * @param name The name of the collision group being retrieved.
     * @returns The ID of the retrieved collision group, or `nil` if no such group exists.
     *
     * @deprecated CollisionGroup
     */
    GetCollisionGroupId(this: PhysicsService, name: string): number;
    /**
     * **Deprecated:** This method has been deprecated. It's recommended that you query collision groups by **name** through a part's `CollisionGroup` property.
     *
     * Returns the name of the group with the corresponding ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PhysicsService#GetCollisionGroupName)
     * @param this
     * @param name
     *
     * @deprecated CollisionGroup
     */
    GetCollisionGroupName(this: PhysicsService, name: number): string;
    /**
     * **Deprecated:** This method has been superseded by `GetRegisteredCollisionGroups()` which should be used for all new work.
     *
     * Returns a table with info on all of the place's collision groups.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PhysicsService#GetCollisionGroups)
     * @param this
     *
     * @deprecated GetRegisteredCollisionGroups
     */
    GetCollisionGroups(this: PhysicsService): Array<CollisionGroupInfo & {
        id: number;
    }>;
    /**
     * Returns the maximum number of collision groups.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PhysicsService#GetMaxCollisionGroups)
     * @param this
     */
    GetMaxCollisionGroups(this: PhysicsService): number;
    /**
     * Returns a table with info on all of the place's collision groups.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PhysicsService#GetRegisteredCollisionGroups)
     * @param this
     */
    GetRegisteredCollisionGroups(this: PhysicsService): Array<CollisionGroupInfo>;
    /**
     * Checks if a collision group is registered.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PhysicsService#IsCollisionGroupRegistered)
     * @param this
     * @param name
     */
    IsCollisionGroupRegistered(this: PhysicsService, name: string): boolean;
    /**
     * Registers a new collision group with the given name.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PhysicsService#RegisterCollisionGroup)
     * @param this
     * @param name
     */
    RegisterCollisionGroup(this: PhysicsService, name: string): void;
    /**
     * **Deprecated:** This method has been superseded by `UnregisterCollisionGroup()` which should be used for all new work.
     *
     * Removes the collision group with the given name.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PhysicsService#RemoveCollisionGroup)
     * @param this
     * @param name
     *
     * @deprecated UnregisterCollisionGroup
     */
    RemoveCollisionGroup(this: PhysicsService, name: string): void;
    /**
     * Renames specified collision group.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PhysicsService#RenameCollisionGroup)
     * @param this
     * @param from
     * @param to
     */
    RenameCollisionGroup(this: PhysicsService, from: string, to: string): void;
    /**
     * **Deprecated:** This method has been deprecated. It's recommended that you set a part's collision group by **name** through its `CollisionGroup` property.
     *
     * Sets the collision group of a part.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PhysicsService#SetPartCollisionGroup)
     * @param this
     * @param part The part being set.
     * @param name The name of collision group that the part's collision group is being set to.
     *
     * @deprecated CollisionGroup
     */
    SetPartCollisionGroup(this: PhysicsService, part: BasePart, name: string): void;
    /**
     * Unregisters the collision group for the given name.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PhysicsService#UnregisterCollisionGroup)
     * @param this
     * @param name
     */
    UnregisterCollisionGroup(this: PhysicsService, name: string): void;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlaceAssetIdsService)
 */
interface PlaceAssetIdsService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlaceAssetIdsService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlaceStatsService)
 */
interface PlaceStatsService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlaceStatsService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlacesService)
 */
interface PlacesService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlacesService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlatformCloudStorageService)
 */
interface PlatformCloudStorageService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlatformCloudStorageService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlatformFriendsService)
 */
interface PlatformFriendsService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlatformFriendsService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlatformLibraries)
 */
interface PlatformLibraries extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlatformLibraries: unique symbol;
}
/**
 * An object that represents a presently connected client to the experience.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player)
 */
interface Player extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Player: unique symbol;
    /**
     * Describes the player's account age in days.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#AccountAge)
     */
    readonly AccountAge: number;
    /**
     * Determines whether the character of a player using a mobile device will automatically jump upon hitting an obstacle.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#AutoJumpEnabled)
     */
    AutoJumpEnabled: boolean;
    /**
     * The maximum distance the player's camera is allowed to zoom out.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#CameraMaxZoomDistance)
     */
    CameraMaxZoomDistance: number;
    /**
     * The minimum distance the player's camera is allowed to zoom in.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#CameraMinZoomDistance)
     */
    CameraMinZoomDistance: number;
    /**
     * Changes the camera's mode to either first or third person.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#CameraMode)
     */
    CameraMode: Enum.CameraMode;
    /**
     * Determines whether the character's appearance will be loaded when the player spawns. If `false`, the player will spawn with a default appearance.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#CanLoadCharacterAppearance)
     */
    CanLoadCharacterAppearance: boolean;
    /**
     * A `Model` controlled by the player that contains a `Humanoid`, body parts, scripts, and other objects.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#Character)
     */
    Character: Model | undefined;
    /**
     * **Deprecated:** This item is deprecated. Do not use it for new work.
     *
     * The URL of the asset containing the character's appearance, clothing, and gear.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotBrowsable
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#CharacterAppearance)
     *
     * @deprecated CharacterAppearanceId
     */
    CharacterAppearance: string;
    /**
     * Determines the user ID of the account whose character appearance is used for a player's `Character`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#CharacterAppearanceId)
     */
    CharacterAppearanceId: number;
    /**
     * **Deprecated:** This item is deprecated, as it may have been used for a now obsolete data persistence method. Please save and load player data using `DataStoreService` for new work.
     *
     * The total amount of data currently being stored in the player's cache on the current place.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#DataComplexity)
     *
     * @deprecated
     */
    readonly DataComplexity: number;
    /**
     * **Deprecated:** This item is deprecated, as it may have been used for a now obsolete data persistence method. Please save and load player data using `DataStoreService` for new work.
     *
     * Indicates when the player's data is available to load.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#DataReady)
     *
     * @deprecated
     */
    readonly DataReady: boolean;
    /**
     * Sets how the default camera handles objects between the camera and the player.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#DevCameraOcclusionMode)
     */
    DevCameraOcclusionMode: Enum.DevCameraOcclusionMode;
    /**
     * Determines player's camera movement mode when using a device with a mouse and keyboard.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#DevComputerCameraMode)
     */
    DevComputerCameraMode: Enum.DevComputerCameraMovementMode;
    /**
     * Determines player's character movement mode when using a device with a mouse and keyboard.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#DevComputerMovementMode)
     */
    DevComputerMovementMode: Enum.DevComputerMovementMode;
    /**
     * Determines if the player can toggle mouse lock.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#DevEnableMouseLock)
     */
    DevEnableMouseLock: boolean;
    /**
     * Determines player's camera movement mode when using a touch-enabled device.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#DevTouchCameraMode)
     */
    DevTouchCameraMode: Enum.DevTouchCameraMovementMode;
    /**
     * Determines player's character movement mode when using a touch-enabled device.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#DevTouchMovementMode)
     */
    DevTouchMovementMode: Enum.DevTouchMovementMode;
    /**
     * The display name of the authenticated user associated with the `Player`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#DisplayName)
     */
    DisplayName: string;
    /**
     * Describes the user ID of the player who was followed into an experience by a player.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#FollowUserId)
     */
    readonly FollowUserId: number;
    /**
     * Whether player client-side gameplay is currently paused.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#GameplayPaused)
     */
    get GameplayPaused(): boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#HasRobloxSubscription)
     */
    get HasRobloxSubscription(): boolean;
    /**
     * Indicates if a player has a **Verified** badge.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#HasVerifiedBadge)
     */
    HasVerifiedBadge: boolean;
    /**
     * Sets the distance at which this player will see other players' health bars.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#HealthDisplayDistance)
     */
    HealthDisplayDistance: number;
    /**
     * This property shows the locale ID that the local player has set for their Roblox account.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#LocaleId)
     */
    readonly LocaleId: string;
    /**
     * Describes the account's membership type.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#MembershipType)
     */
    readonly MembershipType: Enum.MembershipType;
    /**
     * Sets the distance at which this player will see other players' names.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#NameDisplayDistance)
     */
    NameDisplayDistance: number;
    /**
     * Determines whether the player is on a specific team.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#Neutral)
     */
    Neutral: boolean;
    /**
     * A unique identifier of the party a `Player` belongs to.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#PartyId)
     */
    get PartyId(): string;
    /**
     * Sets the part to focus replication around.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#ReplicationFocus)
     */
    ReplicationFocus: BasePart | undefined;
    /**
     * If set, the player will respawn at the given `SpawnLocation`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#RespawnLocation)
     */
    RespawnLocation: SpawnLocation | undefined;
    /**
     * Determines the `Team` with which the player is associated.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#Team)
     */
    Team: Team | undefined;
    /**
     * Determines the `Team` with which the player is associated with according to that team's `Team.TeamColor`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#TeamColor)
     */
    TeamColor: BrickColor;
    /**
     * A unique identifying integer assigned to all user accounts.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#UserId)
     */
    readonly UserId: number;
    /**
     * Adds an additional replication focus for the player.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#AddReplicationFocus)
     * @param this An object that represents a presently connected client to the experience.
     * @param part The `BasePart` to use as a new replication focus.
     */
    AddReplicationFocus(this: Player, part: BasePart): void;
    /**
     * Removes all accessories and other character appearance objects from a player's `Character`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#ClearCharacterAppearance)
     * @param this An object that represents a presently connected client to the experience.
     */
    ClearCharacterAppearance(this: Player): void;
    /**
     * Returns the distance between the character's head and the given `Vector3`, or `0` if the player has no character.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#DistanceFromCharacter)
     * @param this An object that represents a presently connected client to the experience.
     * @param point The location from which player's distance to is being measured.
     * @returns The distance in studs between the player and the location.
     */
    DistanceFromCharacter(this: Player, point: Vector3): number;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#GetData)
     */
    GetData(this: Player): PlayerData;
    /**
     * Returns a dictionary containing information describing how the player joins the experience.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#GetJoinData)
     * @param this An object that represents a presently connected client to the experience.
     * @returns A dictionary containing PlaceId and UserId values (see table in description).
     */
    GetJoinData(this: Player): PlayerJoinInfo;
    /**
     * Returns the mouse being used by the client.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#GetMouse)
     * @param this An object that represents a presently connected client to the experience.
     */
    GetMouse(this: Player): PlayerMouse;
    /**
     * Returns the round-trip, isolated network latency in seconds.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#GetNetworkPing)
     * @param this An object that represents a presently connected client to the experience.
     */
    GetNetworkPing(this: Player): number;
    /**
     * Returns whether or not the appearance of the player's character has loaded.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#HasAppearanceLoaded)
     * @param this An object that represents a presently connected client to the experience.
     * @returns A boolean indicating whether or not the appearance of the player's character has loaded.
     */
    HasAppearanceLoaded(this: Player): boolean;
    /**
     * Returns whether the player is verified with concrete, real-world signals.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#IsVerified)
     * @param this An object that represents a presently connected client to the experience.
     * @returns A boolean indicating whether the player is verified.
     */
    IsVerified(this: Player): boolean;
    /**
     * Forcibly disconnect a player from the experience, optionally providing a message.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#Kick)
     * @param this An object that represents a presently connected client to the experience.
     * @param message The message to show the user upon kicking.
     */
    Kick(this: Player, message?: string): void;
    /**
     * **Deprecated:** This item is deprecated, as it may have been used for a now obsolete data persistence method. Please save and load player data using `DataStoreService` for new work.
     *
     * Returns a boolean value that was previously saved to the player with `Player:SaveBoolean()` with the same key.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#LoadBoolean)
     * @param this An object that represents a presently connected client to the experience.
     * @param key
     *
     * @deprecated
     */
    LoadBoolean(this: Player, key: string): boolean;
    /**
     * **Deprecated:**
     *
     * Places the given instance either in the player's character, head, or StarterGear based on the instance's class.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#LoadCharacterAppearance)
     * @param this An object that represents a presently connected client to the experience.
     * @param assetInstance An instance of the asset being loaded, which can be obtained using the `InsertService:LoadAsset()` function.
     *
     * @deprecated
     */
    LoadCharacterAppearance(this: Player, assetInstance: Instance): void;
    /**
     * **Deprecated:** This item is deprecated, as it may have been used for a now obsolete data persistence method. Please save and load player data using `DataStoreService` for new work.
     *
     * Returns an instance that was previously saved to the player with `Player:SaveInstance()` with the same key.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#LoadInstance)
     * @param this An object that represents a presently connected client to the experience.
     * @param key
     *
     * @deprecated
     */
    LoadInstance(this: Player, key: string): Instance | undefined;
    /**
     * **Deprecated:** This item is deprecated, as it may have been used for a now obsolete data persistence method. Please save and load player data using `DataStoreService` for new work.
     *
     * Returns a number value that was previously saved to the player.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#LoadNumber)
     * @param this An object that represents a presently connected client to the experience.
     * @param key
     *
     * @deprecated
     */
    LoadNumber(this: Player, key: string): number;
    /**
     * **Deprecated:** This item is deprecated, as it may have been used for a now obsolete data persistence method. Please save and load player data using `DataStoreService` for new work.
     *
     * Returns a string value that was previously saved to the player.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#LoadString)
     * @param this An object that represents a presently connected client to the experience.
     * @param key
     *
     * @deprecated
     */
    LoadString(this: Player, key: string): string;
    /**
     * Causes the player's character to walk in the given direction until stopped, or interrupted by the player (by using their controls).
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#Move)
     * @param this An object that represents a presently connected client to the experience.
     * @param walkDirection The Vector3 direction that the player should move.
     * @param relativeToCamera A boolean indicating whether the player should move relative to the player's camera.
     */
    Move(this: Player, walkDirection: Vector3, relativeToCamera?: boolean): void;
    /**
     * Removes a previously added replication focus.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#RemoveReplicationFocus)
     * @param this An object that represents a presently connected client to the experience.
     * @param part The `BasePart` to remove as a replication focus.
     */
    RemoveReplicationFocus(this: Player, part: BasePart): void;
    /**
     * **Deprecated:** This item is deprecated, as it may have been used for a now obsolete data persistence method. Please save and load player data using `DataStoreService` for new work.
     *
     * Used to save a boolean value that can be loaded again at a later time using `Player:LoadBoolean()`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#SaveBoolean)
     * @param this An object that represents a presently connected client to the experience.
     * @param key
     * @param value
     *
     * @deprecated
     */
    SaveBoolean(this: Player, key: string, value: boolean): void;
    /**
     * **Deprecated:** This item is deprecated, as it may have been used for a now obsolete data persistence method. Please save and load player data using `DataStoreService` for new work.
     *
     * Saves an instance which can be loaded again at a later time.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#SaveInstance)
     * @param this An object that represents a presently connected client to the experience.
     * @param key
     * @param value
     *
     * @deprecated
     */
    SaveInstance(this: Player, key: string, value: Instance): void;
    /**
     * **Deprecated:** This item is deprecated, as it may have been used for a now obsolete data persistence method. Please save and load player data using `DataStoreService` for new work.
     *
     * Saves a number value that can be loaded again at a later time using.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#SaveNumber)
     * @param this An object that represents a presently connected client to the experience.
     * @param key
     * @param value
     *
     * @deprecated
     */
    SaveNumber(this: Player, key: string, value: number): void;
    /**
     * **Deprecated:** This item is deprecated, as it may have been used for a now obsolete data persistence method. Please save and load player data using `DataStoreService` for new work.
     *
     * Saves a string value that can be loaded again at a later time.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#SaveString)
     * @param this An object that represents a presently connected client to the experience.
     * @param key
     * @param value
     *
     * @deprecated
     */
    SaveString(this: Player, key: string, value: string): void;
    /**
     * **Deprecated:** This method has been superseded by `GetFriendsOnlineAsync()`.
     *
     * Returns a dictionary of online connections. Returns the product information of an asset using its asset ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#GetFriendsOnline)
     * @param this An object that represents a presently connected client to the experience.
     * @param maxFriends The maximum number of online connections to return.
     * @returns A dictionary of online connections (see the table above).
     *
     * @deprecated GetFriendsOnlineAsync
     */
    GetFriendsOnline(this: Player, maxFriends?: number): Array<FriendOnlineInfo>;
    /**
     * Returns a dictionary of online connections.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#GetFriendsOnlineAsync)
     * @param this An object that represents a presently connected client to the experience.
     * @param maxFriends The maximum number of online connections to return.
     * @returns A dictionary of online connections (see the table above).
     */
    GetFriendsOnlineAsync(this: Player, maxFriends?: number): Array<unknown>;
    /**
     * **Deprecated:**
     *
     * Returns the player's rank in the group as an integer.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#GetRankInGroup)
     * @param this An object that represents a presently connected client to the experience.
     * @param groupId The `groupId` of the specified group.
     * @returns The player's rank in the group.
     *
     * @deprecated GetRankInGroupAsync
     */
    GetRankInGroup(this: Player, groupId: number): number;
    /**
     * Returns the player's rank in the group as an integer.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#GetRankInGroupAsync)
     * @param this An object that represents a presently connected client to the experience.
     * @param groupId The `groupId` of the specified group.
     * @returns The player's rank in the group.
     */
    GetRankInGroupAsync(this: Player, groupId: number): number;
    /**
     * **Deprecated:** This method has been superseded by `GetRoleInGroup()`.
     *
     * Returns the player's role in the group as a string, or `Guest` if the player isn't part of the group.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#GetRoleInGroup)
     * @param this An object that represents a presently connected client to the experience.
     * @param groupId The group ID of the specified group.
     * @returns The player's role in the specified group, or `Guest` if the player is not a member.
     *
     * @deprecated GetRoleInGroupAsync
     */
    GetRoleInGroup(this: Player, groupId: number): string;
    /**
     * Returns the player's role in the group as a string, or `Guest` if the player isn't part of the group.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#GetRoleInGroupAsync)
     * @param this An object that represents a presently connected client to the experience.
     * @param groupId The group ID of the specified group.
     * @returns The player's role in the specified group, or `Guest` if the player is not a member.
     */
    GetRoleInGroupAsync(this: Player, groupId: number): string;
    /**
     * **Deprecated:** This function is obsolete because the "best friends" feature was removed. Use `Player:IsFriendsWithAsync()` instead.
     *
     * Returns whether a player is connections with the specified user.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#IsBestFriendsWith)
     * @param this An object that represents a presently connected client to the experience.
     * @param userId
     *
     * @deprecated
     */
    IsBestFriendsWith(this: Player, userId: number): boolean;
    /**
     * **Deprecated:** This method has been superseded by the `Player:IsFriendsWithAsync()` method which should be used for new work.
     *
     * Checks whether a player is a connection of the user with the given `Player.UserId`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#IsFriendsWith)
     * @param this An object that represents a presently connected client to the experience.
     * @param userId The `Player.UserId` of the specified player.
     * @returns A boolean indicating whether a player is a connection of the specified user.
     *
     * @deprecated IsFriendsWithAsync
     */
    IsFriendsWith(this: Player, userId: number): boolean;
    /**
     * Checks whether a player is a connection of the user with the given `Player.UserId`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#IsFriendsWithAsync)
     * @param this An object that represents a presently connected client to the experience.
     * @param userId The `Player.UserId` of the specified player.
     * @returns A boolean indicating whether a player is a connection of the specified user.
     */
    IsFriendsWithAsync(this: Player, userId: number): boolean;
    /**
     * **Deprecated:** This method has been superseded by `IsInGroupAsync()`.
     *
     * Checks whether a player is a member of a group with the given ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#IsInGroup)
     * @param this An object that represents a presently connected client to the experience.
     * @param groupId The group ID of the specified group.
     * @returns A boolean indicating whether the player is in the specified group.
     *
     * @deprecated IsInGroupAsync
     */
    IsInGroup(this: Player, groupId: number): boolean;
    /**
     * Checks whether a player is a member of a group with the given ID.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#IsInGroupAsync)
     * @param this An object that represents a presently connected client to the experience.
     * @param groupId The group ID of the specified group.
     * @returns A boolean indicating whether the player is in the specified group.
     */
    IsInGroupAsync(this: Player, groupId: number): boolean;
    /**
     * **Deprecated:** This method has been superseded by `LoadCharacterAsync()`.
     *
     * Creates a new character for the player, removing the old one. Also clears the player's `Backpack` and `PlayerGui`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#LoadCharacter)
     * @param this An object that represents a presently connected client to the experience.
     *
     * @deprecated LoadCharacterAsync
     */
    LoadCharacter(this: Player): void;
    /**
     * Creates a new character for the player, removing the old one. Also clears the player's `Backpack` and `PlayerGui`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#LoadCharacterAsync)
     * @param this An object that represents a presently connected client to the experience.
     */
    LoadCharacterAsync(this: Player): void;
    /**
     * **Deprecated:** This method has been superseded by `LoadCharacterWithHumanoidDescriptionAsync()`.
     *
     * Spawns a player character with everything equipped in the passed in `HumanoidDescription`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#LoadCharacterWithHumanoidDescription)
     * @param this An object that represents a presently connected client to the experience.
     * @param humanoidDescription A `HumanoidDescription` containing traits like body parts/colors, body scaling, accessories, clothing, and animations that will be equipped to the loaded character.
     * @param assetTypeVerification The asset type verification mode.
     *
     * @deprecated LoadCharacterWithHumanoidDescriptionAsync
     */
    LoadCharacterWithHumanoidDescription(this: Player, humanoidDescription: HumanoidDescription): void;
    /**
     * Spawns a player character with everything equipped in the passed in `HumanoidDescription`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#LoadCharacterWithHumanoidDescriptionAsync)
     * @param this An object that represents a presently connected client to the experience.
     * @param humanoidDescription A `HumanoidDescription` containing traits like body parts/colors, body scaling, accessories, clothing, and animations that will be equipped to the loaded character.
     * @param assetTypeVerification The asset type verification mode.
     */
    LoadCharacterWithHumanoidDescriptionAsync(this: Player, humanoidDescription: HumanoidDescription, assetTypeVerification?: CastsToEnum<Enum.AssetTypeVerification>): void;
    /**
     * Requests that the server stream to the player around the specified location.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#RequestStreamAroundAsync)
     * @param this An object that represents a presently connected client to the experience.
     * @param position World location where streaming is requested.
     * @param timeOut Optional timeout for the request, the maximum duration that the engine attempts to stream regions around the `position` parameter before abandoning the request. If you don't specify a value, the timeout is effectively infinite. However, if the client is low on memory, the engine abandons all streaming requests, even those that are still within the timeout duration.
     */
    RequestStreamAroundAsync(this: Player, position: Vector3, timeOut?: number): void;
    /**
     * **Deprecated:** This item is deprecated, as it may have been used for a now obsolete data persistence method. Please save and load player data using `DataStoreService` for new work.
     *
     * Used to pause the script until the player's data is available to manipulate, or until a certain amount of time has elapsed without fetching the player's data.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#WaitForDataReady)
     * @param this An object that represents a presently connected client to the experience.
     *
     * @deprecated
     */
    WaitForDataReady(this: Player): boolean;
    /**
     * Fires when a player's character spawns or respawns.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#CharacterAdded)
     */
    readonly CharacterAdded: RBXScriptSignal<(character: Model) => void>;
    /**
     * Fires when the full appearance of a `Character` has been inserted.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#CharacterAppearanceLoaded)
     */
    readonly CharacterAppearanceLoaded: RBXScriptSignal<(character: Model) => void>;
    /**
     * Fires right before a player's character is removed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#CharacterRemoving)
     */
    readonly CharacterRemoving: RBXScriptSignal<(character: Model) => void>;
    /**
     * Fires when a player chats in experience using Roblox's provided chat bar.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#Chatted)
     */
    readonly Chatted: RBXScriptSignal<(message: string, recipient?: Player) => void>;
    /**
     * This event fires approximately two minutes after the engine classifies the player as idle. Time is the number of seconds that have elapsed since that point.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#Idled)
     */
    readonly Idled: RBXScriptSignal<(time: number) => void>;
    /**
     * Fires when the teleport state of a player changes.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Player#OnTeleport)
     */
    readonly OnTeleport: RBXScriptSignal<(teleportState: Enum.TeleportState, placeId: number, spawnName: string) => void>;
    readonly Name: string;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerData)
 */
interface PlayerData extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlayerData: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerData#GetPlayer)
     */
    GetPlayer(this: PlayerData): Player;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerData#GetRecordAsync)
     */
    GetRecordAsync(this: PlayerData, recordName?: string): PlayerDataRecord;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord)
 */
interface PlayerDataRecord extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlayerDataRecord: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#CreatedTime)
     */
    readonly CreatedTime: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#DefaultRecordName)
     */
    readonly DefaultRecordName: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#Dirty)
     */
    readonly Dirty: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#Error)
     */
    readonly Error: Enum.PlayerDataErrorState;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#FlushedTime)
     */
    readonly FlushedTime: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#LoadedTime)
     */
    readonly LoadedTime: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#ModifiedTime)
     */
    readonly ModifiedTime: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#NewRecord)
     */
    readonly NewRecord: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#Readable)
     */
    readonly Readable: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#RecordName)
     */
    readonly RecordName: string;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#Writable)
     */
    readonly Writable: boolean;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#GetPlayer)
     */
    GetPlayer(this: PlayerDataRecord): Player;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#GetValue)
     */
    GetValue(this: PlayerDataRecord, key: string): unknown;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#GetValueChangedSignal)
     */
    GetValueChangedSignal(this: PlayerDataRecord, key: string): RBXScriptSignal;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#RemoveValue)
     */
    RemoveValue(this: PlayerDataRecord, key: string): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#SetValue)
     */
    SetValue(this: PlayerDataRecord, key: string, value: unknown): void;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#ReleaseAsync)
     */
    ReleaseAsync(this: PlayerDataRecord): void;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#RequestFlushAsync)
     */
    RequestFlushAsync(this: PlayerDataRecord): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#Changed)
     */
    readonly Changed: RBXScriptSignal<(key: string, value: unknown) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#Flushed)
     */
    readonly Flushed: RBXScriptSignal<(flushState: boolean, error?: string) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecord#Loaded)
     */
    readonly Loaded: RBXScriptSignal<(success: boolean, error?: string) => void>;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecordConfig)
 */
interface PlayerDataRecordConfig extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlayerDataRecordConfig: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecordConfig#RecordName)
     */
    readonly RecordName: string;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecordConfig#GetDefaultValue)
     */
    GetDefaultValue(this: PlayerDataRecordConfig, key: string): unknown;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataRecordConfig#SetDefaultValue)
     */
    SetDefaultValue(this: PlayerDataRecordConfig, key: string, value: unknown): void;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataService)
 */
interface PlayerDataService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlayerDataService: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataService#LoadFailureBehavior)
     */
    LoadFailureBehavior: Enum.PlayerDataLoadFailureBehavior;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerDataService#GetRecordConfig)
     */
    GetRecordConfig(this: PlayerDataService, recordName?: string): PlayerDataRecordConfig;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerHydrationService)
 */
interface PlayerHydrationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlayerHydrationService: unique symbol;
}
/**
 * A container for LocalScripts to be run on the client.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerScripts)
 */
interface PlayerScripts extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlayerScripts: unique symbol;
    /**
     * Unregisters all ComputerCameraMovementMode enums from the experience's settings menu.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerScripts#ClearComputerCameraMovementModes)
     * @param this A container for LocalScripts to be run on the client.
     */
    ClearComputerCameraMovementModes(this: PlayerScripts): void;
    /**
     * Unregisters all ComputerMovementMode enums from the experience's settings menu.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerScripts#ClearComputerMovementModes)
     * @param this A container for LocalScripts to be run on the client.
     */
    ClearComputerMovementModes(this: PlayerScripts): void;
    /**
     * Unregisters all TouchCameraMovementMode enums from the experience's settings menu.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerScripts#ClearTouchCameraMovementModes)
     * @param this A container for LocalScripts to be run on the client.
     */
    ClearTouchCameraMovementModes(this: PlayerScripts): void;
    /**
     * Unregisters all TouchMovementMode enums from the experience's settings menu.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerScripts#ClearTouchMovementModes)
     * @param this A container for LocalScripts to be run on the client.
     */
    ClearTouchMovementModes(this: PlayerScripts): void;
    /**
     * Registers that a computer camera movement mode is available to be selected from the game menu.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerScripts#RegisterComputerCameraMovementMode)
     * @param this A container for LocalScripts to be run on the client.
     * @param cameraMovementMode
     */
    RegisterComputerCameraMovementMode(this: PlayerScripts, cameraMovementMode: CastsToEnum<Enum.ComputerCameraMovementMode>): void;
    /**
     * Registers that a computer movement mode is available to be selected from the game menu.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerScripts#RegisterComputerMovementMode)
     * @param this A container for LocalScripts to be run on the client.
     * @param movementMode
     */
    RegisterComputerMovementMode(this: PlayerScripts, movementMode: CastsToEnum<Enum.ComputerMovementMode>): void;
    /**
     * Registers that a touch camera movement mode is available to be selected from the game menu.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerScripts#RegisterTouchCameraMovementMode)
     * @param this A container for LocalScripts to be run on the client.
     * @param cameraMovementMode
     */
    RegisterTouchCameraMovementMode(this: PlayerScripts, cameraMovementMode: CastsToEnum<Enum.TouchCameraMovementMode>): void;
    /**
     * Registers that a touch movement mode is available to be selected from the game menu.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerScripts#RegisterTouchMovementMode)
     * @param this A container for LocalScripts to be run on the client.
     * @param movementMode
     */
    RegisterTouchMovementMode(this: PlayerScripts, movementMode: CastsToEnum<Enum.TouchMovementMode>): void;
}
/**
 * Provides a way to get additional information about a player's view.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerViewService)
 */
interface PlayerViewService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PlayerViewService: unique symbol;
    /**
     * Returns a world space `CFrame` looking at the player's character.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PlayerViewService#GetDeviceCameraCFrame)
     * @param this Provides a way to get additional information about a player's view.
     * @param player The player for which to get the device camera `CFrame`.
     * @returns The world space `CFrame` looking at the player's character, or a `CFrame.identity` (see description).
     */
    GetDeviceCameraCFrame(this: PlayerViewService, player?: Player): CFrame;
}
/**
 * A service that contains presently connected `Player` objects.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players)
 */
interface Players extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Players: unique symbol;
    /**
     * Indicates whether or not bubble chat is enabled. It is set with the `Players:SetChatStyle()` method.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#BubbleChat)
     */
    readonly BubbleChat: boolean;
    /**
     * Indicates whether `characters` will respawn automatically.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#CharacterAutoLoads)
     */
    CharacterAutoLoads: boolean;
    /**
     * Indicates whether or not classic chat is enabled; set by the `Players:SetChatStyle()` method.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#ClassicChat)
     */
    readonly ClassicChat: boolean;
    /**
     * The `Player` that the `LocalScript` is running for.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#LocalPlayer)
     */
    readonly LocalPlayer: Player;
    /**
     * The maximum number of players that can be in a server.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#MaxPlayers)
     */
    readonly MaxPlayers: number;
    /**
     * **Deprecated:** This item is deprecated. Instead, of using this item, you should count the number of players returned by `Players:GetPlayers()`.
     *
     * Returns the number of people in the server at the current time.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#NumPlayers)
     *
     * @deprecated GetPlayers
     */
    readonly NumPlayers: number;
    /**
     * The preferred number of players for a server.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#PreferredPlayers)
     */
    readonly PreferredPlayers: number;
    /**
     * Controls the amount of time taken for a players character to respawn.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#RespawnTime)
     */
    RespawnTime: number;
    /**
     * Returns the `Player` with the given `UserId` if they are in-experience.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#GetPlayerByUserId)
     * @param this A service that contains presently connected `Player` objects.
     * @param userId The `Player.UserId` of the player being specified.
     */
    GetPlayerByUserId(this: Players, userId: number): Player | undefined;
    /**
     * Returns the `Player` whose `Player.Character` matches the given instance, or `nil` if one cannot be found.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#GetPlayerFromCharacter)
     * @param this A service that contains presently connected `Player` objects.
     * @param character A character instance that you want to get the player from.
     */
    GetPlayerFromCharacter(this: Players, character: Instance | undefined): Player | undefined;
    /**
     * Returns a table of all presently connected `Player` objects.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#GetPlayers)
     * @param this A service that contains presently connected `Player` objects.
     * @returns A table containing all the players in the server.
     */
    GetPlayers(this: Players): Array<Player>;
    /**
     * Bans users from your experience, with options to specify duration, reason, whether the ban applies to the entire universe or just the current place, and more. This method is enabled and disabled by the `Players.BanningEnabled` property, which you can toggle in Studio.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#BanAsync)
     * @param this A service that contains presently connected `Player` objects.
     * @param config -  `UserIds` (required; array) — Array of `UserIds`   of players to be banned. Max size is `50`.
     * -  `ApplyToUniverse` (optional; boolean) — Whether ban propagates to   all places within the experience universe. Default is `true`.
     * -  `Duration` (required; integer) — Duration of the ban, in seconds.   Permanent bans should have a value of `-1`. `0` and all other   negative values are invalid.
     * -  `DisplayReason` (required; string) — The message that will be   displayed to users when they attempt to and fail to join an   experience. Maximum string length is `400`.
     * -  `PrivateReason` (required; string) — Internal messaging that will be   returned when querying the user's ban history. Maximum string length   is `1000`.
     * -  `ExcludeAltAccounts` (optional; boolean) — When `true`, Roblox does   not attempt to ban alt accounts. Default is `false`.
     */
    BanAsync(this: Players, config: BanAsyncConfig): void;
    /**
     * **Deprecated:** This method has been superseded by `CreateHumanoidModelFromDescription()`.
     *
     * Returns a character `Model` equipped with everything specified in the passed in `HumanoidDescription`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#CreateHumanoidModelFromDescription)
     * @param this A service that contains presently connected `Player` objects.
     * @param description Specifies the appearance of the returned character.
     * @param rigType Specifies whether the returned character will be R6 or R15.
     * @param assetTypeVerification The asset type verification mode.
     * @returns A `Humanoid` character `Model`.
     *
     * @deprecated CreateHumanoidModelFromDescriptionAsync
     */
    CreateHumanoidModelFromDescription(this: Players, description: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>, assetTypeVerification?: CastsToEnum<Enum.AssetTypeVerification>): Model;
    /**
     * Returns a character `Model` equipped with everything specified in the passed in `HumanoidDescription`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#CreateHumanoidModelFromDescriptionAsync)
     * @param this A service that contains presently connected `Player` objects.
     * @param description Specifies the appearance of the returned character.
     * @param rigType Specifies whether the returned character will be R6 or R15.
     * @param assetTypeVerification The asset type verification mode.
     * @returns A `Humanoid` character `Model`.
     */
    CreateHumanoidModelFromDescriptionAsync(this: Players, description: HumanoidDescription, rigType: CastsToEnum<Enum.HumanoidRigType>, assetTypeVerification?: CastsToEnum<Enum.AssetTypeVerification>): Model;
    /**
     * **Deprecated:** This method has been superseded by `CreateHumanoidModelFromUserIdAsync()`.
     *
     * Returns a character Model set-up with everything equipped to match the avatar of the user specified by the passed in userId.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#CreateHumanoidModelFromUserId)
     * @param this A service that contains presently connected `Player` objects.
     * @param userId The userId for a Roblox user. (The UserId is the number in the profile of the user e.g www.roblox.com/users/1/profile).
     * @returns A Humanoid character Model.
     *
     * @deprecated CreateHumanoidModelFromUserIdAsync
     */
    CreateHumanoidModelFromUserId(this: Players, userId: number): Model;
    /**
     * Returns a character Model set-up with everything equipped to match the avatar of the user specified by the passed in userId.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#CreateHumanoidModelFromUserIdAsync)
     * @param this A service that contains presently connected `Player` objects.
     * @param userId The userId for a Roblox user. (The UserId is the number in the profile of the user e.g www.roblox.com/users/1/profile).
     * @returns A Humanoid character Model.
     */
    CreateHumanoidModelFromUserIdAsync(this: Players, userId: number): Model;
    /**
     * Retrieves the ban and unban history of any user within the experience's universe. This method is enabled and disabled by the `Players.BanningEnabled` property, which you can toggle in Studio.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#GetBanHistoryAsync)
     * @param this A service that contains presently connected `Player` objects.
     * @param userId
     * @returns See `BanHistoryPages` for return reference.
     */
    GetBanHistoryAsync(this: Players, userId: number): BanHistoryPages;
    /**
     * **Deprecated:**
     *
     * Returns a `Model` containing the assets which the player is wearing, excluding gear.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#GetCharacterAppearanceAsync)
     * @param this A service that contains presently connected `Player` objects.
     * @param userId The `Player.UserId` of the specified player.
     *
     * @deprecated
     */
    GetCharacterAppearanceAsync(this: Players, userId: number): Model;
    /**
     * Returns information about the character appearance of a given user.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#GetCharacterAppearanceInfoAsync)
     * @param this A service that contains presently connected `Player` objects.
     * @param userId The **userId* of the specified player.
     * @returns A dictionary containing information about the character appearance of a given user.
     */
    GetCharacterAppearanceInfoAsync(this: Players, userId: number): CharacterAppearanceInfo;
    /**
     * Returns a `FriendPages` object which contains information for all of the given player's connections.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#GetFriendsAsync)
     * @param this A service that contains presently connected `Player` objects.
     * @param userId The user ID of the player being specified.
     */
    GetFriendsAsync(this: Players, userId: number): FriendPages;
    /**
     * **Deprecated:** This method has been superseded by `GetHumanoidDescriptionFromOutfitIdAsync()`.
     *
     * Returns the HumanoidDescription for a specified outfit, which will be set with the parts/colors/Animations etc of the outfit.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#GetHumanoidDescriptionFromOutfitId)
     * @param this A service that contains presently connected `Player` objects.
     * @param outfitId The ID of the outfit for which the HumanoidDescription is sought.
     * @returns HumanoidDescription initialized with the specification for the passed in outfitId.
     *
     * @deprecated GetHumanoidDescriptionFromOutfitIdAsync
     */
    GetHumanoidDescriptionFromOutfitId(this: Players, outfitId: number): HumanoidDescription;
    /**
     * Returns the HumanoidDescription for a specified outfit, which will be set with the parts/colors/Animations etc of the outfit.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#GetHumanoidDescriptionFromOutfitIdAsync)
     * @param this A service that contains presently connected `Player` objects.
     * @param outfitId The ID of the outfit for which the HumanoidDescription is sought.
     * @returns HumanoidDescription initialized with the specification for the passed in outfitId.
     */
    GetHumanoidDescriptionFromOutfitIdAsync(this: Players, outfitId: number): HumanoidDescription;
    /**
     * **Deprecated:** This method has been superseded by `GetHumanoidDescriptionFromUserIdAsync()`.
     *
     * Returns a HumanoidDescription which specifies everything equipped for the avatar of the user specified by the passed in userId.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#GetHumanoidDescriptionFromUserId)
     * @param this A service that contains presently connected `Player` objects.
     * @param userId The userId for a Roblox user. (The UserId is the number in the profile of the user e.g www.roblox.com/users/1/profile).
     * @returns HumanoidDescription initialized with the passed in user's avatar specification.
     *
     * @deprecated GetHumanoidDescriptionFromUserIdAsync
     */
    GetHumanoidDescriptionFromUserId(this: Players, userId: number): HumanoidDescription;
    /**
     * Returns a HumanoidDescription which specifies everything equipped for the avatar of the user specified by the passed in userId.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#GetHumanoidDescriptionFromUserIdAsync)
     * @param this A service that contains presently connected `Player` objects.
     * @param userId The userId for a Roblox user. (The UserId is the number in the profile of the user e.g www.roblox.com/users/1/profile).
     * @returns HumanoidDescription initialized with the passed in user's avatar specification.
     */
    GetHumanoidDescriptionFromUserIdAsync(this: Players, userId: number): HumanoidDescription;
    /**
     * Sends a query to the Roblox website for the username of an account with a given `UserId`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#GetNameFromUserIdAsync)
     * @param this A service that contains presently connected `Player` objects.
     * @param userId The `Player.UserId` of the player being specified.
     * @returns The name of a user with the specified `Player.UserId`.
     */
    GetNameFromUserIdAsync(this: Players, userId: number): string;
    /**
     * Sends a query to the Roblox website for the `userId` of an account with a given username.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#GetUserIdFromNameAsync)
     * @param this A service that contains presently connected `Player` objects.
     * @param userName The username of the player being specified.
     * @returns The `Player.UserId` of a user whose name is specified.
     */
    GetUserIdFromNameAsync(this: Players, userName: string): number;
    /**
     * Returns the content URL of a player thumbnail given the size and type, as well as a boolean describing if the image is ready to use.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#GetUserThumbnailAsync)
     * @param this A service that contains presently connected `Player` objects.
     * @param userId The `Player.UserId` of the player being specified.
     * @param thumbnailType A `ThumbnailType` describing the type of thumbnail.
     * @param thumbnailSize A `ThumbnailSize` specifying the size of the thumbnail.
     * @returns A tuple containing the content URL of a user thumbnail based on the specified parameters, and a bool describing if the image is ready to be used or not.
     */
    GetUserThumbnailAsync(this: Players, userId: number, thumbnailType: CastsToEnum<Enum.ThumbnailType>, thumbnailSize: CastsToEnum<Enum.ThumbnailSize>): LuaTuple<[
        string,
        boolean
    ]>;
    /**
     * Unbans players banned from `Players:BanAsync()` or the User Restrictions Open Cloud API. This method is enabled and disabled by the `Players.BanningEnabled` property, which you can toggle in Studio.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#UnbanAsync)
     * @param this A service that contains presently connected `Player` objects.
     * @param config | Name              | Type    | Description                                                                |
     * | ----------------- | ------- | -------------------------------------------------------------------------- |
     * | `UserIds`         | array   | UserIDs to be force allowed into the experience(s).
     *
     *
     *
     * Max size is `50`. |
     * | `ApplyToUniverse` | boolean | Propagates the unban to all places within this universe.                   |
     */
    UnbanAsync(this: Players, config: UnbanAsyncConfig): void;
    /**
     * Fires when a player enters the experience.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#PlayerAdded)
     */
    readonly PlayerAdded: RBXScriptSignal<(player: Player) => void>;
    /**
     * Fires when the experience server recognizes that a player's membership has changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#PlayerMembershipChanged)
     */
    readonly PlayerMembershipChanged: RBXScriptSignal<(player: Player) => void>;
    /**
     * Fires when a player is about to leave the experience.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#PlayerRemoving)
     */
    readonly PlayerRemoving: RBXScriptSignal<(player: Player, reason: Enum.PlayerExitReason) => void>;
    /**
     * Fires when the experience server recognizes that the user's status for a certain subscription has changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Players#UserSubscriptionStatusChanged)
     */
    readonly UserSubscriptionStatusChanged: RBXScriptSignal<(user: Player, subscriptionId: string) => void>;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PluginCapabilities)
 */
interface PluginCapabilities extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PluginCapabilities: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PluginConnectionService)
 */
interface PluginConnectionService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PluginConnectionService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PluginManagementService)
 */
interface PluginManagementService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PluginManagementService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PluginManagerInterface)
 */
interface PluginManagerInterface extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PluginManagerInterface: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PluginPolicyService)
 */
interface PluginPolicyService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PluginPolicyService: unique symbol;
}
/**
 * Helps you query information regarding policy compliance for players around the world based on age range, location, and platform type.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PolicyService)
 */
interface PolicyService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PolicyService: unique symbol;
    /**
     * Determines if a user can see brand project assets inside your experience.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PolicyService#CanViewBrandProjectAsync)
     * @param this Helps you query information regarding policy compliance for players around the world based on age range, location, and platform type.
     * @param player The `Player` object you're trying to show the brand project to.
     * @param brandProjectId The brand project ID provided by Roblox. Represents all assets associated with a brand project.
     * @returns Whether or not the brand project can be shown to the specific user.
     */
    CanViewBrandProjectAsync(this: PolicyService, player: Player, brandProjectId: string): boolean;
    /**
     * Returns policy information about a player based on geolocation, age group, and platform.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PolicyService#GetPolicyInfoForPlayerAsync)
     * @param this Helps you query information regarding policy compliance for players around the world based on age range, location, and platform type.
     * @param player The `Player` to get policy information for.
     * @returns A dictionary containing information about the policy information of the requested player; see above for the dictionary structure.
     */
    GetPolicyInfoForPlayerAsync(this: PolicyService, player: Player): PolicyInfo;
}
/**
 * Base class of all 'Pose Instance' objects.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PoseBase)
 */
interface PoseBase extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PoseBase: unique symbol;
    /**
     * The easing direction to use to reach the next Pose's value.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PoseBase#EasingDirection)
     */
    EasingDirection: Enum.PoseEasingDirection;
    /**
     * The easing style to use to reach the next Pose's value.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PoseBase#EasingStyle)
     */
    EasingStyle: Enum.PoseEasingStyle;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PoseBase#Weight)
     */
    Weight: number;
}
/**
 * Holds the value applied to a specific FACS control.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/NumberPose)
 */
interface NumberPose extends PoseBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_NumberPose: unique symbol;
    /**
     * The value that will be applied to the FACS control corresponding to the `NumberPose`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/NumberPose#Value)
     */
    Value: number;
}
/**
 * Holds the `CFrame` applied to the `Motor6D` connected to its associated `BasePart`. The part which is controlled depends on the name of the Pose.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Pose)
 */
interface Pose extends PoseBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Pose: unique symbol;
    /**
     * This `CFrame` applies to the `Motor6D` corresponding with the `Pose` when the `Motor6D.Transform` is changed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Pose#CFrame)
     */
    CFrame: CFrame;
    /**
     * **Deprecated:** This property is deprecated. Use the `AnimationTrack:AdjustWeight()` function when blending multiple animations.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Pose#MaskWeight)
     *
     * @deprecated
     */
    MaskWeight: number;
    /**
     * Adds a sub `Pose` to the `Pose` by parenting it.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Pose#AddSubPose)
     * @param this Holds the `CFrame` applied to the `Motor6D` connected to its associated `BasePart`. The part which is controlled depends on the name of the Pose.
     * @param pose The `Pose` to be added.
     */
    AddSubPose(this: Pose, pose: Instance): void;
    /**
     * Returns an array containing all sub `Poses` that have been added to a `Pose`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Pose#GetSubPoses)
     * @param this Holds the `CFrame` applied to the `Motor6D` connected to its associated `BasePart`. The part which is controlled depends on the name of the Pose.
     * @returns An array of sub `Poses`.
     */
    GetSubPoses(this: Pose): Array<Instance>;
    /**
     * Removes a sub `Pose` from the `Pose` by parenting it to `nil`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Pose#RemoveSubPose)
     * @param this Holds the `CFrame` applied to the `Motor6D` connected to its associated `BasePart`. The part which is controlled depends on the name of the Pose.
     * @param pose The `Pose` to be removed.
     */
    RemoveSubPose(this: Pose, pose: Instance): void;
}
/**
 * Abstract base class for post-processing effects.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PostEffect)
 */
interface PostEffect extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PostEffect: unique symbol;
    /**
     * Toggles whether or not the PostEffect is enabled.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PostEffect#Enabled)
     */
    Enabled: boolean;
}
/**
 * Simulates the camera viewing a very bright light.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BloomEffect)
 */
interface BloomEffect extends PostEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BloomEffect: unique symbol;
    /**
     * Determines the additive blending intensity.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BloomEffect#Intensity)
     */
    Intensity: number;
    /**
     * Determines the radius of the bloom in pixels.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BloomEffect#Size)
     */
    Size: number;
    /**
     * Determines how bright a color must be before it blooms.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BloomEffect#Threshold)
     */
    Threshold: number;
}
/**
 * Applies a blur to the entire game world.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BlurEffect)
 */
interface BlurEffect extends PostEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BlurEffect: unique symbol;
    /**
     * Determines the blur radius.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BlurEffect#Size)
     */
    Size: number;
}
/**
 * Adjusts color-related properties of the rendered world like saturation, tint, brightness, and contrast.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ColorCorrectionEffect)
 */
interface ColorCorrectionEffect extends PostEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ColorCorrectionEffect: unique symbol;
    /**
     * Determines by how much the brightness of pixel colors will be shifted.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ColorCorrectionEffect#Brightness)
     */
    Brightness: number;
    /**
     * Determines the change in separation between the dark and light colors.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ColorCorrectionEffect#Contrast)
     */
    Contrast: number;
    /**
     * Determines the change in intensity of colors.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ColorCorrectionEffect#Saturation)
     */
    Saturation: number;
    /**
     * Determines by how much the RGB channels of pixels are scaled.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ColorCorrectionEffect#TintColor)
     */
    TintColor: Color3;
}
/**
 * Modifies how color values calculated by the renderer should be converted to the screen's color range.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ColorGradingEffect)
 */
interface ColorGradingEffect extends PostEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ColorGradingEffect: unique symbol;
    /**
     * Specifies which tone mapper preset to use.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ColorGradingEffect#TonemapperPreset)
     */
    TonemapperPreset: Enum.TonemapperPreset;
}
/**
 * Simulates a camera lens by blurring parts of a scene not in focus.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DepthOfFieldEffect)
 */
interface DepthOfFieldEffect extends PostEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DepthOfFieldEffect: unique symbol;
    /**
     * Intensity of the far field blur.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DepthOfFieldEffect#FarIntensity)
     */
    FarIntensity: number;
    /**
     * Distance away from the camera where objects are in focus.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DepthOfFieldEffect#FocusDistance)
     */
    FocusDistance: number;
    /**
     * Controls the distance away from the `FocusDistance` where no blur is applied.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DepthOfFieldEffect#InFocusRadius)
     */
    InFocusRadius: number;
    /**
     * Intensity of the near field blur.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DepthOfFieldEffect#NearIntensity)
     */
    NearIntensity: number;
}
/**
 * Renders dynamic rays from the sun.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SunRaysEffect)
 */
interface SunRaysEffect extends PostEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SunRaysEffect: unique symbol;
    /**
     * Determines the opacity of the sun rays.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SunRaysEffect#Intensity)
     */
    Intensity: number;
    /**
     * Determines how wide the sun rays will spread out.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SunRaysEffect#Spread)
     */
    Spread: number;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Preloaded)
 */
interface Preloaded extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Preloaded: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProceduralBehaviorSchedulerService)
 */
interface ProceduralBehaviorSchedulerService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ProceduralBehaviorSchedulerService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProcessInstancePhysicsService)
 */
interface ProcessInstancePhysicsService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ProcessInstancePhysicsService: unique symbol;
}
/**
 * An object that lets you prompt players to interact with an object in the 3D world.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt)
 */
interface ProximityPrompt extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ProximityPrompt: unique symbol;
    /**
     * The action text shown to the user.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#ActionText)
     */
    ActionText: string;
    /**
     * Whether the prompt's `ProximityPrompt.ActionText` and `ProximityPrompt.ObjectText` will be localized according to the `ProximityPrompt.RootLocalizationTable`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#AutoLocalize)
     */
    AutoLocalize: boolean;
    /**
     * Whether the prompt can be activated by clicking/tapping on the prompt UI.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#ClickablePrompt)
     */
    ClickablePrompt: boolean;
    /**
     * Whether or not this prompt should be shown.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#Enabled)
     */
    Enabled: boolean;
    /**
     * Used to customize which prompts can be shown at the same time.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#Exclusivity)
     */
    Exclusivity: Enum.ProximityPromptExclusivity;
    /**
     * The gamepad button the player should press to trigger the prompt.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#GamepadKeyCode)
     */
    GamepadKeyCode: Enum.KeyCode;
    /**
     * The duration, in seconds, that the player must hold the button/key down to trigger the prompt.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#HoldDuration)
     */
    HoldDuration: number;
    /**
     * The key the player should press to trigger the prompt.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#KeyboardKeyCode)
     */
    KeyboardKeyCode: Enum.KeyCode;
    /**
     * The maximum distance a Player's `character` can be from the `ProximityPrompt` for the prompt to appear.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#MaxActivationDistance)
     */
    MaxActivationDistance: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#MaxIndicatorDistance)
     */
    MaxIndicatorDistance: number;
    /**
     * An optional property that determines the object name text shown to the user.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#ObjectText)
     */
    ObjectText: string;
    /**
     * Whether the prompt is hidden if the path between the player's `Camera` and object parented to the `ProximityPrompt` is obstructed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#RequiresLineOfSight)
     */
    RequiresLineOfSight: boolean;
    /**
     * A reference to a `LocalizationTable` to be used to apply automated localization to this prompt's `ProximityPrompt.ActionText` and `ProximityPrompt.ObjectText`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#RootLocalizationTable)
     */
    RootLocalizationTable: LocalizationTable | undefined;
    /**
     * The style of the prompt's UI.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#Style)
     */
    Style: Enum.ProximityPromptStyle;
    /**
     * The pixel offset applied to the prompt's UI.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#UIOffset)
     */
    UIOffset: Vector2;
    /**
     * Fires a signal indicating that the user began pressing the prompt GUI button.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#InputHoldBegin)
     * @param this An object that lets you prompt players to interact with an object in the 3D world.
     */
    InputHoldBegin(this: ProximityPrompt): void;
    /**
     * Fires a signal indicating that the user ended pressing the prompt GUI button.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#InputHoldEnd)
     * @param this An object that lets you prompt players to interact with an object in the 3D world.
     */
    InputHoldEnd(this: ProximityPrompt): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#IndicatorHidden)
     */
    readonly IndicatorHidden: RBXScriptSignal<() => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#IndicatorShown)
     */
    readonly IndicatorShown: RBXScriptSignal<() => void>;
    /**
     * Triggered when a player begins holding down the `key`/button connected to a prompt with a non-zero `ProximityPrompt.HoldDuration`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#PromptButtonHoldBegan)
     */
    readonly PromptButtonHoldBegan: RBXScriptSignal<(playerWhoTriggered: Player) => void>;
    /**
     * Triggers when the player ends holding down the button on a prompt with a non-zero `ProximityPrompt.HoldDuration`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#PromptButtonHoldEnded)
     */
    readonly PromptButtonHoldEnded: RBXScriptSignal<(playerWhoTriggered: Player) => void>;
    /**
     * Triggers when the `prompt` becomes hidden.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#PromptHidden)
     */
    readonly PromptHidden: RBXScriptSignal<() => void>;
    /**
     * Triggers when the `prompt` becomes visible.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#PromptShown)
     */
    readonly PromptShown: RBXScriptSignal<(inputType: Enum.ProximityPromptInputType) => void>;
    /**
     * Triggers when `key`/button is released, for longer events where the user is required to hold down the button.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#TriggerEnded)
     */
    readonly TriggerEnded: RBXScriptSignal<(playerWhoTriggered: Player) => void>;
    /**
     * Triggered when the prompt `key`/button is pressed, or after a specified amount of time holding the button, if `ProximityPrompt.HoldDuration` is used.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPrompt#Triggered)
     */
    readonly Triggered: RBXScriptSignal<(playerWhoTriggered: Player) => void>;
}
/**
 * Allows developers to interact with `ProximityPrompt` objects in a global way.
 *
 * - **Tags**: Service, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPromptService)
 */
interface ProximityPromptService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ProximityPromptService: unique symbol;
    /**
     * Whether `ProximityPrompts` are enabled, and therefore shown, in-experience.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPromptService#Enabled)
     */
    Enabled: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPromptService#MaxIndicatorsVisible)
     */
    MaxIndicatorsVisible: number;
    /**
     * Maximum number of `ProximityPrompts` that will be shown to the player.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPromptService#MaxPromptsVisible)
     */
    MaxPromptsVisible: number;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPromptService#IndicatorHidden)
     */
    readonly IndicatorHidden: RBXScriptSignal<(prompt: ProximityPrompt) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPromptService#IndicatorShown)
     */
    readonly IndicatorShown: RBXScriptSignal<(prompt: ProximityPrompt) => void>;
    /**
     * Triggers when the player begins holding down the `KeyboardKeyCode` key/button on a prompt with a non-zero `HoldDuration`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPromptService#PromptButtonHoldBegan)
     */
    readonly PromptButtonHoldBegan: RBXScriptSignal<(prompt: ProximityPrompt, playerWhoTriggered: Player) => void>;
    /**
     * Triggers when the player stops holding down the `KeyboardKeyCode` key/button on a prompt with a non-zero `HoldDuration`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPromptService#PromptButtonHoldEnded)
     */
    readonly PromptButtonHoldEnded: RBXScriptSignal<(prompt: ProximityPrompt, playerWhoTriggered: Player) => void>;
    /**
     * Triggers client-side when a prompt becomes hidden.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPromptService#PromptHidden)
     */
    readonly PromptHidden: RBXScriptSignal<(prompt: ProximityPrompt) => void>;
    /**
     * Triggers client-side when a prompt becomes visible.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPromptService#PromptShown)
     */
    readonly PromptShown: RBXScriptSignal<(prompt: ProximityPrompt, inputType: Enum.ProximityPromptInputType) => void>;
    /**
     * Triggers when the player stops holding down the `KeyboardKeyCode` key/button while triggering a prompt.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPromptService#PromptTriggerEnded)
     */
    readonly PromptTriggerEnded: RBXScriptSignal<(prompt: ProximityPrompt, playerWhoTriggered: Player) => void>;
    /**
     * Triggers when the user interacts with this prompt.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ProximityPromptService#PromptTriggered)
     */
    readonly PromptTriggered: RBXScriptSignal<(prompt: ProximityPrompt, playerWhoTriggered: Player) => void>;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PublishService)
 */
interface PublishService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PublishService: unique symbol;
}
/**
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RTAnimationTracker)
 */
interface RTAnimationTracker extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RTAnimationTracker: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RTAnimationTracker#Active)
     */
    Active: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RTAnimationTracker#EnableFallbackAudioInput)
     */
    EnableFallbackAudioInput: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RTAnimationTracker#SessionName)
     */
    SessionName: string;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RTAnimationTracker#TrackerMode)
     */
    readonly TrackerMode: Enum.TrackerMode;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RTAnimationTracker#TrackerType)
     */
    TrackerType: Enum.TrackerType;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RTAnimationTracker#TrackerError)
     */
    readonly TrackerError: RBXScriptSignal<(errorCode: Enum.TrackerError, msg: string) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RTAnimationTracker#TrackerPrompt)
     */
    readonly TrackerPrompt: RBXScriptSignal<(prompt: Enum.TrackerPromptEvent) => void>;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RealtimeMedia)
 */
interface RealtimeMedia extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RealtimeMedia: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RealtimeMedia#IsConnected)
     */
    readonly IsConnected: boolean;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RealtimeMedia#Disconnect)
     */
    Disconnect(this: RealtimeMedia): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RealtimeMedia#GetConnectedWires)
     */
    GetConnectedWires(this: RealtimeMedia, pin: string): Array<Instance>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RealtimeMedia#GetInputPins)
     */
    GetInputPins(this: RealtimeMedia): Array<unknown>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RealtimeMedia#GetOutputPins)
     */
    GetOutputPins(this: RealtimeMedia): Array<unknown>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RealtimeMedia#SendMessage)
     */
    SendMessage(this: RealtimeMedia, message: string, binary: boolean): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RealtimeMedia#ConnectAsync)
     */
    ConnectAsync(this: RealtimeMedia, serverUrl: string, connectParams?: object): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RealtimeMedia#OnMessage)
     */
    readonly OnMessage: RBXScriptSignal<(message: string, binary: boolean) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RealtimeMedia#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * A service that provides an interface for you to manage and display personalized content recommendations.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RecommendationService)
 */
interface RecommendationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RecommendationService: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RecommendationService#LogActionEvent)
     * @param this A service that provides an interface for you to manage and display personalized content recommendations.
     * @param actionType The enum for the type of action.
     * @param itemId The item ID returned from registration and `GenerateItemListAsync`.
     * @param tracingId The tracing ID returned from the `GenerateItemListAsync` response. Each item has a `TracingId`.
     * @param actionEventDetails A dictionary containing the following fields: - `Weight` — A number representing the weight of the action.   Default is 1.
     * - `DestinationPlaceId` — The ID of the place the user was sent   to after the action. Used for   `Play`.
     * - `CommentText` — Any text associated with the action, such as a   comment. Used for `Comment`.
     * - `ReactionType` — A string describing the type of reaction, for   example, "like" or "dislike". Used for   `AddReaction` or   `RemoveReaction`.
     */
    LogActionEvent(this: RecommendationService, actionType: CastsToEnum<Enum.RecommendationActionType>, itemId: string, tracingId: string, actionEventDetails?: object): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RecommendationService#LogImpressionEvent)
     * @param this A service that provides an interface for you to manage and display personalized content recommendations.
     * @param impressionType The enum for the type of the impression.
     * @param itemId The item ID returned from registration and `GenerateItemListAsync`.
     * @param tracingId The tracing ID returned from the `GenerateItemListAsync` response. Each item has a `TracingId`.
     * @param impressionEventDetails A dictionary containing the following fields: - `Duration` — The duration of the impression in seconds.
     * - `Weight` — A number representing the weight of the impression.   Default is 1.
     * - `ItemPosition` — The position of the item in the   recommendation list.
     * - `DepartureIntent` — The `RecommendationDepartureIntent`   indicating the user's intent when leaving a view. For example,   `Positive` if the view is considered good.
     */
    LogImpressionEvent(this: RecommendationService, impressionType: CastsToEnum<Enum.RecommendationImpressionType>, itemId: string, tracingId: string, impressionEventDetails?: object): void;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RecommendationService#GenerateItemListAsync)
     * @param this A service that provides an interface for you to manage and display personalized content recommendations.
     * @param generateRecommendationItemListRequest A dictionary containing the following fields: - `ConfigName` — A unique ID for the specific configuration.   This determines how the candidates are ranked.
     * - `LocationId` — A developer-defined string that specifies the   location where the recommendation is used, such as `"For_you"` or   `"Lobby"`. This parameter will not affect the items returned, and it   can help you track the performance of multiple recommendation   features within your experience. Recommendation metrics for each   individual location will be displayed in the Creator Hub.   `LocationId` **must** be a string and cannot be `"Other"` or   `"other"` as these values are reserved by the Creator Hub.
     * - `PageSize` — The number of items returned for each page.
     * - `BoostCustomTags` — A list of string tags. Any item with this   tag will be boosted in ranking. Note: only supports boosting one tag   now.
     * - `CustomContexts` — A table of key-value pairs used to pass in   additional context data for ranking. For example, `UserId` for a   Server script.
     */
    GenerateItemListAsync(this: RecommendationService, generateRecommendationItemListRequest: object): RecommendationPages;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RecommendationService#GetRecommendationItemAsync)
     * @param this A service that provides an interface for you to manage and display personalized content recommendations.
     * @param itemId The ID of the item to retrieve.
     * @returns A dictionary representing the recommendation item with the following fields: - `ItemId` — The unique ID for the item.
     * - `ReferenceId` — The developer-provided ID for the item.
     * - `TracingId` — An ID for tracking recommendation sessions. This   will be empty when fetching a single item directly.
     * - `Creator` — A table containing the `CreatorId` and   `CreatorType`.
     * - `Attributes` — A list of content attributes associated with   the item.
     * - `CustomTags` — A list of custom string tags.
     * - `Visibility` — An enum of type   `RecommendationItemVisibility`.
     */
    GetRecommendationItemAsync(this: RecommendationService, itemId: string): object;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RecommendationService#RegisterItemAsync)
     * @param this A service that provides an interface for you to manage and display personalized content recommendations.
     * @param player The player who created the item.
     * @param registerRecommendationItemsRequest A dictionary containing the following fields: - `ContentType` — The `RecommendationItemContentType`   specifying the type of content. Type is defined in a generic way.   For example, you can use `Static` for images, `Dynamic` for videos,   and `Interactive` for 3D models that support interaction.
     * - `ReferenceId` — The developer-defined string that uniquely   identifies the item.
     * - `Duration` — The duration of the content in seconds.
     * - `Attributes` — The table of attributes for the item, such as   `AssetId` or `Description`.
     * - `CustomTags` — The list of string tags for filtering and   boosting.
     * - `Visibility` — The   `RecommendationItemVisibility`   enum that controls the item's visibility, such as `Public` or   `Private`.
     *
     *
     * @returns A table with only two fields: `ItemId` and `ReferenceId`.
     */
    RegisterItemAsync(this: RecommendationService, player: Player, registerRecommendationItemsRequest: object): object;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RecommendationService#RemoveItemAsync)
     * @param this A service that provides an interface for you to manage and display personalized content recommendations.
     * @param itemId The itemId to remove.
     */
    RemoveItemAsync(this: RecommendationService, itemId: string): void;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RecommendationService#UpdateItemAsync)
     * @param this A service that provides an interface for you to manage and display personalized content recommendations.
     * @param updateRecommendationItemRequest A dictionary containing the following fields: - `ItemId` — The ID of the item to update.
     * - `ReferenceId` — The new developer-defined string to identify   the item.
     * - `Creator` — The new creator for the item. Creator is a table   containing two fields: `CreatorId: number` and   `CreatorType: Enum.CreatorType`.
     * - `Duration` — The new duration for the content in seconds.
     * - `Visibility` — The new visibility setting for the item.
     * - `Attributes` — The new table of attributes for the item.
     * - `CustomTags` — The new list of string tags.
     */
    UpdateItemAsync(this: RecommendationService, updateRecommendationItemRequest: object): void;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ReflectionService)
 */
interface ReflectionService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ReflectionService: unique symbol;
    /**
     * Returns information about a class when given its name, assuming that class is accessible.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ReflectionService#GetClass)
     * @param this
     * @param className The name of the class for which you wish to retrieve information.
     * @param filter An optional filter to restrict or expand the set of classes that this method can return and change the method's behavior.
     * @returns A `ReflectedClass` dictionary with reflection information if the class exists; otherwise, `nil`.
     */
    GetClass(this: ReflectionService, className: string, filter?: object): object | undefined;
    /**
     * Returns a list of all classes accessible with filters applied.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ReflectionService#GetClasses)
     * @param this
     * @param filter An optional filter to restrict or expand the set of classes that this method can return and change the method's behavior.
     * @returns A list of `ReflectedClass` dictionaries with reflection information for each class that matches the filter criteria.
     */
    GetClasses(this: ReflectionService, filter?: object): Array<unknown>;
    /**
     * Returns a list of events for a given class with filters applied.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ReflectionService#GetEventsOfClass)
     * @param this
     * @param className The name of the class for which you wish to retrieve events.
     * @param filter An optional filter to restrict or expand the set of events that this method can return and change the method's behavior.
     * @returns A list of `ReflectedEvent` dictionaries with reflection information for each event of the class that matches the filter criteria.
     */
    GetEventsOfClass(this: ReflectionService, className: string, filter?: object): Array<unknown>;
    /**
     * Returns a list of methods for a given class with filters applied.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ReflectionService#GetMethodsOfClass)
     * @param this
     * @param className The name of the class for which you wish to retrieve methods.
     * @param filter An optional filter to restrict or expand the set of methods that this method can return and change the method's behavior.
     * @returns A list of `ReflectedMethod` dictionaries with reflection information for each method of the class that matches the filter criteria.
     */
    GetMethodsOfClass(this: ReflectionService, className: string, filter?: object): Array<unknown>;
    /**
     * Returns a list of properties for a given class with filters applied.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ReflectionService#GetPropertiesOfClass)
     * @param this
     * @param className The name of the class for which you wish to retrieve properties.
     * @param filter An optional filter to restrict or expand the set of properties that this method can return and change the method's behavior.
     * @returns A list of `ReflectedProperty` dictionaries with reflection information for each property of the class that matches the filter criteria.
     */
    GetPropertiesOfClass(this: ReflectionService, className: string, filter?: object): Array<unknown>;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteCommandService)
 */
interface RemoteCommandService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RemoteCommandService: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteCommandService#GetExecutingPlayer)
     * @param this
     */
    GetExecutingPlayer(this: RemoteCommandService): Player;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteCommandService#GetReceivedUpdateSignal)
     * @param this
     */
    GetReceivedUpdateSignal(this: RemoteCommandService): RBXScriptSignal;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteCommandService#GetStoppingSignal)
     * @param this
     */
    GetStoppingSignal(this: RemoteCommandService): RBXScriptSignal;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteCommandService#SendUpdate)
     * @param this
     * @param args
     */
    SendUpdate(this: RemoteCommandService, args: unknown): void;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteCursorService)
 */
interface RemoteCursorService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RemoteCursorService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteDebuggerServer)
 */
interface RemoteDebuggerServer extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RemoteDebuggerServer: unique symbol;
}
/**
 * An object which facilitates synchronous, two-way communication across the client-server boundary. Scripts invoking a `RemoteFunction` yield until they receive a response from the recipient.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteFunction)
 */
interface RemoteFunction<T extends Callback = Callback> extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RemoteFunction: unique symbol;
    /**
     * Invokes the `RemoteFunction` which in turn calls the `OnClientInvoke` callback.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteFunction#InvokeClient)
     * @param this An object which facilitates synchronous, two-way communication across the client-server boundary. Scripts invoking a `RemoteFunction` yield until they receive a response from the recipient.
     * @param player The `Player` associated with the client to invoke.
     * @param arguments Values to pass to the `OnClientInvoke` callback.
     * @returns Values returned from the `OnClientInvoke` callback.
     */
    InvokeClient(this: RemoteFunction, player: Player, ...args: Parameters<T>): unknown;
    /**
     * Invokes the `RemoteFunction` which in turn calls the `OnServerInvoke` callback.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteFunction#InvokeServer)
     * @param this An object which facilitates synchronous, two-way communication across the client-server boundary. Scripts invoking a `RemoteFunction` yield until they receive a response from the recipient.
     * @param arguments Values to pass to the `OnServerInvoke` callback.
     * @returns Values returned from the `OnServerInvoke` callback.
     */
    InvokeServer(this: RemoteFunction, ...args: Parameters<T>): ReturnType<T>;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteFunction#RemoteOnInvokeClient)
     */
    readonly RemoteOnInvokeClient: RBXScriptSignal<(id: number, arguments: unknown) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteFunction#RemoteOnInvokeError)
     */
    readonly RemoteOnInvokeError: RBXScriptSignal<(id: number, arguments: string) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteFunction#RemoteOnInvokeServer)
     */
    readonly RemoteOnInvokeServer: RBXScriptSignal<(id: number, player: Player, arguments: unknown) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteFunction#RemoteOnInvokeSuccess)
     */
    readonly RemoteOnInvokeSuccess: RBXScriptSignal<(id: number, arguments: unknown) => void>;
    /**
     * Callback for when the `RemoteFunction` is invoked with `InvokeClient()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteFunction#OnClientInvoke)
     * @param arguments The parameters sent through `InvokeClient()`.
     * @returns Values returned by the callback function.
     */
    OnClientInvoke: T | undefined;
    /**
     * Callback for when the `RemoteFunction` is invoked with `InvokeServer()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RemoteFunction#OnServerInvoke)
     * @param player The `Player` associated with the client that the `InvokeServer()` call originates from.
     * @param arguments The parameters sent through `InvokeServer()`.
     * @returns Values returned by the callback function.
     */
    OnServerInvoke: ((player: Player, ...args: Array<unknown>) => void) | undefined;
}
/**
 * A container whose contents are replicated to all clients (but not back to the server) first before anything else.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ReplicatedFirst)
 */
interface ReplicatedFirst extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ReplicatedFirst: unique symbol;
    /**
     * Immediately removes the default Roblox loading screen.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ReplicatedFirst#RemoveDefaultLoadingScreen)
     * @param this A container whose contents are replicated to all clients (but not back to the server) first before anything else.
     */
    RemoveDefaultLoadingScreen(this: ReplicatedFirst): void;
}
/**
 * A container service for objects that are replicated to all clients.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ReplicatedStorage)
 */
interface ReplicatedStorage extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ReplicatedStorage: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RibbonNotificationService)
 */
interface RibbonNotificationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RibbonNotificationService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RobloxSerializableInstance)
 */
interface RobloxSerializableInstance extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RobloxSerializableInstance: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RobloxServerStorage)
 */
interface RobloxServerStorage extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RobloxServerStorage: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RolloutValidation)
 */
interface RolloutValidation extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RolloutValidation: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RolloutValidationService)
 */
interface RolloutValidationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RolloutValidationService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RomarkRbxAnalyticsService)
 */
interface RomarkRbxAnalyticsService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RomarkRbxAnalyticsService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RomarkService)
 */
interface RomarkService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RomarkService: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RomarkService#EndRemoteRomarkTest)
     */
    EndRemoteRomarkTest(this: RomarkService): void;
}
/**
 * Represents a sequence of rotations and the interpolation curve between them.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RotationCurve)
 */
interface RotationCurve extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RotationCurve: unique symbol;
    /**
     * Number of rotation keys in this curve.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RotationCurve#Length)
     */
    readonly Length: number;
    /**
     * Returns a copy of a key at a given index.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RotationCurve#GetKeyAtIndex)
     * @param this Represents a sequence of rotations and the interpolation curve between them.
     * @param index
     */
    GetKeyAtIndex(this: RotationCurve, index: number): RotationCurveKey;
    /**
     * Returns the index of the last and first key of a period of time.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RotationCurve#GetKeyIndicesAtTime)
     * @param this Represents a sequence of rotations and the interpolation curve between them.
     * @param time
     */
    GetKeyIndicesAtTime(this: RotationCurve, time: number): Array<unknown>;
    /**
     * Returns a copy of all the keys in the rotation curve as a Luau array of `RotationCurveKeys`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RotationCurve#GetKeys)
     * @param this Represents a sequence of rotations and the interpolation curve between them.
     * @returns Array of `RotationCurveKeys`.
     */
    GetKeys(this: RotationCurve): Array<unknown>;
    /**
     * Samples the rotation curve at a given time and returns the corresponding rotation as a `CFrame`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RotationCurve#GetValueAtTime)
     * @param this Represents a sequence of rotations and the interpolation curve between them.
     * @param time Time at which to sample the curve.
     * @returns Value of the curve at the requested `time`.
     */
    GetValueAtTime(this: RotationCurve, time: number): CFrame | undefined;
    /**
     * Adds the key passed as an argument to this curve. If a key at the same time is found, it will be replaced.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RotationCurve#InsertKey)
     * @param this Represents a sequence of rotations and the interpolation curve between them.
     * @param key `RotationCurveKey` to insert.
     * @returns (see description) .
     */
    InsertKey(this: RotationCurve, key: RotationCurveKey): Array<unknown>;
    /**
     * Removes a given number of keys starting from a given index.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RotationCurve#RemoveKeyAtIndex)
     * @param this Represents a sequence of rotations and the interpolation curve between them.
     * @param startingIndex Starting index from which to remove keys.
     * @param count Number of keys to remove.
     * @returns Number of keys removed.
     */
    RemoveKeyAtIndex(this: RotationCurve, startingIndex: number, count?: number): number;
    /**
     * Resets this curve's keys using the `RotationCurveKey` array passed as an argument.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RotationCurve#SetKeys)
     * @param this Represents a sequence of rotations and the interpolation curve between them.
     * @param keys Array of `RotationCurveKeys`.
     * @returns Number of keys inserted.
     */
    SetKeys(this: RotationCurve, keys: Array<unknown>): number;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RtMessagingService)
 */
interface RtMessagingService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RtMessagingService: unique symbol;
}
/**
 * Service responsible for all runtime activity and progression of time.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService)
 */
interface RunService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RunService: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#FrameNumber)
     */
    readonly FrameNumber: number;
    /**
     * Given a string name of a function and a priority, this method binds the function to `RunService.PreRender`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#BindToRenderStep)
     * @param this Service responsible for all runtime activity and progression of time.
     * @param name Label for the binding which can be used with `Unbind` if the binding is no longer needed.
     * @param priority Priority of the binding as an integer; it determines when during the render step to call the custom function. The lower this number, the sooner the custom function will be called. If two bindings have the same priority, the engine will randomly pick one to run first.
     * @param function The custom function being bound.
     */
    BindToRenderStep(this: RunService, name: string, priority: number, callback: (deltaTime: number) => void): void;
    /**
     * Binds a custom function to be called at a fixed frequency which is independent of the frame rate.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#BindToSimulation)
     * @param this Service responsible for all runtime activity and progression of time.
     * @param function The function to call. This function will be passed one parameter called `deltaTime` which shows how much time passed between the beginning of the previous simulation step and the beginning of the current simulation step.
     * @param frequency Optional `StepFrequency` value indicating the frequency at which to call the bound function. If not provided, the default frequency will be used.
     */
    BindToSimulation(this: RunService, callback: Callback, frequency?: CastsToEnum<Enum.StepFrequency>): RBXScriptConnection;
    /**
     * Checks the `PredictionStatus` of a specific context instance, useful for debugging scripts affecting multiple instances where some might be predicted and others might not.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#GetPredictionStatus)
     * @param this Service responsible for all runtime activity and progression of time.
     * @param context The `Instance` for which to check prediction status.
     */
    GetPredictionStatus(this: RunService, context: Instance): Enum.PredictionStatus;
    /**
     * Returns whether the current environment is running on the client.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#IsClient)
     * @param this Service responsible for all runtime activity and progression of time.
     * @returns Whether the current environment is running the client.
     */
    IsClient(this: RunService): boolean;
    /**
     * Returns whether a **Run** playtest has been initiated in Studio.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#IsRunMode)
     * @param this Service responsible for all runtime activity and progression of time.
     * @returns Whether a **Run** playtest has been initiated in Studio.
     */
    IsRunMode(this: RunService): boolean;
    /**
     * Returns whether the experience is currently running.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#IsRunning)
     * @param this Service responsible for all runtime activity and progression of time.
     * @returns Whether the experience is currently running.
     */
    IsRunning(this: RunService): boolean;
    /**
     * Returns whether the current environment is running on the server.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#IsServer)
     * @param this Service responsible for all runtime activity and progression of time.
     * @returns Whether the current environment is running on the server.
     */
    IsServer(this: RunService): boolean;
    /**
     * Returns whether the current environment is running in Studio.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#IsStudio)
     * @param this Service responsible for all runtime activity and progression of time.
     * @returns Whether the current environment is running in Studio.
     */
    IsStudio(this: RunService): boolean;
    /**
     * Sets the prediction mode for an `Instance` to an `PredictionMode` value.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#SetPredictionMode)
     * @param this Service responsible for all runtime activity and progression of time.
     * @param context The `Instance` for which to set the prediction mode.
     * @param mode The `PredictionMode` to set for the context instance.
     */
    SetPredictionMode(this: RunService, context: Instance, mode: CastsToEnum<Enum.PredictionMode>): void;
    /**
     * Unbinds a function that was bound to the render loop using `RunService:BindToRenderStep()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#UnbindFromRenderStep)
     * @param this Service responsible for all runtime activity and progression of time.
     * @param name The name of the function being unbound.
     */
    UnbindFromRenderStep(this: RunService, name: string): void;
    /**
     * Fires every frame, after the physics simulation has completed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#Heartbeat)
     */
    readonly Heartbeat: RBXScriptSignal<(deltaTime: number) => void>;
    /**
     * In the server authority model, fires during prediction when the engine detects that the client has diverged from the server's authoritative state. Intended for plugin-based debugging.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#Misprediction)
     */
    readonly Misprediction: RBXScriptSignal<(time: number, instances: Array<unknown>, stats: object) => void>;
    /**
     * Fires every frame, after the physics simulation has completed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#PostSimulation)
     */
    readonly PostSimulation: RBXScriptSignal<(deltaTimeSim: number) => void>;
    /**
     * Fires every frame, prior to the physics simulation but after rendering.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#PreAnimation)
     */
    readonly PreAnimation: RBXScriptSignal<(deltaTimeSim: number) => void>;
    /**
     * Fires every frame, prior to the frame being rendered.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#PreRender)
     */
    readonly PreRender: RBXScriptSignal<(deltaTimeRender: number) => void>;
    /**
     * Fires every frame, prior to the physics simulation.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#PreSimulation)
     */
    readonly PreSimulation: RBXScriptSignal<(deltaTimeSim: number) => void>;
    /**
     * Fires every frame, prior to the frame being rendered.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#RenderStepped)
     */
    readonly RenderStepped: RBXScriptSignal<(deltaTime: number) => void>;
    /**
     * In the server authority model, this fires after rolling back the predicted state due to a misprediction, but before resimulation begins.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#Rollback)
     */
    readonly Rollback: RBXScriptSignal<(time: number) => void>;
    /**
     * Fires every frame, prior to the physics simulation.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RunService#Stepped)
     */
    readonly Stepped: RBXScriptSignal<(time: number, deltaTime: number) => void>;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RuntimeContentService)
 */
interface RuntimeContentService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RuntimeContentService: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RuntimeContentService#RuntimeContentFail)
     */
    readonly RuntimeContentFail: RBXScriptSignal<(id: string) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RuntimeContentService#RuntimeContentLRCleanup)
     */
    readonly RuntimeContentLRCleanup: RBXScriptSignal<(id: string, priorityList: string) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RuntimeContentService#RuntimeContentQuery)
     */
    readonly RuntimeContentQuery: RBXScriptSignal<(id: string, expectedType: string, priorityList: string) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RuntimeContentService#RuntimeContentShare)
     */
    readonly RuntimeContentShare: RBXScriptSignal<(id: string, content: string, metadata: string) => void>;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SafetyService)
 */
interface SafetyService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SafetyService: unique symbol;
}
/**
 * A 2D user interface that allows users to capture and save screenshots to their local device.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenshotHud)
 */
interface ScreenshotHud extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ScreenshotHud: unique symbol;
    /**
     * Asset ID of the icon used for the camera button.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenshotHud#CameraButtonIcon)
     */
    CameraButtonIcon: ContentId;
    /**
     * Screen location of the camera button.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenshotHud#CameraButtonPosition)
     */
    CameraButtonPosition: UDim2;
    /**
     * Screen location of the close button.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenshotHud#CloseButtonPosition)
     */
    CloseButtonPosition: UDim2;
    /**
     * Whether the `ScreenshotHud` closes automatically when a screenshot is taken.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenshotHud#CloseWhenScreenshotTaken)
     */
    CloseWhenScreenshotTaken: boolean;
    /**
     * **Deprecated:**
     *
     * Whether the experience name in the overlay is enabled.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenshotHud#ExperienceNameOverlayEnabled)
     *
     * @deprecated
     */
    ExperienceNameOverlayEnabled: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenshotHud#HideCoreGuiForCaptures)
     */
    HideCoreGuiForCaptures: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenshotHud#HidePlayerGuiForCaptures)
     */
    HidePlayerGuiForCaptures: boolean;
    /**
     * **Deprecated:**
     *
     * `Font` used for the experience name in the overlay.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenshotHud#OverlayFont)
     *
     * @deprecated
     */
    OverlayFont: Enum.Font;
    /**
     * **Deprecated:**
     *
     * Currently disabled with no effect.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenshotHud#UsernameOverlayEnabled)
     *
     * @deprecated
     */
    UsernameOverlayEnabled: boolean;
    /**
     * Determines whether the `ScreenshotHud` is visible.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScreenshotHud#Visible)
     */
    Visible: boolean;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScriptBuilder)
 */
interface ScriptBuilder extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ScriptBuilder: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SyncScriptBuilder)
 */
interface SyncScriptBuilder extends ScriptBuilder {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SyncScriptBuilder: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SyncScriptBuilder#CompileTarget)
     */
    CompileTarget: Enum.CompileTarget;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SyncScriptBuilder#CoverageInfo)
     */
    CoverageInfo: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SyncScriptBuilder#DebugInfo)
     */
    DebugInfo: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SyncScriptBuilder#PackAsSource)
     */
    PackAsSource: boolean;
    /**
     * **Deprecated:** This property should not be used for new work.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SyncScriptBuilder#RawBytecode)
     *
     * @deprecated CompileTarget
     */
    RawBytecode: boolean;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScriptChangeService)
 */
interface ScriptChangeService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ScriptChangeService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScriptCloneWatcher)
 */
interface ScriptCloneWatcher extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ScriptCloneWatcher: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScriptCloneWatcherHelper)
 */
interface ScriptCloneWatcherHelper extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ScriptCloneWatcherHelper: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScriptCommitService)
 */
interface ScriptCommitService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ScriptCommitService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScriptContext)
 */
interface ScriptContext extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ScriptContext: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScriptContext#EnableCoverage)
     */
    EnableCoverage(this: ScriptContext, instance: Instance): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScriptContext#GetCoverageStats)
     */
    GetCoverageStats(this: ScriptContext): Array<unknown>;
    /**
     * Fired when an error occurs.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScriptContext#Error)
     */
    readonly Error: RBXScriptSignal<(message: string, stackTrace: string, script?: LuaSourceContainer) => void>;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScriptProfilerService)
 */
interface ScriptProfilerService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ScriptProfilerService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScriptRegistrationService)
 */
interface ScriptRegistrationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ScriptRegistrationService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ScriptRuntime)
 */
interface ScriptRuntime extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ScriptRuntime: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SelectionHighlightManager)
 */
interface SelectionHighlightManager extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SelectionHighlightManager: unique symbol;
}
/**
 * An abstract class for various sensor instance types.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SensorBase)
 */
interface SensorBase extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SensorBase: unique symbol;
    /**
     * Determines how the sensor will update its output data.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SensorBase#UpdateType)
     */
    UpdateType: Enum.SensorUpdateType;
    /**
     * **Deprecated:** This method should not be used in new work.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SensorBase#Sense)
     * @param this An abstract class for various sensor instance types.
     *
     * @deprecated
     */
    Sense(this: SensorBase): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SensorBase#OnSensorOutputChanged)
     */
    readonly OnSensorOutputChanged: RBXScriptSignal<() => void>;
}
/**
 * A `SensorBase` that outputs data about the `AirDensity` and `RelativeWindVelocity` at the sensor's position.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AtmosphereSensor)
 */
interface AtmosphereSensor extends SensorBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AtmosphereSensor: unique symbol;
    /**
     * Measures the density of the air where the sensor is positioned.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AtmosphereSensor#AirDensity)
     */
    readonly AirDensity: number;
    /**
     * Reports the wind velocity relative to the sensor.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AtmosphereSensor#RelativeWindVelocity)
     */
    readonly RelativeWindVelocity: Vector3;
}
/**
 * A `SensorBase` that outputs data about how its `BasePart` is interacting with `Terrain` water.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BuoyancySensor)
 */
interface BuoyancySensor extends SensorBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BuoyancySensor: unique symbol;
    /**
     * True when the entirety of the `BasePart` is submerged in `Terrain` water with at least one voxel of water above it.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BuoyancySensor#FullySubmerged)
     */
    FullySubmerged: boolean;
    /**
     * True when any position on the `BasePart` is touching `Terrain` water.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BuoyancySensor#TouchingSurface)
     */
    TouchingSurface: boolean;
}
/**
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerSensor)
 */
interface ControllerSensor extends SensorBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ControllerSensor: unique symbol;
}
/**
 * A `SensorBase` that outputs data about another `BasePart` based on `Humanoid` floor and ladder detection logic.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerPartSensor)
 */
interface ControllerPartSensor extends ControllerSensor {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ControllerPartSensor: unique symbol;
    /**
     * The position in world space where the sensor hit the `ControllerPartSensor.SensedPart`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerPartSensor#HitFrame)
     */
    HitFrame: CFrame;
    /**
     * The surface normal at the position where the sensor hit the `ControllerPartSensor.SensedPart`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerPartSensor#HitNormal)
     */
    HitNormal: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerPartSensor#LadderSearchHeight)
     */
    LadderSearchHeight: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerPartSensor#LadderSearchOffset)
     */
    LadderSearchOffset: number;
    /**
     * The distance from the sensor's parent `BasePart` to use when sensing other parts.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerPartSensor#SearchDistance)
     */
    SearchDistance: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerPartSensor#SensedMaterial)
     */
    SensedMaterial: Enum.Material;
    /**
     * A reference to the `BasePart` hit by the sensor.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerPartSensor#SensedPart)
     */
    SensedPart: BasePart | undefined;
    /**
     * Determines what behavior this `SensorBase` uses when sensing other parts.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ControllerPartSensor#SensorMode)
     */
    SensorMode: Enum.SensorMode;
}
/**
 * A `SensorBase` that outputs `Force`, `Torque` and `CenterOfPressure`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FluidForceSensor)
 */
interface FluidForceSensor extends SensorBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FluidForceSensor: unique symbol;
    /**
     * Assembly center of pressure offset from its center of mass in world coordinates.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FluidForceSensor#CenterOfPressure)
     */
    readonly CenterOfPressure: Vector3;
    /**
     * Assembly fluid force in world coordinates.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FluidForceSensor#Force)
     */
    readonly Force: Vector3;
    /**
     * Assembly fluid torque in world coordinates.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FluidForceSensor#Torque)
     */
    readonly Torque: Vector3;
    /**
     * Asynchronously computes force, torque, and center of pressure for the parent part of a sensor given provided inputs.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FluidForceSensor#EvaluateAsync)
     * @param this A `SensorBase` that outputs `Force`, `Torque` and `CenterOfPressure`.
     * @param linearVelocity Linear velocity in world coordinates.
     * @param angularVelocity Angular velocity in world coordinates.
     * @param cframe `CFrame` to be used for evaluation.
     * @returns Tuple of `Force`, `Torque` and `CenterOfPressure` calculated given the input parameters.
     */
    EvaluateAsync(this: FluidForceSensor, linearVelocity: Vector3, angularVelocity: Vector3, cframe: CFrame): unknown;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SerializationService)
 */
interface SerializationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SerializationService: unique symbol;
    /**
     * Deserializes a `buffer` containing `.rbxm` content, returning a list of `instances`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SerializationService#DeserializeInstancesAsync)
     * @param this
     * @param buffer
     */
    DeserializeInstancesAsync(this: SerializationService, buffer: buffer): Array<Instance>;
    /**
     * Serializes a list of `instances` to the `.rbxm` format, returning a `buffer` or `.rbxm` content.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SerializationService#SerializeInstancesAsync)
     * @param this
     * @param inputInstances
     */
    SerializeInstancesAsync(this: SerializationService, inputInstances: Array<Instance>): buffer;
}
/**
 * A container service for server-only `Script` objects.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ServerScriptService)
 */
interface ServerScriptService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ServerScriptService: unique symbol;
}
/**
 * A container whose contents are only accessible on the server. Objects descending from ServerStorage will not replicate to the client and will not be accessible from `LocalScripts`.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ServerStorage)
 */
interface ServerStorage extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ServerStorage: unique symbol;
}
/**
 * A ServiceProvider is an abstract class, which stores, and provides certain singleton classes, depending on what inherited class you are using its members with.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ServiceProvider)
 */
interface ServiceProvider<S = unknown> extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ServiceProvider: unique symbol;
    /**
     * Returns the service specified by the given className if it's already created, errors for an invalid name.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ServiceProvider#FindService)
     * @param this A ServiceProvider is an abstract class, which stores, and provides certain singleton classes, depending on what inherited class you are using its members with.
     * @param className
     */
    FindService(this: ServiceProvider<S>, className: string): S[keyof S] | undefined;
    FindService(this: ServiceProvider<S>, className: string): Instance | undefined;
    /**
     * Returns the service with the requested class name, creating it if it does not exist.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ServiceProvider#GetService)
     * @param this A ServiceProvider is an abstract class, which stores, and provides certain singleton classes, depending on what inherited class you are using its members with.
     * @param className The class name of the requested service.
     * @returns An instance of the requested service.
     */
    GetService<T extends keyof S>(this: ServiceProvider<S>, className: T): S[T];
    /**
     * Fires when the current place is exited.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ServiceProvider#Close)
     */
    readonly Close: RBXScriptSignal<() => void>;
    /**
     * Fired when a service is created.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ServiceProvider#ServiceAdded)
     */
    readonly ServiceAdded: RBXScriptSignal<(service: S[keyof S]) => void>;
    /**
     * Fired when a service is about to be removed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ServiceProvider#ServiceRemoving)
     */
    readonly ServiceRemoving: RBXScriptSignal<(service: S[keyof S]) => void>;
}
/**
 * The root of Roblox's parent-child hierarchy. Its direct children are services, such as `Workspace` and `Lighting`, that act as the fundamental components of a Roblox game.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel)
 */
interface DataModel extends ServiceProvider<Services> {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DataModel: unique symbol;
    /**
     * Describes the ID of the user or group that owns the place.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#CreatorId)
     */
    readonly CreatorId: number;
    /**
     * Describes the `CreatorType` of the place, whether the place is owned by a user or a group.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#CreatorType)
     */
    readonly CreatorType: Enum.CreatorType;
    /**
     * Describes the ID of the experience that the place running on the server belongs to.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#GameId)
     */
    readonly GameId: number;
    /**
     * **Deprecated:** This property is deprecated and is no longer functional. It should not be used.
     *
     * Not functional. Historically described the gear permissions of the place as set on the Roblox website.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#GearGenreSetting)
     *
     * @deprecated
     */
    readonly GearGenreSetting: Enum.GearGenreSetting;
    /**
     * Not functional. Historically described the `Genre` of the place as set on the Roblox website.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#Genre)
     */
    readonly Genre: Enum.Genre;
    /**
     * A unique identifier for the running game server instance.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#JobId)
     */
    readonly JobId: string;
    /**
     * Represents how players in the server are handled by matchmaking.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#MatchmakingType)
     */
    readonly MatchmakingType: Enum.MatchmakingType;
    /**
     * Describes the ID of the place running on the server.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#PlaceId)
     */
    readonly PlaceId: number;
    /**
     * Describes the version of the place the server is running on.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#PlaceVersion)
     */
    readonly PlaceVersion: number;
    /**
     * Describes the private server ID of the server, if the server is a private server or a `reserved server`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#PrivateServerId)
     */
    readonly PrivateServerId: string;
    /**
     * Describes the `UserId` of the `Player` that owns the private server if the server is private.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#PrivateServerOwnerId)
     */
    readonly PrivateServerOwnerId: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#RunService)
     */
    readonly RunService: RunService | undefined;
    /**
     * **Deprecated:** This property has been deprecated. Use `DataModel.PrivateServerId` instead.
     *
     * A string that could identify the current server as a private server.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#VIPServerId)
     *
     * @deprecated PrivateServerId
     */
    readonly VIPServerId: string;
    /**
     * **Deprecated:** This property has been deprecated. Use `DataModel.PrivateServerOwnerId` instead.
     *
     * The `UserId` of the account who owns the private server.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#VIPServerOwnerId)
     *
     * @deprecated PrivateServerOwnerId
     */
    readonly VIPServerOwnerId: number;
    /**
     * A reference to the `Workspace` service.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#Workspace)
     */
    readonly Workspace: Workspace;
    /**
     * Binds a function to be called before the server shuts down.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#BindToClose)
     * @param this The root of Roblox's parent-child hierarchy. Its direct children are services, such as `Workspace` and `Lighting`, that act as the fundamental components of a Roblox game.
     * @param function A function called before the experience server shuts down. If the bound function accepts a parameter, it passes `CloseReason` specifying the reason for the server shutdown.
     */
    BindToClose(this: DataModel, callback: (reason: Enum.CloseReason) => void): void;
    /**
     * **Deprecated:** This item is deprecated since the system was phased out a very long time ago, and recently the APIs for setting this message were removed.
     *
     * ***[OBSOLETE]:*** This function will always return a blank string.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#GetMessage)
     * @param this The root of Roblox's parent-child hierarchy. Its direct children are services, such as `Workspace` and `Lighting`, that act as the fundamental components of a Roblox game.
     *
     * @deprecated
     */
    GetMessage(this: DataModel): string;
    /**
     * **Deprecated:** This item is deprecated. Use `RunService:IsServer()` to see if your code is running on the server.
     *
     * This method is no longer useful and will always return false.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#GetRemoteBuildMode)
     * @param this The root of Roblox's parent-child hierarchy. Its direct children are services, such as `Workspace` and `Lighting`, that act as the fundamental components of a Roblox game.
     *
     * @deprecated
     */
    GetRemoteBuildMode(this: DataModel): boolean;
    /**
     * **Deprecated:** This property is deprecated and is no longer functional. It should not be used.
     *
     * Returns whether gear of the given `GearType` is permitted to be added to `Players'` `StarterGears`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#IsGearTypeAllowed)
     * @param this The root of Roblox's parent-child hierarchy. Its direct children are services, such as `Workspace` and `Lighting`, that act as the fundamental components of a Roblox game.
     * @param gearType The given `GearType`.
     * @returns Whether gear of the given `GearType` is permitted in the game.
     *
     * @deprecated
     */
    IsGearTypeAllowed(this: DataModel, gearType: CastsToEnum<Enum.GearType>): boolean;
    /**
     * Returns true if the client has finished loading the game for the first time.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#IsLoaded)
     * @param this The root of Roblox's parent-child hierarchy. Its direct children are services, such as `Workspace` and `Lighting`, that act as the fundamental components of a Roblox game.
     * @returns Whether the client has finished loading the game for the first time.
     */
    IsLoaded(this: DataModel): boolean;
    /**
     * **Deprecated:** This item is deprecated. Do not use it for new work.
     *
     * Saves the current place.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#SavePlace)
     * @param this The root of Roblox's parent-child hierarchy. Its direct children are services, such as `Workspace` and `Lighting`, that act as the fundamental components of a Roblox game.
     * @param saveFilter
     *
     * @deprecated
     */
    SavePlace(this: DataModel, saveFilter?: CastsToEnum<Enum.SaveFilter>): boolean;
    /**
     * **Deprecated:** This item is deprecated . Do not use it for new work.
     *
     * Fires when SetGearSettings is called with a different value for `allowedGenres`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#AllowedGearTypeChanged)
     *
     * @deprecated
     */
    readonly AllowedGearTypeChanged: RBXScriptSignal<() => void>;
    /**
     * Fires when the user prompts and increase or decrease in graphics quality using the hotkeys.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#GraphicsQualityChangeRequest)
     */
    readonly GraphicsQualityChangeRequest: RBXScriptSignal<(betterQuality: boolean) => void>;
    /**
     * **Deprecated:** This function has been superseded by `Object.Changed`, which should be used in new work instead.
     *
     * Fires when a property of any object in the `DataModel` is changed.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#ItemChanged)
     *
     * @deprecated
     */
    readonly ItemChanged: RBXScriptSignal<(object: Instance, descriptor: string) => void>;
    /**
     * Fires on the client when the game finishes loading for the first time.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#Loaded)
     */
    readonly Loaded: RBXScriptSignal<() => void>;
    /**
     * **Deprecated:** This function is deprecated. It is recommended to use `DataModel:BindToClose()` instead.
     *
     * Invoked before the game is shut down. When this callback returns, or the timeout period is hit, the game finishes shutting down.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DataModel#OnClose)
     *
     * @deprecated BindToClose
     */
    OnClose: (() => unknown) | undefined;
}
/**
 * The abstract class for settings database classes.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/GenericSettings)
 */
interface GenericSettings<S = unknown> extends ServiceProvider<S> {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_GenericSettings: unique symbol;
}
/**
 * A singleton object that houses basic user settings, which persist across all games on Roblox.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserSettings)
 */
interface UserSettings extends GenericSettings<{
    UserGameSettings: UserGameSettings;
}> {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UserSettings: unique symbol;
    /**
     * Returns true if the specified user feature is enabled. This will throw an error if the user feature does not exist.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserSettings#IsUserFeatureEnabled)
     * @param this A singleton object that houses basic user settings, which persist across all games on Roblox.
     * @param name
     */
    IsUserFeatureEnabled(this: UserSettings, name: string): boolean;
    /**
     * Erases the saved state of the UserSettings, and restores its default values.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserSettings#Reset)
     * @param this A singleton object that houses basic user settings, which persist across all games on Roblox.
     */
    Reset(this: UserSettings): void;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ServiceVisibilityService)
 */
interface ServiceVisibilityService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ServiceVisibilityService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SessionCheckService)
 */
interface SessionCheckService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SessionCheckService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SessionService)
 */
interface SessionService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SessionService: unique symbol;
}
/**
 * Provides a global registry of named `SharedTable` objects.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SharedTableRegistry)
 */
interface SharedTableRegistry extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SharedTableRegistry: unique symbol;
    /**
     * Gets the registered `SharedTable` with the specified name.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SharedTableRegistry#GetSharedTable)
     * @param this Provides a global registry of named `SharedTable` objects.
     * @param name The name of the registered `SharedTable`.
     */
    GetSharedTable(this: SharedTableRegistry, name: string): SharedTable;
    /**
     * Registers the provided `SharedTable` with the specified name.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SharedTableRegistry#SetSharedTable)
     * @param this Provides a global registry of named `SharedTable` objects.
     * @param name The name of the registered `SharedTable`.
     * @param st The `SharedTable` object to register, or `nil` to unregister any previously registered `SharedTable` object.
     */
    SetSharedTable(this: SharedTableRegistry, name: string, st?: SharedTable): void;
}
/**
 * Changes the default appearance of the experience's sky.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky)
 */
interface Sky extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Sky: unique symbol;
    /**
     * Sets whether the sun, moon, and stars will show.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#CelestialBodiesShown)
     */
    CelestialBodiesShown: boolean;
    /**
     * The perceived angular size of the moon while using this skybox, in degrees.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#MoonAngularSize)
     */
    MoonAngularSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#MoonTextureContent)
     */
    MoonTextureContent: Content;
    /**
     * The texture of the moon while using this skybox.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#MoonTextureId)
     */
    MoonTextureId: ContentId;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#SkyboxBackContent)
     */
    SkyboxBackContent: Content;
    /**
     * The URL link to a picture for the back surface of the sky.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#SkyboxBk)
     */
    SkyboxBk: ContentId;
    /**
     * Asset ID for the bottom surface of the skybox.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#SkyboxDn)
     */
    SkyboxDn: ContentId;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#SkyboxDownContent)
     */
    SkyboxDownContent: Content;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#SkyboxFrontContent)
     */
    SkyboxFrontContent: Content;
    /**
     * Asset ID for the front surface of the skybox.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#SkyboxFt)
     */
    SkyboxFt: ContentId;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#SkyboxLeftContent)
     */
    SkyboxLeftContent: Content;
    /**
     * Asset ID for the left surface of the skybox.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#SkyboxLf)
     */
    SkyboxLf: ContentId;
    /**
     * Angle of the skybox, in degrees, with rotation order of **Y**, **X**, **Z**.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#SkyboxOrientation)
     */
    SkyboxOrientation: Vector3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#SkyboxRightContent)
     */
    SkyboxRightContent: Content;
    /**
     * Asset ID for the right surface of the skybox.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#SkyboxRt)
     */
    SkyboxRt: ContentId;
    /**
     * Asset ID for the top surface of the skybox.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#SkyboxUp)
     */
    SkyboxUp: ContentId;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#SkyboxUpContent)
     */
    SkyboxUpContent: Content;
    /**
     * How many stars are shown in the skybox.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#StarCount)
     */
    StarCount: number;
    /**
     * The perceived angular size of the sun while using this skybox, in degrees.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#SunAngularSize)
     */
    SunAngularSize: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#SunTextureContent)
     */
    SunTextureContent: Content;
    /**
     * The texture of the sun while using this skybox.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sky#SunTextureId)
     */
    SunTextureId: ContentId;
}
/**
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlimAnimationDataEntity)
 */
interface SlimAnimationDataEntity extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SlimAnimationDataEntity: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlimAnimationReplicationService)
 */
interface SlimAnimationReplicationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SlimAnimationReplicationService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlimReplicationService)
 */
interface SlimReplicationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SlimReplicationService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SlimService)
 */
interface SlimService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SlimService: unique symbol;
}
/**
 * A particle emitter with the visual aesthetic of smoke.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Smoke)
 */
interface Smoke extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Smoke: unique symbol;
    /**
     * Determines the color of the smoke particles.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Smoke#Color)
     */
    Color: Color3;
    /**
     * Determines whether smoke particles emit.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Smoke#Enabled)
     */
    Enabled: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Smoke#LocalTransparencyModifier)
     */
    LocalTransparencyModifier: number;
    /**
     * Determines how opaque smoke particles render.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Smoke#Opacity)
     */
    Opacity: number;
    /**
     * Determines the velocity of the smoke particles.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Smoke#RiseVelocity)
     */
    RiseVelocity: number;
    /**
     * Determines the size of newly emit smoke particles.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Smoke#Size)
     */
    Size: number;
    /**
     * Value between 0-1 that controls the speed of the particle effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Smoke#TimeScale)
     */
    TimeScale: number;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SmoothVoxelsUpgraderService)
 */
interface SmoothVoxelsUpgraderService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SmoothVoxelsUpgraderService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SnippetService)
 */
interface SnippetService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SnippetService: unique symbol;
}
/**
 * Facilitates social functions that impact relationships made on the Roblox platform.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService)
 */
interface SocialService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SocialService: unique symbol;
    /**
     * Returns a table of all presently connected `Player` objects whose `Player.PartyId` property matches the passed `partyId`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#GetPlayersByPartyId)
     * @param this Facilitates social functions that impact relationships made on the Roblox platform.
     * @param partyId
     * @returns A table of `Player` objects whose `Player.PartyId` property matches the passed `partyId`.
     */
    GetPlayersByPartyId(this: SocialService, partyId: string): Array<Instance>;
    /**
     * Hides the calling player's self view.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#HideSelfView)
     * @param this Facilitates social functions that impact relationships made on the Roblox platform.
     */
    HideSelfView(this: SocialService): void;
    /**
     * Prompts the given `Player` with the invite screen.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#PromptGameInvite)
     * @param this Facilitates social functions that impact relationships made on the Roblox platform.
     * @param player The `Player` to prompt with the invite popup.
     * @param experienceInviteOptions Optional `ExperienceInviteOptions` object for customizing the prompt.
     */
    PromptGameInvite(this: SocialService, player: Player, experienceInviteOptions?: Instance): void;
    /**
     * Prompts the given `Player` with the phone book.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#PromptPhoneBook)
     * @param this Facilitates social functions that impact relationships made on the Roblox platform.
     * @param player The player to prompt with the phone book.
     * @param tag String to help differentiate between various phone book "entry points" or similar. For example, you can pass a string defining what region of an experience the calling player's character is currently in.
     */
    PromptPhoneBook(this: SocialService, player: Player, tag: string): void;
    /**
     * Shows the calling player's self view.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#ShowSelfView)
     * @param this Facilitates social functions that impact relationships made on the Roblox platform.
     * @param selfViewPosition The position to place the self view .
     */
    ShowSelfView(this: SocialService, selfViewPosition?: CastsToEnum<Enum.SelfViewPosition>): void;
    /**
     * Indicates whether the given `Player` can invite other players to a call.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#CanSendCallInviteAsync)
     * @param this Facilitates social functions that impact relationships made on the Roblox platform.
     * @param player The `Player` instance of the player potentially sending a call invite.
     * @returns Whether the specified player can send a call invite.
     */
    CanSendCallInviteAsync(this: SocialService, player: Player): boolean;
    /**
     * Indicates whether the given `Player` can invite other players.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#CanSendGameInviteAsync)
     * @param this Facilitates social functions that impact relationships made on the Roblox platform.
     * @param player The `Player` instance of the player potentially sending an invite.
     * @param recipientId Optional `Player.UserId` of the potential **recipient**, used to check whether the sender can invite that specific recipient.
     * @returns Whether the specified player can send an invite.
     */
    CanSendGameInviteAsync(this: SocialService, player: Player, recipientId?: number): boolean;
    /**
     * Returns the local player's RSVP status for the given event.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#GetEventRsvpStatusAsync)
     * @param this Facilitates social functions that impact relationships made on the Roblox platform.
     * @param eventId The event ID of the event to prompt the player to change their RSVP status for. This must be a valid event ID that exists in the current experience, represented as a string (not a number).
     * @returns Returns an `RsvpStatus` indicating the player's current RSVP status for the event. If the player has not RSVP'd to the event, this will return `RsvpStatus.None`.
     */
    GetEventRsvpStatusAsync(this: SocialService, eventId: string): Enum.RsvpStatus;
    /**
     * Returns details for the specified experience event or `nil` if it is unavailable.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#GetExperienceEventAsync)
     * @param this Facilitates social functions that impact relationships made on the Roblox platform.
     * @param eventId The string identifier of the event to retrieve. Must correspond to an event in the current experience.
     * @returns A dictionary describing the event, or `nil` if the event does not exist, belongs to another experience, or is otherwise unavailable.
     */
    GetExperienceEventAsync(this: SocialService, eventId: string): object | undefined;
    /**
     * Returns an array of dictionaries containing data for all members of the specified party who are currently in the experience.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#GetPartyAsync)
     * @param this Facilitates social functions that impact relationships made on the Roblox platform.
     * @param partyId
     * @returns An array of dictionaries representing the members of the specified party who are currently in the experience.
     */
    GetPartyAsync(this: SocialService, partyId: string): Array<unknown>;
    /**
     * Returns active and upcoming experience events for the current experience.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#GetUpcomingExperienceEventsAsync)
     * @param this Facilitates social functions that impact relationships made on the Roblox platform.
     * @returns An array of dictionaries describing each active or upcoming event in the current experience, ordered by soonest start time first.
     */
    GetUpcomingExperienceEventsAsync(this: SocialService): Array<unknown>;
    /**
     * Prompts the player to submit feedback about the current experience.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#PromptFeedbackSubmissionAsync)
     * @param this Facilitates social functions that impact relationships made on the Roblox platform.
     */
    PromptFeedbackSubmissionAsync(this: SocialService): void;
    /**
     * **Deprecated:**
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#PromptLinkSharing)
     * @param this Facilitates social functions that impact relationships made on the Roblox platform.
     * @param player Prompts the given `Player` with a Roblox platform-level share sheet with a generated share link.
     * @param options `Dictionary` that specifies the configuration for the generated link. It includes the following optional key-value pairs: - `FallbackLinkId` (string). Determines how this share link will   direct player to once expired. Default to experience join link.
     * - `ExpirationSeconds` (number). Determines time to expiration once the   share link is created. Truncates to nearest integer. Defaults to   86,400.
     * - `PreviewTitle` (string) Preview title of the share link.
     * - `PreviewDescription` (string) Preview description of the share link.
     * - `PreviewAssetId` (number) Image asset ID used for share link   preview.
     * - `LaunchData` (string). Used to set a parameter in   `Player:GetJoinData()` when a player joined using the   generated share link.
     *
     *
     * @returns A tuple containing an `PromptLinkSharingResult` indicating the result of the link sharing prompt.
     *
     * @deprecated PromptLinkSharingAsync
     */
    PromptLinkSharing(this: SocialService, player: Player, options?: object): unknown;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#PromptLinkSharingAsync)
     * @param this Facilitates social functions that impact relationships made on the Roblox platform.
     * @param player Prompts the given `Player` with a Roblox platform-level share sheet with a generated share link.
     * @param options `Dictionary` that specifies the configuration for the generated link. It includes the following optional key-value pairs: - `FallbackLinkId` (string). Determines how this share link will   direct player to once expired. Default to experience join link.
     * - `ExpirationSeconds` (number). Determines time to expiration once the   share link is created. Truncates to nearest integer. Defaults to   86,400.
     * - `PreviewTitle` (string) Preview title of the share link.
     * - `PreviewDescription` (string) Preview description of the share link.
     * - `PreviewAssetId` (number) Image asset ID used for share link   preview.
     * - `LaunchData` (string). Used to set a parameter in   `Player:GetJoinData()` when a player joined using the   generated share link.
     *
     *
     * @returns A tuple containing an `PromptLinkSharingResult` indicating the result of the link sharing prompt.
     */
    PromptLinkSharingAsync(this: SocialService, player: Player, options?: object): unknown;
    /**
     * Prompts the local `Player` with a prompt to change their RSVP status to the given event.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#PromptRsvpToEventAsync)
     * @param this Facilitates social functions that impact relationships made on the Roblox platform.
     * @param eventId The event ID of the event to prompt the player to change their RSVP status for. This must be a valid event ID that exists in the current experience, represented as a string (not a number).
     * @returns Returns a `RsvpStatus` indicating the player's new RSVP status after the prompt is closed. If the player closes the prompt without changing their RSVP status, this will return `RsvpStatus.None` or their old `RsvpStatus` if they had already selected a status.
     */
    PromptRsvpToEventAsync(this: SocialService, eventId: string): Enum.RsvpStatus;
    /**
     * Fires when a player's call invite state changes.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#CallInviteStateChanged)
     */
    readonly CallInviteStateChanged: RBXScriptSignal<(player: Player, inviteState: Enum.InviteState) => void>;
    /**
     * Fires when a player closes an invite prompt.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#GameInvitePromptClosed)
     */
    readonly GameInvitePromptClosed: RBXScriptSignal<(senderPlayer: Player, recipientIds: Array<number>) => void>;
    /**
     * Fires when a player closes the phone book prompt.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#PhoneBookPromptClosed)
     */
    readonly PhoneBookPromptClosed: RBXScriptSignal<(player: Player) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#ShareSheetClosed)
     */
    readonly ShareSheetClosed: RBXScriptSignal<(player: Player) => void>;
    /**
     * Callback for when a call is placed from the phone book.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SocialService#OnCallInviteInvoked)
     * @param tag String to help differentiate between various phone book entry points.
     * @param callParticipantIds Array containing all of the players involved in the call. The caller will always be the first player in the array.
     * @returns Table including the `PlaceId` and `ReservedServerAccessCode` keys whose values are the `DataModel.PlaceId` and the server access code returned by `TeleportService:ReserveServerAsync()`, respectively.
     */
    OnCallInviteInvoked: ((tag: string, callParticipantIds: Array<unknown>) => Instance) | undefined;
}
/**
 * An object that emits sound. This object can be placed within a `BasePart` or `Attachment` to emit a sound from a particular position within a place or world, or it can be attached elsewhere to play the sound at a constant volume throughout the entire place.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound)
 */
interface Sound extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Sound: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#AcousticSimulationEnabled)
     */
    AcousticSimulationEnabled: boolean;
    /**
     * A reference to an audio asset.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#AudioContent)
     */
    AudioContent: Content;
    /**
     * **Deprecated:** This property has deprecated in favor of `Sound.RollOffMinDistance` and `Sound.RollOffMaxDistance` which should be used instead in new work.
     *
     * The minimum distance, in studs, at which a 3D `Sound` (direct child of a `BasePart` or `Attachment`) will begin to attenuate (decrease in volume).
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#EmitterSize)
     *
     * @deprecated RollOffMinDistance
     */
    EmitterSize: number;
    /**
     * This property is `true` when the `Sound` has loaded from Roblox servers and is ready to play.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#IsLoaded)
     */
    readonly IsLoaded: boolean;
    /**
     * Read-only property which returns `true` when the `Sound` is not playing.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#IsPaused)
     */
    readonly IsPaused: boolean;
    /**
     * Read-only property which returns `true` when the `Sound` is playing.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#IsPlaying)
     */
    readonly IsPlaying: boolean;
    /**
     * A range denoting a desired loop start and loop end within the `PlaybackRegion`, in seconds.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#LoopRegion)
     */
    LoopRegion: NumberRange;
    /**
     * Sets whether or not the `Sound` repeats once it has finished playing.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#Looped)
     */
    Looped: boolean;
    /**
     * **Deprecated:** This property has deprecated in favor of `Sound.RollOffMinDistance` and `Sound.RollOffMaxDistance` which should be used instead in new work.
     *
     * The maximum distance, in studs, a client's listener can be from the `Sound\s` origin and still hear it. Only applies to Sounds parented to a `Part` or `Attachment` (3D sounds).
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#MaxDistance)
     *
     * @deprecated RollOffMaxDistance
     */
    MaxDistance: number;
    /**
     * **Deprecated:** MinDistance has been superseded by `Sound.EmitterSize`, whose name better describes this properties behavior.
     *
     * The minimum distance at which a 3D `Sound` (direct child of a `BasePart` or `Attachment`) will begin to attenuate. Effectively, the emitter size.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#MinDistance)
     *
     * @deprecated RollOffMinDistance
     */
    MinDistance: number;
    /**
     * **Deprecated:** This property has been deprecated in favor of `Sound.PlaybackSpeed` whose name suits the behavior better.
     *
     * Sets how high pitched and fast a `Sound` is when it is played. The greater the integer, the higher and faster the `Sound` is.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#Pitch)
     *
     * @deprecated PlaybackSpeed
     */
    Pitch: number;
    /**
     * When `true`, the `Sound` will play when it is removed from the experience.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#PlayOnRemove)
     */
    PlayOnRemove: boolean;
    /**
     * A number between `0` and `1000` indicating how loud the `Sound` is currently playing back.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#PlaybackLoudness)
     */
    readonly PlaybackLoudness: number;
    /**
     * A range denoting a desired start and stop time within the `TimeLength`, in seconds.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#PlaybackRegion)
     */
    PlaybackRegion: NumberRange;
    /**
     * If `true`, this property gives your `Sound` access to the `PlaybackRegion` and `LoopRegion` properties which can more-accurately control its playback.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#PlaybackRegionsEnabled)
     */
    PlaybackRegionsEnabled: boolean;
    /**
     * Determines the speed at which a `Sound` will play, with higher values causing the sound to play faster and at a higher pitch.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#PlaybackSpeed)
     */
    PlaybackSpeed: number;
    /**
     * Indicates whether the `Sound` is currently playing.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#Playing)
     */
    Playing: boolean;
    /**
     * The maximum distance, in studs, a client's listener can be from the sound's origin and still hear it. Only applies to `Sounds` parented to a `BasePart` or `Attachment`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#RollOffMaxDistance)
     */
    RollOffMaxDistance: number;
    /**
     * The minimum distance, in studs, at which a `Sound` which is parented to a `BasePart` or `Attachment` will begin to attenuate (decrease in volume).
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#RollOffMinDistance)
     */
    RollOffMinDistance: number;
    /**
     * Controls how the volume of a `Sound` which is parented to a `BasePart` or `Attachment` attenuates (fades out) as the distance between the listener and parent changes.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#RollOffMode)
     */
    RollOffMode: Enum.RollOffMode;
    /**
     * The `SoundGroup` that is linked to this `Sound`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#SoundGroup)
     */
    SoundGroup: SoundGroup | undefined;
    /**
     * Content ID of the sound file to associate with the `Sound`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#SoundId)
     */
    SoundId: ContentId;
    /**
     * The length of the `Sound` in seconds.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#TimeLength)
     */
    readonly TimeLength: number;
    /**
     * Progress of the `Sound` in seconds. Can be changed to move the playback position of the `Sound` both before and during playback.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#TimePosition)
     */
    TimePosition: number;
    /**
     * The volume of the `Sound`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#Volume)
     */
    Volume: number;
    /**
     * Pauses playback of the `Sound` if it is playing.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#Pause)
     * @param this An object that emits sound. This object can be placed within a `BasePart` or `Attachment` to emit a sound from a particular position within a place or world, or it can be attached elsewhere to play the sound at a constant volume throughout the entire place.
     */
    Pause(this: Sound): void;
    /**
     * Plays the `Sound`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#Play)
     * @param this An object that emits sound. This object can be placed within a `BasePart` or `Attachment` to emit a sound from a particular position within a place or world, or it can be attached elsewhere to play the sound at a constant volume throughout the entire place.
     */
    Play(this: Sound): void;
    /**
     * Resumes the `Sound`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#Resume)
     * @param this An object that emits sound. This object can be placed within a `BasePart` or `Attachment` to emit a sound from a particular position within a place or world, or it can be attached elsewhere to play the sound at a constant volume throughout the entire place.
     */
    Resume(this: Sound): void;
    /**
     * Stops the `Sound`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#Stop)
     * @param this An object that emits sound. This object can be placed within a `BasePart` or `Attachment` to emit a sound from a particular position within a place or world, or it can be attached elsewhere to play the sound at a constant volume throughout the entire place.
     */
    Stop(this: Sound): void;
    /**
     * Fires whenever the `Sound` loops.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#DidLoop)
     */
    readonly DidLoop: RBXScriptSignal<(soundId: string, numOfTimesLooped: number) => void>;
    /**
     * Fires when the `Sound` has completed playback and stopped.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#Ended)
     */
    readonly Ended: RBXScriptSignal<(soundId: string) => void>;
    /**
     * Fires when the `Sound` is loaded.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#Loaded)
     */
    readonly Loaded: RBXScriptSignal<(soundId: string) => void>;
    /**
     * Fires whenever the `Sound` is paused using `Pause()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#Paused)
     */
    readonly Paused: RBXScriptSignal<(soundId: string) => void>;
    /**
     * Fires whenever the `Sound` is played using `Play()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#Played)
     */
    readonly Played: RBXScriptSignal<(soundId: string) => void>;
    /**
     * Fires when the `Sound` is resumed using `Resume()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#Resumed)
     */
    readonly Resumed: RBXScriptSignal<(soundId: string) => void>;
    /**
     * Fires when the `Sound` is stopped through using `Stop()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sound#Stopped)
     */
    readonly Stopped: RBXScriptSignal<(soundId: string) => void>;
}
/**
 * SoundEffect is the base class that all other sound effects derive from. A SoundEffect can be applied to either a `Sound` or `SoundGroup` by being parented to either.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundEffect)
 */
interface SoundEffect extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SoundEffect: unique symbol;
    /**
     * Toggles the effect on and off.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundEffect#Enabled)
     */
    Enabled: boolean;
    /**
     * Determines the order the effect will be applied in relation to other effects.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundEffect#Priority)
     */
    Priority: number;
}
/**
 * Makes audio more voluminous by simulating multiple voices playing the same part.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChorusSoundEffect)
 */
interface ChorusSoundEffect extends SoundEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ChorusSoundEffect: unique symbol;
    /**
     * Controls how intense the effect is.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChorusSoundEffect#Depth)
     */
    Depth: number;
    /**
     * Percentage of the original sound that will be applied to the filter.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChorusSoundEffect#Mix)
     */
    Mix: number;
    /**
     * How frequently the pitch variation changes.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChorusSoundEffect#Rate)
     */
    Rate: number;
}
/**
 * Adjusts the dynamic range of audio.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CompressorSoundEffect)
 */
interface CompressorSoundEffect extends SoundEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CompressorSoundEffect: unique symbol;
    /**
     * The time the effect takes to become active after its `Threshold` has been reached.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CompressorSoundEffect#Attack)
     */
    Attack: number;
    /**
     * The overall amplification applied to the effect's `Sound` or `SoundGroup` after attenuation of sounds above the threshold.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CompressorSoundEffect#GainMakeup)
     */
    GainMakeup: number;
    /**
     * The ratio between the `SideChain` sound effect, and this sound effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CompressorSoundEffect#Ratio)
     */
    Ratio: number;
    /**
     * The time the effect takes to become inactive after its sound is below the `Threshold`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CompressorSoundEffect#Release)
     */
    Release: number;
    /**
     * Applies a ducking effect to the compressor sound effect. The behavior of the sidechain depends on the `Sound` or `SoundGroup` linked to it.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CompressorSoundEffect#SideChain)
     */
    SideChain: Sound | SoundGroup | undefined;
    /**
     * Volume level at which point the compressor applies its effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CompressorSoundEffect#Threshold)
     */
    Threshold: number;
}
/**
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CustomSoundEffect)
 */
interface CustomSoundEffect extends SoundEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CustomSoundEffect: unique symbol;
}
/**
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/AssetSoundEffect)
 */
interface AssetSoundEffect extends CustomSoundEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_AssetSoundEffect: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChannelSelectorSoundEffect)
 */
interface ChannelSelectorSoundEffect extends CustomSoundEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ChannelSelectorSoundEffect: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChannelSelectorSoundEffect#Channel)
     */
    Channel: number;
}
/**
 * Distorts audio, making it sound fuzzier and overdriven.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DistortionSoundEffect)
 */
interface DistortionSoundEffect extends SoundEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DistortionSoundEffect: unique symbol;
    /**
     * The intensity of the effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DistortionSoundEffect#Level)
     */
    Level: number;
}
/**
 * Adds delayed repetitions of a sound with diminishing volume.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EchoSoundEffect)
 */
interface EchoSoundEffect extends SoundEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_EchoSoundEffect: unique symbol;
    /**
     * The amount of time between echoes.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EchoSoundEffect#Delay)
     */
    Delay: number;
    /**
     * The output volume of the original sound.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EchoSoundEffect#DryLevel)
     */
    DryLevel: number;
    /**
     * The echo decay every time the echo plays.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EchoSoundEffect#Feedback)
     */
    Feedback: number;
    /**
     * The output volume of the echoed effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EchoSoundEffect#WetLevel)
     */
    WetLevel: number;
}
/**
 * Controls the volume of incoming audio across three frequency ranges.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EqualizerSoundEffect)
 */
interface EqualizerSoundEffect extends SoundEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_EqualizerSoundEffect: unique symbol;
    /**
     * The output volume of frequencies greater than 4000 Hz.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EqualizerSoundEffect#HighGain)
     */
    HighGain: number;
    /**
     * The output volume of frequencies lower than 400 Hz.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EqualizerSoundEffect#LowGain)
     */
    LowGain: number;
    /**
     * The output volume of frequencies between 400 and 4000 Hz.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/EqualizerSoundEffect#MidGain)
     */
    MidGain: number;
}
/**
 * Creates a sweeping or swooshing effect on a sound.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FlangeSoundEffect)
 */
interface FlangeSoundEffect extends SoundEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_FlangeSoundEffect: unique symbol;
    /**
     * The intensity of the effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FlangeSoundEffect#Depth)
     */
    Depth: number;
    /**
     * Percentage of the original sound that will be applied to the filter.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FlangeSoundEffect#Mix)
     */
    Mix: number;
    /**
     * The frequency that the effect oscillates at.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/FlangeSoundEffect#Rate)
     */
    Rate: number;
}
/**
 * Adjusts the pitch of a sound without changing its playback speed.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PitchShiftSoundEffect)
 */
interface PitchShiftSoundEffect extends SoundEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PitchShiftSoundEffect: unique symbol;
    /**
     * The percentage to shift the original pitch.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PitchShiftSoundEffect#Octave)
     */
    Octave: number;
}
/**
 * Reverberates audio, simulating the effect of bouncing off walls in a room.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ReverbSoundEffect)
 */
interface ReverbSoundEffect extends SoundEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ReverbSoundEffect: unique symbol;
    /**
     * Sets how long it takes for the reverberating echoes to fade out completely.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ReverbSoundEffect#DecayTime)
     */
    DecayTime: number;
    /**
     * Controls how many reflections are generated.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ReverbSoundEffect#Density)
     */
    Density: number;
    /**
     * Controls how smooth and reflective the simulated surfaces are.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ReverbSoundEffect#Diffusion)
     */
    Diffusion: number;
    /**
     * The output volume of the original sound.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ReverbSoundEffect#DryLevel)
     */
    DryLevel: number;
    /**
     * The output volume of the echoed effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ReverbSoundEffect#WetLevel)
     */
    WetLevel: number;
}
/**
 * Creates a trembling effect on a sound by varying the volume of the sound up and down.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TremoloSoundEffect)
 */
interface TremoloSoundEffect extends SoundEffect {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TremoloSoundEffect: unique symbol;
    /**
     * Controls how much the volume will raise and lower.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TremoloSoundEffect#Depth)
     */
    Depth: number;
    /**
     * Controls how long during one volume oscillation the effect will be active.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TremoloSoundEffect#Duty)
     */
    Duty: number;
    /**
     * Sets how often the effect will oscillate the volume.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TremoloSoundEffect#Frequency)
     */
    Frequency: number;
}
/**
 * A `SoundGroup` is used to manage the volume and sound effects on multiple `Sounds` at once. `Sounds` in the SoundGroup will have their volume and effects adjusted by the SoundGroup.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundGroup)
 */
interface SoundGroup extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SoundGroup: unique symbol;
    /**
     * The volume multiplier applied to `Sounds` that are in the `SoundGroup`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundGroup#Volume)
     */
    Volume: number;
}
/**
 * A service that determines various aspects of how the audio engine works. Most of its properties affect how `Sounds` play in the experience.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundService)
 */
interface SoundService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SoundService: unique symbol;
    /**
     * Determines whether acoustic simulation is enabled globally in the advanced audio system.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundService#AcousticSimulationEnabled)
     */
    AcousticSimulationEnabled: boolean;
    /**
     * The ambient sound environment preset applied to all `Sounds`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundService#AmbientReverb)
     */
    AmbientReverb: Enum.ReverbType;
    /**
     * Determines whether the default character sounds will use instances in the advanced audio system vs. `Sounds`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundService#CharacterSoundsUseNewApi)
     */
    get CharacterSoundsUseNewApi(): Enum.RolloutState;
    /**
     * The number of studs to be considered a meter by `SoundService` when simulating the Doppler effect for `Sounds`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundService#DistanceFactor)
     */
    DistanceFactor: number;
    /**
     * Degree to which the pitch of a `Sound` varies due to the Doppler effect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundService#DopplerScale)
     */
    DopplerScale: number;
    /**
     * Sets whether `Sound` playback from a client will replicate to the server.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundService#RespectFilteringEnabled)
     */
    RespectFilteringEnabled: boolean;
    /**
     * Determines how fast the volume of a `Sound` attenuates beyond its `Sound.RollOffMinDistance`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundService#RolloffScale)
     */
    RolloffScale: number;
    /**
     * Returns the current listener type used by `Sounds`, as well as what that listener is currently set to.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundService#GetListener)
     * @param this A service that determines various aspects of how the audio engine works. Most of its properties affect how `Sounds` play in the experience.
     * @returns A table containing two results. The first result is the listener's `ListenerType` and the second result is dependent on that type: | Listener Type                      | Description                                                                                        |
     * | ---------------------------------- | -------------------------------------------------------------------------------------------------- |
     * | `Enum.ListenerType.Camera`         | Does not return a listener object as `Class.Workspace.CurrentCamera|CurrentCamera` is always used. |
     * | `Enum.ListenerType.CFrame`         | Returns the `Datatype.CFrame` used in `Class.SoundService:SetListener()|SetListener()`.            |
     * | `Enum.ListenerType.ObjectPosition` | Returns the `Class.BasePart` used in `Class.SoundService:SetListener()|SetListener()`.             |
     * | `Enum.ListenerType.ObjectCFrame`   | Returns the `Class.BasePart` used in `Class.SoundService:SetListener()|SetListener()`.             |
     */
    GetListener(this: SoundService): LuaTuple<[
        Enum.ListenerType.Camera,
        undefined
    ] | [
        Enum.ListenerType.CFrame,
        CFrame
    ] | [
        Enum.ListenerType.ObjectCFrame,
        BasePart
    ] | [
        Enum.ListenerType.ObjectPosition,
        BasePart
    ]>;
    /**
     * Returns the number of seconds since the audio engine began mixing.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundService#GetMixerTime)
     * @param this A service that determines various aspects of how the audio engine works. Most of its properties affect how `Sounds` play in the experience.
     * @returns The number of seconds since the audio engine began mixing. This value is stable, sample-accurate, and monotonically-increasing – intended to be used for scheduling audible changes at precise times.
     */
    GetMixerTime(this: SoundService): number;
    /**
     * Plays a copy of a `Sound` locally, such that it will only be heard by the client calling this method.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundService#PlayLocalSound)
     * @param this A service that determines various aspects of how the audio engine works. Most of its properties affect how `Sounds` play in the experience.
     * @param sound The `Sound` to be played.
     */
    PlayLocalSound(this: SoundService, sound: Sound): void;
    /**
     * Sets the listener used by `Sounds`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundService#SetListener)
     * @param this A service that determines various aspects of how the audio engine works. Most of its properties affect how `Sounds` play in the experience.
     * @param listenerType The `ListenerType` of the listener.
     * @param listener Dependent on the `ListenerType`. Use a `BasePart` for `ListenerType.ObjectPosition` or `ListenerType.ObjectCFrame`, a `CFrame` for `ListenerType.CFrame`, or `nil` for `ListenerType.Camera`.
     */
    SetListener(this: SoundService, listenerType: CastsToEnum<Enum.ListenerType.Camera>): void;
    SetListener(this: SoundService, listenerType: CastsToEnum<Enum.ListenerType.CFrame>, cframe: CFrame): void;
    SetListener(this: SoundService, listenerType: CastsToEnum<Enum.ListenerType.ObjectCFrame>, basePart: BasePart): void;
    SetListener(this: SoundService, listenerType: CastsToEnum<Enum.ListenerType.ObjectPosition>, basePart: BasePart): void;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SoundShimService)
 */
interface SoundShimService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SoundShimService: unique symbol;
}
/**
 * A particle emitter with the visual aesthetic of sparkles.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sparkles)
 */
interface Sparkles extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Sparkles: unique symbol;
    /**
     * Determines the color of the sparkle particles.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sparkles#Color)
     */
    Color: Color3;
    /**
     * Determines whether sparkles are emit.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sparkles#Enabled)
     */
    Enabled: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sparkles#LocalTransparencyModifier)
     */
    LocalTransparencyModifier: number;
    /**
     * Determines the color of the sparkle particles.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sparkles#SparkleColor)
     */
    SparkleColor: Color3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Sparkles#TimeScale)
     */
    TimeScale: number;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StackFrame)
 */
interface StackFrame extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StackFrame: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StartPageService)
 */
interface StartPageService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StartPageService: unique symbol;
}
/**
 * If the game allows gear, StarterGear contains all of a player's appropriate gear. Whenever the player's character spawns, all of the contents of that player's StarterGear will get copied into the player's `Backpack`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterGear)
 */
interface StarterGear extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StarterGear: unique symbol;
}
/**
 * A service-level container whose contents are copied into each player's `Backpack` when the player spawns. It is generally used to hold `Tools`, but is sometimes used to hold `LocalScripts` to ensure that each player gets a copy.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPack)
 */
interface StarterPack extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StarterPack: unique symbol;
}
/**
 * A service which allows the defaults of properties in the `Player` object to be set.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer)
 */
interface StarterPlayer extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StarterPlayer: unique symbol;
    /**
     * Describes the current game's permission levels regarding custom avatar animations from the website.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#AllowCustomAnimations)
     */
    get AllowCustomAnimations(): boolean;
    /**
     * Sets whether the character will automatically jump when hitting an obstacle on a mobile device.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#AutoJumpEnabled)
     */
    AutoJumpEnabled: boolean;
    /**
     * The maximum distance the player's default camera is allowed to zoom out in studs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#CameraMaxZoomDistance)
     */
    CameraMaxZoomDistance: number;
    /**
     * The minimum distance in studs the player's default camera is allowed to zoom in.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#CameraMinZoomDistance)
     */
    CameraMinZoomDistance: number;
    /**
     * Changes the default camera's mode to either first or third person.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#CameraMode)
     */
    CameraMode: Enum.CameraMode;
    /**
     * Determines the starting value of `Humanoid.BreakJointsOnDeath` for `Player.Character`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#CharacterBreakJointsOnDeath)
     */
    CharacterBreakJointsOnDeath: boolean;
    /**
     * Determines the starting value of `Humanoid.JumpHeight` for `Player.Character`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#CharacterJumpHeight)
     */
    CharacterJumpHeight: number;
    /**
     * Determines the starting value of `Humanoid.JumpPower` for `Player.Character`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#CharacterJumpPower)
     */
    CharacterJumpPower: number;
    /**
     * Determines the starting value of `Humanoid.MaxSlopeAngle` for `Player.Character`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#CharacterMaxSlopeAngle)
     */
    CharacterMaxSlopeAngle: number;
    /**
     * Determines the starting state of `Humanoid.UseJumpPower` for `Player.Character`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#CharacterUseJumpPower)
     */
    CharacterUseJumpPower: boolean;
    /**
     * Determines the starting value of `Humanoid.WalkSpeed` for `Player.Character`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#CharacterWalkSpeed)
     */
    CharacterWalkSpeed: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#ClassicDeath)
     */
    ClassicDeath: boolean;
    /**
     * Sets how the default camera handles objects between the camera and the player.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#DevCameraOcclusionMode)
     */
    DevCameraOcclusionMode: Enum.DevCameraOcclusionMode;
    /**
     * Lets you overwrite the player's camera mode on a computer.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#DevComputerCameraMovementMode)
     */
    DevComputerCameraMovementMode: Enum.DevComputerCameraMovementMode;
    /**
     * Lets you overwrite the player's movement mode on a computer.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#DevComputerMovementMode)
     */
    DevComputerMovementMode: Enum.DevComputerMovementMode;
    /**
     * Lets you overwrite the player's camera mode on a touch-enabled device.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#DevTouchCameraMovementMode)
     */
    DevTouchCameraMovementMode: Enum.DevTouchCameraMovementMode;
    /**
     * Lets you overwrite the player's movement mode on a touch-enabled device.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#DevTouchMovementMode)
     */
    DevTouchMovementMode: Enum.DevTouchMovementMode;
    /**
     * Determines if a player can toggle mouse lock by default.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#EnableMouseLockOption)
     */
    EnableMouseLockOption: boolean;
    /**
     * Sets the distance at which this player will see other `Humanoid` health bars. If set to 0, the health bars will not be displayed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#HealthDisplayDistance)
     */
    HealthDisplayDistance: number;
    /**
     * Whether or not the appearance of a player's character should be loaded.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#LoadCharacterAppearance)
     */
    LoadCharacterAppearance: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#LuaCharacterController)
     */
    LuaCharacterController: Enum.CharacterControlMode;
    /**
     * Sets the distance at which this player will see other `Humanoid` names.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#NameDisplayDistance)
     */
    NameDisplayDistance: number;
    /**
     * Determines if user-owned emotes are loaded when loading avatars.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayer#UserEmotesEnabled)
     */
    UserEmotesEnabled: boolean;
}
/**
 * A container for objects to be copied to a Player's PlayerScripts when they join a game.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterPlayerScripts)
 */
interface StarterPlayerScripts extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StarterPlayerScripts: unique symbol;
}
/**
 * Stores instances to be parented to a player's character when it spawns.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StarterCharacterScripts)
 */
interface StarterCharacterScripts extends StarterPlayerScripts {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StarterCharacterScripts: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StartupMessageService)
 */
interface StartupMessageService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StartupMessageService: unique symbol;
}
/**
 * Performance metrics for a game.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats)
 */
interface Stats extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Stats: unique symbol;
    /**
     * A measurement of how many parts are currently in contact with one another.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#ContactsCount)
     */
    readonly ContactsCount: number;
    /**
     * In a networked game, this describes roughly how many kilobytes of data are being received by the current instance, per second.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#DataReceiveKbps)
     */
    readonly DataReceiveKbps: number;
    /**
     * In a networked game, this describes roughly how many kilobytes of data are being sent by the current instance, per second.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#DataSendKbps)
     */
    readonly DataSendKbps: number;
    /**
     * A measurement of how long it takes for the engine to process all tasks required to render a frame.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#FrameTime)
     */
    readonly FrameTime: number;
    /**
     * A measurement of the total amount of time it takes for the server to update its task scheduler jobs in seconds.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#HeartbeatTime)
     */
    readonly HeartbeatTime: number;
    /**
     * **Deprecated:**
     *
     * A measurement of the total amount of time it takes long it takes for Roblox to update all of its task scheduler jobs, in milliseconds.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#HeartbeatTimeMs)
     *
     * @deprecated
     */
    readonly HeartbeatTimeMs: number;
    /**
     * A measurement of how many `Instance` are currently in memory.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#InstanceCount)
     */
    readonly InstanceCount: number;
    /**
     * An indication of whether memory tracking is enabled. This is guaranteed to be unchanged until the next time the Client is started.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#MemoryTrackingEnabled)
     */
    readonly MemoryTrackingEnabled: boolean;
    /**
     * A measurement of how many physically simulated components are currently moving in the game world.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#MovingPrimitivesCount)
     */
    readonly MovingPrimitivesCount: number;
    /**
     * In a networked game, this describes roughly how many kilobytes of physics data are being received by the current instance, per second.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#PhysicsReceiveKbps)
     */
    readonly PhysicsReceiveKbps: number;
    /**
     * In a networked game, this describes roughly how many kilobytes of physics data are being sent by the current instance, per second.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#PhysicsSendKbps)
     */
    readonly PhysicsSendKbps: number;
    /**
     * A measurement of how long it takes for the physics engine to update its current state.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#PhysicsStepTime)
     */
    readonly PhysicsStepTime: number;
    /**
     * **Deprecated:**
     *
     * A measurement of how long it takes for the physics engine to update its current state, in milliseconds. If this value is high, then it means the game instance is under stress from the physics simulations taking place.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#PhysicsStepTimeMs)
     *
     * @deprecated
     */
    readonly PhysicsStepTimeMs: number;
    /**
     * A measurement of how many physically simulated components currently exist in the game world.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#PrimitivesCount)
     */
    readonly PrimitivesCount: number;
    /**
     * A measurement of how long it takes for the CPU to process all of its rendering tasks for a frame.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#RenderCPUFrameTime)
     */
    readonly RenderCPUFrameTime: number;
    /**
     * A measurement of how long it takes for the GPU to process all of its tasks required to render a frame.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#RenderGPUFrameTime)
     */
    readonly RenderGPUFrameTime: number;
    /**
     * A measurement of the number of draw calls made by the game's current scene.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#SceneDrawcallCount)
     */
    readonly SceneDrawcallCount: number;
    /**
     * A measurement of the number of triangles rendered by the game's current scene.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#SceneTriangleCount)
     */
    readonly SceneTriangleCount: number;
    /**
     * A measurement of the number of draw calls being made for shadows by the game's current scene.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#ShadowsDrawcallCount)
     */
    readonly ShadowsDrawcallCount: number;
    /**
     * A measurement of the number of triangles rendered as shadows in the game's current scene.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#ShadowsTriangleCount)
     */
    readonly ShadowsTriangleCount: number;
    /**
     * A measurement of the number of 2D draw calls made for UI elements in the game's current scene.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#UI2DDrawcallCount)
     */
    readonly UI2DDrawcallCount: number;
    /**
     * A measurement of the number of triangles that are being rendered for 2D UI elements in the game's current scene.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#UI2DTriangleCount)
     */
    readonly UI2DTriangleCount: number;
    /**
     * A measurement of the number of 3D draw calls made for UI elements in the game's current scene.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#UI3DDrawcallCount)
     */
    readonly UI3DDrawcallCount: number;
    /**
     * A measurement of the number of triangles being rendered for 3D UI elements in the game's current scene.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#UI3DTriangleCount)
     */
    readonly UI3DTriangleCount: number;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#GetHarmonyQualityLevel)
     * @param this Performance metrics for a game.
     */
    GetHarmonyQualityLevel(this: Stats): number;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#GetMemoryCategoryNames)
     * @param this Performance metrics for a game.
     */
    GetMemoryCategoryNames(this: Stats): Array<unknown>;
    /**
     * Returns the number of megabytes that are being consumed by all available categories, or an empty array if `MemoryTrackingEnabled` is `false`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#GetMemoryUsageMbAllCategories)
     * @param this Performance metrics for a game.
     */
    GetMemoryUsageMbAllCategories(this: Stats): Array<unknown>;
    /**
     * Returns the number of megabytes that are being consumed in the specified `DeveloperMemoryTag` category, or `0` if `MemoryTrackingEnabled` is `false`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#GetMemoryUsageMbForTag)
     * @param this Performance metrics for a game.
     * @param tag
     */
    GetMemoryUsageMbForTag(this: Stats, tag: CastsToEnum<Enum.DeveloperMemoryTag>): number;
    /**
     * Returns the total amount of memory being consumed by the current game session, in megabytes.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#GetTotalMemoryUsageMb)
     * @param this Performance metrics for a game.
     */
    GetTotalMemoryUsageMb(this: Stats): number;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#ResetHarmonyMemoryTarget)
     * @param this Performance metrics for a game.
     */
    ResetHarmonyMemoryTarget(this: Stats): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Stats#SetHarmonyMemoryTarget)
     * @param this Performance metrics for a game.
     * @param targetMB
     */
    SetHarmonyMemoryTarget(this: Stats, targetMB: number): void;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioAssetService)
 */
interface StudioAssetService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StudioAssetService: unique symbol;
}
/**
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioAttachment)
 */
interface StudioAttachment extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StudioAttachment: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioAttachment#AutoHideParent)
     */
    AutoHideParent: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioAttachment#IsArrowVisible)
     */
    IsArrowVisible: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioAttachment#Offset)
     */
    Offset: Vector2;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioAttachment#SourceAnchorPoint)
     */
    SourceAnchorPoint: Vector2;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioAttachment#TargetAnchorPoint)
     */
    TargetAnchorPoint: Vector2;
}
/**
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioCallout)
 */
interface StudioCallout extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StudioCallout: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioCameraService)
 */
interface StudioCameraService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StudioCameraService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioCaptureService)
 */
interface StudioCaptureService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StudioCaptureService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioDeviceEmulatorService)
 */
interface StudioDeviceEmulatorService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StudioDeviceEmulatorService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioDeviceSimulatorService)
 */
interface StudioDeviceSimulatorService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StudioDeviceSimulatorService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioObjectBase)
 */
interface StudioObjectBase extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StudioObjectBase: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioWidget)
 */
interface StudioWidget extends StudioObjectBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StudioWidget: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioPublishService)
 */
interface StudioPublishService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StudioPublishService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioScreenshotCapture)
 */
interface StudioScreenshotCapture extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StudioScreenshotCapture: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioScriptDebugEventListener)
 */
interface StudioScriptDebugEventListener extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StudioScriptDebugEventListener: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioSdkService)
 */
interface StudioSdkService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StudioSdkService: unique symbol;
}
/**
 * Service allowing plugins to automate and customize Test and Run mode testing.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioTestService)
 */
interface StudioTestService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StudioTestService: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioTestService#AddPlayers)
     */
    AddPlayers(this: StudioTestService, numPlayers: number): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioTestService#CanLeaveTest)
     */
    CanLeaveTest(this: StudioTestService): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioTestService#EndTest)
     * @param this Service allowing plugins to automate and customize Test and Run mode testing.
     * @param value Value returned to the calling `StudioTestService:ExecutePlayModeAsync()` or `StudioTestService:ExecuteRunModeAsync()` method.
     */
    EndTest(this: StudioTestService, value: unknown): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioTestService#GetTestArgs)
     * @param this Service allowing plugins to automate and customize Test and Run mode testing.
     * @returns Arguments passed to the test, or `nil`.
     */
    GetTestArgs(this: StudioTestService): unknown;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioTestService#LeaveTest)
     */
    LeaveTest(this: StudioTestService): void;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioUserService)
 */
interface StudioUserService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StudioUserService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StudioWidgetsService)
 */
interface StudioWidgetsService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StudioWidgetsService: unique symbol;
}
/**
 * The base class for `StyleSheet` and `StyleRule`.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleBase)
 */
interface StyleBase extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StyleBase: unique symbol;
    /**
     * Returns an array of associated `StyleRules`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleBase#GetStyleRules)
     * @param this The base class for `StyleSheet` and `StyleRule`.
     * @returns Array of `StyleRules`.
     */
    GetStyleRules(this: StyleBase): Array<Instance>;
    /**
     * Inserts a new `StyleRule` into the array of rules.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleBase#InsertStyleRule)
     * @param this The base class for `StyleSheet` and `StyleRule`.
     * @param rule The `StyleRule` to insert.
     * @param priority The number to set the rule's `Priority` to.
     */
    InsertStyleRule(this: StyleBase, rule: StyleRule, priority?: number): void;
    /**
     * Similar to `InsertStyleRule()` but lets you declare and set multiple `StyleRules` at once.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleBase#SetStyleRules)
     * @param this The base class for `StyleSheet` and `StyleRule`.
     * @param rules Array of `StyleRules` to set.
     */
    SetStyleRules(this: StyleBase, rules: Array<Instance>): void;
    /**
     * Fires when one or more `StyleRules` is explicitly changed on the connected `StyleSheet` or `StyleRule`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleBase#StyleRulesChanged)
     */
    readonly StyleRulesChanged: RBXScriptSignal<() => void>;
}
/**
 * Defines style properties which override properties on the instances affected by the `Selector` property.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleRule)
 */
interface StyleRule extends StyleBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StyleRule: unique symbol;
    /**
     * A number that determines how properties of the `StyleRule` apply relative to the same properties in other `StyleRules`. Higher priority values take precedence over lower.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleRule#Priority)
     */
    Priority: number;
    /**
     * A string specifying which instances the `StyleRule` should affect.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleRule#Selector)
     */
    Selector: string;
    /**
     * A read-only string that displays errors from the `Selector` property.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleRule#SelectorError)
     */
    readonly SelectorError: string;
    /**
     * Returns a dictionary of key-value pairs describing the properties of the `StyleRule`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleRule#GetProperties)
     * @param this Defines style properties which override properties on the instances affected by the `Selector` property.
     * @returns Dictionary of key-value pairs describing the properties of the `StyleRule`.
     */
    GetProperties(this: StyleRule): object;
    /**
     * Returns the value of a specific property in the `StyleRule`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleRule#GetProperty)
     * @param this Defines style properties which override properties on the instances affected by the `Selector` property.
     * @param name String name of the property, for example `"AnchorPoint"` or `"BackgroundColor3"`.
     * @returns Value of the property.
     */
    GetProperty(this: StyleRule, name: string): unknown;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleRule#GetPropertyTransitions)
     * @param this Defines style properties which override properties on the instances affected by the `Selector` property.
     */
    GetPropertyTransitions(this: StyleRule): object;
    /**
     * Lets you declare and set multiple properties of the `StyleRule` at once.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleRule#SetProperties)
     * @param this Defines style properties which override properties on the instances affected by the `Selector` property.
     * @param styleProperties Dictionary of key-value pairs defining the properties to set.
     */
    SetProperties(this: StyleRule, styleProperties: object): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleRule#SetProperty)
     * @param this Defines style properties which override properties on the instances affected by the `Selector` property.
     * @param name Property name to set, for example `"BackgroundColor3"`.
     * @param value Property value to set, for example `Color3.new(1, 0, 0.25)`.
     */
    SetProperty(this: StyleRule, name: string, value: unknown): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleRule#SetPropertyTransition)
     */
    SetPropertyTransition(this: StyleRule, property: string, transitionParams: unknown): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleRule#SetPropertyTransitions)
     * @param this Defines style properties which override properties on the instances affected by the `Selector` property.
     * @param properties
     */
    SetPropertyTransitions(this: StyleRule, properties: object): void;
}
/**
 * Aggregates `StyleRules` and can be linked to `DataModel` trees to apply style properties to instances.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleSheet)
 */
interface StyleSheet extends StyleBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StyleSheet: unique symbol;
    /**
     * Returns an array of other `StyleSheets` from which the `StyleSheet` is deriving `StyleRules` and token definitions.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleSheet#GetDerives)
     * @param this Aggregates `StyleRules` and can be linked to `DataModel` trees to apply style properties to instances.
     * @returns Array of other `StyleSheets`.
     */
    GetDerives(this: StyleSheet): Array<Instance>;
    /**
     * Sets the `StyleSheet` to derive `StyleRules` and token definitions from one or more other `StyleSheets`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleSheet#SetDerives)
     * @param this Aggregates `StyleRules` and can be linked to `DataModel` trees to apply style properties to instances.
     * @param derives Array of other `StyleSheets` to derive `StyleRules` and token definitions from.
     */
    SetDerives(this: StyleSheet, derives: Array<Instance>): void;
}
/**
 * When parented to a `StyleSheet`, references another `StyleSheet` from which the parent inherits `StyleRules` and token definitions.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleDerive)
 */
interface StyleDerive extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StyleDerive: unique symbol;
    /**
     * A number that determines how style properties inherited through this `StyleDerive` apply relative to the same properties inherited through other `StyleDerives`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleDerive#Priority)
     */
    Priority: number;
    /**
     * The `StyleSheet` from which the parent `StyleSheet` inherits `StyleRules` and token definitions.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleDerive#StyleSheet)
     */
    StyleSheet: StyleSheet | undefined;
}
/**
 * Links a `StyleSheet` to the instance tree whose root is the parent of the `StyleLink`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleLink)
 */
interface StyleLink extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StyleLink: unique symbol;
    /**
     * The `StyleSheet` to link to the parent such that the parent's descendants are styled accordingly.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleLink#StyleSheet)
     */
    StyleSheet: StyleSheet | undefined;
}
/**
 * Instance used to set conditions such as `"MaxSize"` and `"PreferredInput"` for a `StyleRule`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleQuery)
 */
interface StyleQuery extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StyleQuery: unique symbol;
    /**
     * A boolean that determines whether a `StyleRule.Selector` of `@` will match the `StyleQuery` name.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleQuery#IsActive)
     */
    readonly IsActive: boolean;
    /**
     * Returns the value of a specific condition in the `StyleQuery`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleQuery#GetCondition)
     * @param this Instance used to set conditions such as `"MaxSize"` and `"PreferredInput"` for a `StyleRule`.
     * @param name String name of the condition, for example `"MaxSize"` or `"ViewportDisplaySize"`.
     * @returns Value of the condition.
     */
    GetCondition(this: StyleQuery, name: string): unknown;
    /**
     * Returns a dictionary of key-value pairs describing the conditoins set on the `StyleQuery`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleQuery#GetConditions)
     * @param this Instance used to set conditions such as `"MaxSize"` and `"PreferredInput"` for a `StyleRule`.
     * @returns Dictionary of key-value pairs describing the conditions set on the `StyleQuery`.
     */
    GetConditions(this: StyleQuery): object;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleQuery#SetCondition)
     * @param this Instance used to set conditions such as `"MaxSize"` and `"PreferredInput"` for a `StyleRule`.
     * @param name Condition name to set, for example `"MinSize"`.
     * @param value Condition value to set, for example `Vector2.new(100, 0)`.
     */
    SetCondition(this: StyleQuery, name: string, value: unknown): void;
    /**
     * Lets you declare and set multiple conditions of the `StyleQuery` at once.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StyleQuery#SetConditions)
     * @param this Instance used to set conditions such as `"MaxSize"` and `"PreferredInput"` for a `StyleRule`.
     * @param conditions Dictionary of key-value pairs defining the conditions to set.
     */
    SetConditions(this: StyleQuery, conditions: object): void;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StylingService)
 */
interface StylingService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StylingService: unique symbol;
}
/**
 * An object that allows developers to override the appearance of a MeshPart with advanced graphics options.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceAppearance)
 */
interface SurfaceAppearance extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SurfaceAppearance: unique symbol;
    /**
     * Determines how the alpha channel of the `SurfaceAppearance.ColorMap` is used.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceAppearance#AlphaMode)
     */
    AlphaMode: Enum.AlphaMode;
    /**
     * Applies a tint to your existing colormap. Set directly with color picker or programmatically with `Color3`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceAppearance#Color)
     */
    Color: Color3;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceAppearance#ColorMapContent)
     */
    get ColorMapContent(): Content;
    /**
     * Determines the emissivity across the surface.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceAppearance#EmissiveMaskContent)
     */
    get EmissiveMaskContent(): Content;
    /**
     * Determines the strength of emissive contribution.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceAppearance#EmissiveStrength)
     */
    EmissiveStrength: number;
    /**
     * Determines the tinting color for emissive contribution.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceAppearance#EmissiveTint)
     */
    EmissiveTint: Color3;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceAppearance#MetalnessMapContent)
     */
    get MetalnessMapContent(): Content;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceAppearance#NormalMapContent)
     */
    get NormalMapContent(): Content;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceAppearance#ResampleMode)
     */
    ResampleMode: Enum.ResamplerMode;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SurfaceAppearance#RoughnessMapContent)
     */
    get RoughnessMapContent(): Content;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/SystemThemeService)
 */
interface SystemThemeService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_SystemThemeService: unique symbol;
}
/**
 * The `Team` class represents a faction in a Roblox place. The only valid parent for a Team is in the `Teams` service.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Team)
 */
interface Team extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Team: unique symbol;
    /**
     * This property determines whether `Players` will be automatically placed onto the `Team` when joining. If multiple teams have this property set to true, Roblox will attempt to even the teams out when `Players` are added.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Team#AutoAssignable)
     */
    AutoAssignable: boolean;
    /**
     * **Deprecated:** This property is deprecated and no longer functions, it should not be used for new work.
     *
     * Deprecated and no longer functional. Historically set whether or not `Player` character models on a team would be colored to `Team.TeamColor`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Team#AutoColorCharacters)
     *
     * @deprecated
     */
    AutoColorCharacters: boolean;
    /**
     * **Deprecated:** This property is deprecated and should not be used in new work. For more information on how to handle leaderboards and scoring please see [this tutorial](../../../players/leaderboards.md).
     *
     * This property can be used to store an integer value associated with the team. This property offers no additional functionality and is not used by any game services.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Team#Score)
     *
     * @deprecated
     */
    Score: number;
    /**
     * This property sets the color of the `Team`. Determines the `Player.TeamColor` property of players who are a member of the team. Also determines the color displayed on the player list and above player's heads.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Team#TeamColor)
     */
    TeamColor: BrickColor;
    /**
     * Returns a list of `Players` who are assigned to the `Team`. A `Player` is considered assigned if their `Player.Team` property is equal to the `Team` and `Player.Neutral` is false.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Team#GetPlayers)
     * @param this The `Team` class represents a faction in a Roblox place. The only valid parent for a Team is in the `Teams` service.
     * @returns An array of `Players` in the `Team`.
     */
    GetPlayers(this: Team): Array<Player>;
    /**
     * Fires whenever a `Player` is assigned to the `Team`. A player is considered assigned if their `Player.Team` property is equal to the `Team` and `Player.Neutral` is false.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Team#PlayerAdded)
     */
    readonly PlayerAdded: RBXScriptSignal<(player: Player) => void>;
    /**
     * Fires whenever a `Player` is removed from a `Team`. This can be due to the `Player` leaving the game, `Player.Neutral` being set to true or the `Player` joining a different team.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Team#PlayerRemoved)
     */
    readonly PlayerRemoved: RBXScriptSignal<(player: Player) => void>;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeamCreateData)
 */
interface TeamCreateData extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TeamCreateData: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeamCreatePublishService)
 */
interface TeamCreatePublishService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TeamCreatePublishService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeamCreateService)
 */
interface TeamCreateService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TeamCreateService: unique symbol;
}
/**
 * The Teams service holds a game's `Team` objects. `Team` objects must be parented to the Teams service.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Teams)
 */
interface Teams extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Teams: unique symbol;
    /**
     * Returns a table containing the game's `Team` objects. Will only return `Team` objects that are parented to the `Teams` service.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Teams#GetTeams)
     * @param this The Teams service holds a game's `Team` objects. `Team` objects must be parented to the Teams service.
     * @returns An array of `Teams` in the game.
     */
    GetTeams(this: Teams): Array<Team>;
    /**
     * **Deprecated:** This function has been deprecated and no longer functions correctly. It should not be used. Developers should instead implement their own team sorting systems.
     *
     * Evens the number of people on each team. This function does not work correctly and should not be used.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Teams#RebalanceTeams)
     * @param this The Teams service holds a game's `Team` objects. `Team` objects must be parented to the Teams service.
     *
     * @deprecated
     */
    RebalanceTeams(this: Teams): void;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TelemetryService)
 */
interface TelemetryService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TelemetryService: unique symbol;
}
/**
 * The return structure of the `TeleportAsync` function call.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportAsyncResult)
 */
interface TeleportAsyncResult extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TeleportAsyncResult: unique symbol;
    /**
     * The private server ID of the reserved server that the players are being teleported to.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportAsyncResult#PrivateServerId)
     */
    readonly PrivateServerId: string;
    /**
     * The access code of the reserved server that the players are being teleported to.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportAsyncResult#ReservedServerAccessCode)
     */
    readonly ReservedServerAccessCode: string;
}
/**
 * Optional input arguments to the `TeleportService:TeleportAsync()` function.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportOptions)
 */
interface TeleportOptions extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TeleportOptions: unique symbol;
    /**
     * The reserved server access code that indicates the reserved server that the teleport should be to.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportOptions#ReservedServerAccessCode)
     */
    ReservedServerAccessCode: string;
    /**
     * The `DataModel.JobId` of the server instance to teleport to.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportOptions#ServerInstanceId)
     */
    ServerInstanceId: string;
    /**
     * A flag to indicate if a reserved server should be allocated and the players should then be teleported to this allocation.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportOptions#ShouldReserveServer)
     */
    ShouldReserveServer: boolean;
    /**
     * Returns the teleport data stored in the `TeleportOptions` instance by `TeleportOptions:SetTeleportData()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportOptions#GetTeleportData)
     * @param this Optional input arguments to the `TeleportService:TeleportAsync()` function.
     */
    GetTeleportData(this: TeleportOptions): unknown;
    /**
     * Setter function for data to be passed to the destination place.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportOptions#SetTeleportData)
     * @param this Optional input arguments to the `TeleportService:TeleportAsync()` function.
     * @param teleportData Data to be passed to the destination place.
     */
    SetTeleportData(this: TeleportOptions, teleportData: unknown): void;
}
/**
 * Enables transporting `Players` between places and servers. For more information on how to teleport players between servers, see [Teleport between places](../../../projects/teleport.md).
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService)
 */
interface TeleportService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TeleportService: unique symbol;
    /**
     * **Deprecated:** This item is deprecated since the default message it controls has been removed. Do not use it for new work.
     *
     * No longer functional.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#CustomizedTeleportUI)
     *
     * @deprecated
     */
    CustomizedTeleportUI: boolean;
    /**
     * Returns the *customLoadingScreen* the `LocalPlayer` arrived into the place with.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#GetArrivingTeleportGui)
     * @param this Enables transporting `Players` between places and servers. For more information on how to teleport players between servers, see [Teleport between places](../../../projects/teleport.md).
     * @returns The *customLoadingScreen* the `LocalPlayer` arrived into the place with.
     */
    GetArrivingTeleportGui(this: TeleportService): ScreenGui | undefined;
    /**
     * Returns the *teleportData* the `Players.LocalPlayer` arrived into the place with.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#GetLocalPlayerTeleportData)
     * @param this Enables transporting `Players` between places and servers. For more information on how to teleport players between servers, see [Teleport between places](../../../projects/teleport.md).
     * @returns The teleport data the `Players.LocalPlayer` arrived into the place with.
     */
    GetLocalPlayerTeleportData(this: TeleportService): unknown;
    /**
     * Retrieves a teleport setting saved using `TeleportService:SetTeleportSetting()` using the given key.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#GetTeleportSetting)
     * @param this Enables transporting `Players` between places and servers. For more information on how to teleport players between servers, see [Teleport between places](../../../projects/teleport.md).
     * @param setting The key the value was stored under using `TeleportService:SetTeleportSetting()`.
     * @returns The value stored under the given key.
     */
    GetTeleportSetting(this: TeleportService, setting: string): unknown;
    /**
     * Sets the custom `teleport GUI` that will be shown to the local user during teleportation, prior to the teleport being invoked.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#SetTeleportGui)
     * @param this Enables transporting `Players` between places and servers. For more information on how to teleport players between servers, see [Teleport between places](../../../projects/teleport.md).
     * @param gui The loading `ScreenGui` that is to be displayed during teleportation.
     */
    SetTeleportGui(this: TeleportService, gui: ScreenGui): void;
    /**
     * Stores a value under a given key that persists across all teleportations in the same game.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#SetTeleportSetting)
     * @param this Enables transporting `Players` between places and servers. For more information on how to teleport players between servers, see [Teleport between places](../../../projects/teleport.md).
     * @param setting The key to store the *value* under. This key can be used to retrieve the value using `TeleportService:GetTeleportSetting()`.
     * @param value The value to store.
     */
    SetTeleportSetting(this: TeleportService, setting: string, value: TeleportData): void;
    /**
     * Teleports a `Player` to the place associated with the given `placeId`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#Teleport)
     * @param this Enables transporting `Players` between places and servers. For more information on how to teleport players between servers, see [Teleport between places](../../../projects/teleport.md).
     * @param placeId The ID of the place to teleport to.
     * @param player The `Player` to teleport, if this function is being called from the client this defaults to the `Players.LocalPlayer`.
     * @param teleportData Optional data to be passed to the destination place. Can be retrieved using `TeleportService:GetLocalPlayerTeleportData()`.
     * @param customLoadingScreen Optional custom loading screen to be placed in the `CoreGui` at the destination place. Can be retrieved using `TeleportService:GetArrivingTeleportGui()`.
     */
    Teleport(this: TeleportService, placeId: number, player?: Player, teleportData?: TeleportData, customLoadingScreen?: ScreenGui): void;
    /**
     * Teleports a `Player` to the server instance associated with the given *placeId* and *instanceId*.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#TeleportToPlaceInstance)
     * @param this Enables transporting `Players` between places and servers. For more information on how to teleport players between servers, see [Teleport between places](../../../projects/teleport.md).
     * @param placeId The ID of the place to teleport to.
     * @param instanceId The `DataModel.JobId` of the server instance to teleport to.
     * @param player The `Player` to teleport, if this function is being called from the client this defaults to the `Players.LocalPlayer`.
     * @param spawnName Optional name of the `SpawnLocation` to spawn at.
     * @param teleportData Optional data to be passed to the destination place. Can be retrieved using `TeleportService:GetLocalPlayerTeleportData()`.
     * @param customLoadingScreen Optional custom loading screen to be placed in the `CoreGui` at the destination place. Can be retrieved using `TeleportService:GetArrivingTeleportGui()`.
     */
    TeleportToPlaceInstance(this: TeleportService, placeId: number, instanceId: string, player?: Player, spawnName?: string, teleportData?: TeleportData, customLoadingScreen?: ScreenGui): void;
    /**
     * Teleport a group of `Players` to a reserved server created using `TeleportService:ReserveServerAsync()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#TeleportToPrivateServer)
     * @param this Enables transporting `Players` between places and servers. For more information on how to teleport players between servers, see [Teleport between places](../../../projects/teleport.md).
     * @param placeId The ID of the place to teleport to.
     * @param reservedServerAccessCode The reserved server access code returned by `TeleportService:ReserveServerAsync()`.
     * @param players An array of `Players` to teleport.
     * @param spawnName Optional name of the `SpawnLocation` to spawn at.
     * @param teleportData Optional data to be passed to the destination place. Can be retrieved using `TeleportService:GetLocalPlayerTeleportData()`.
     * @param customLoadingScreen Optional custom loading screen to be placed in the `CoreGui` at the destination place. Can be retrieved using `TeleportService:GetArrivingTeleportGui()`.
     */
    TeleportToPrivateServer(this: TeleportService, placeId: number, reservedServerAccessCode: string, players: Array<Player>, spawnName?: string, teleportData?: TeleportData, customLoadingScreen?: ScreenGui): void;
    /**
     * A variant of `TeleportService:Teleport()` that causes the `Player` to spawn at a `SpawnLocation` of the given name at the destination place.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#TeleportToSpawnByName)
     * @param this Enables transporting `Players` between places and servers. For more information on how to teleport players between servers, see [Teleport between places](../../../projects/teleport.md).
     * @param placeId The ID of the place to teleport to.
     * @param spawnName The name of the `SpawnLocation` to spawn at.
     * @param player The `Player` to teleport, if this function is being called from the client this defaults to the `Players.LocalPlayer`.
     * @param teleportData Optional data to be passed to the destination place. Can be retrieved using `TeleportService:GetLocalPlayerTeleportData()`.
     * @param customLoadingScreen Optional custom loading screen to be placed in the `CoreGui` at the destination place. Can be retrieved using `TeleportService:GetArrivingTeleportGui()`.
     */
    TeleportToSpawnByName(this: TeleportService, placeId: number, spawnName: string, player?: Player, teleportData?: TeleportData, customLoadingScreen?: ScreenGui): void;
    /**
     * Returns the `PlaceId` and `JobId` of the server the user with the given `UserId` is in provided it is in the same game as the current place.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#GetPlayerPlaceInstanceAsync)
     * @param this Enables transporting `Players` between places and servers. For more information on how to teleport players between servers, see [Teleport between places](../../../projects/teleport.md).
     * @param userId The `Player.UserId` of the `Player`.
     * @returns See the table above.
     */
    GetPlayerPlaceInstanceAsync(this: TeleportService, userId: number): LuaTuple<[
        boolean,
        string,
        number,
        string
    ]>;
    /**
     * Prompts a `Player` with information about the specified experience. The player can choose to teleport to the target experience through the prompt.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#PromptExperienceDetailsAsync)
     * @param this Enables transporting `Players` between places and servers. For more information on how to teleport players between servers, see [Teleport between places](../../../projects/teleport.md).
     * @param player The `Player` to be presented the prompt.
     * @param universeId `DataModel.UniverseId` of the experience to be presented to the `Player`.
     * @returns `PromptExperienceDetailsResult`
     */
    PromptExperienceDetailsAsync(this: TeleportService, player: Player, universeId: number): Enum.PromptExperienceDetailsResult;
    /**
     * **Deprecated:**
     *
     * Returns an access code that can be used to teleport players to a reserved server, along with the `DataModel.PrivateServerId` for it.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#ReserveServer)
     * @param this Enables transporting `Players` between places and servers. For more information on how to teleport players between servers, see [Teleport between places](../../../projects/teleport.md).
     * @param placeId The `DataModel.PlaceId` of the place the reserved server is being created for.
     * @returns The server access code required by `TeleportService:TeleportToPrivateServer()` and the `DataModel.PrivateServerId` for the reserved server.
     *
     * @deprecated ReserveServerAsync
     */
    ReserveServer(this: TeleportService, placeId: number): LuaTuple<[
        string,
        string
    ]>;
    /**
     * Returns an access code that can be used to teleport players to a reserved server, along with the `DataModel.PrivateServerId` for it.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#ReserveServerAsync)
     * @param this Enables transporting `Players` between places and servers. For more information on how to teleport players between servers, see [Teleport between places](../../../projects/teleport.md).
     * @param placeId The `DataModel.PlaceId` of the place the reserved server is being created for.
     * @returns The server access code required by `TeleportService:TeleportToPrivateServer()` and the `DataModel.PrivateServerId` for the reserved server.
     */
    ReserveServerAsync(this: TeleportService, placeId: number): unknown;
    /**
     * The all-encompassing method to teleport a player or group of players from one server to another.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#TeleportAsync)
     * @param this Enables transporting `Players` between places and servers. For more information on how to teleport players between servers, see [Teleport between places](../../../projects/teleport.md).
     * @param placeId The place ID the player(s) should be teleported to.
     * @param players An array of the player(s) to teleport.
     * @param teleportOptions An optional `TeleportOptions` object containing additional arguments to the `TeleportService:TeleportAsync()` call. If this is not passed, no result will be returned.
     * @returns If a `TeleportOptions` parameter is passed, this will be a `TeleportAsyncResult` object that provides information about the final teleport destination.
     */
    TeleportAsync(this: TeleportService, placeId: number, players: ReadonlyArray<Player>, options?: TeleportOptions): TeleportAsyncResult;
    /**
     * Teleports a group of `Players` to the same server of the place with the given `PlaceId`, returning the `JobId` of the server instance they were teleported to.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#TeleportPartyAsync)
     * @param this Enables transporting `Players` between places and servers. For more information on how to teleport players between servers, see [Teleport between places](../../../projects/teleport.md).
     * @param placeId The ID of the place to teleport to.
     * @param players An array containing the `Players` to teleport.
     * @param teleportData Optional data to be passed to the destination place. Can be retrieved using `TeleportService:GetLocalPlayerTeleportData()`.
     * @param customLoadingScreen Optional custom loading screen to be placed in the `CoreGui` at the destination place. Can be retrieved using `TeleportService:GetArrivingTeleportGui()`.
     * @returns The `DataModel.JobId` of the server instance the `Players` were teleported to.
     */
    TeleportPartyAsync(this: TeleportService, placeId: number, players: Array<Player>, teleportData?: TeleportData, customLoadingScreen?: ScreenGui): string;
    /**
     * Fires when the `LocalPlayer` enters the place following a teleport.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#LocalPlayerArrivedFromTeleport)
     */
    readonly LocalPlayerArrivedFromTeleport: RBXScriptSignal<(loadingGui: ScreenGui, dataTable?: unknown) => void>;
    /**
     * Fires when a teleport fails to start, leaving the player in their current server.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TeleportService#TeleportInitFailed)
     */
    readonly TeleportInitFailed: RBXScriptSignal<(player: Player, teleportResult: Enum.TeleportResult, errorMessage: string, placeId: number, teleportOptions: TeleportOptions) => void>;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TemporaryCageMeshProvider)
 */
interface TemporaryCageMeshProvider extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TemporaryCageMeshProvider: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TemporaryScriptService)
 */
interface TemporaryScriptService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TemporaryScriptService: unique symbol;
}
/**
 * Determines appearance of a certain terrain face direction.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainDetail)
 */
interface TerrainDetail extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TerrainDetail: unique symbol;
    /**
     * Determines the strength of emissive contribution.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainDetail#EmissiveStrength)
     */
    EmissiveStrength: number;
    /**
     * Determines the tinting color for emissive contribution.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainDetail#EmissiveTint)
     */
    EmissiveTint: Color3;
    /**
     * The face this TerrainDetail overrides.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainDetail#Face)
     */
    Face: Enum.TerrainFace;
    /**
     * Determines texture tiling method.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainDetail#MaterialPattern)
     */
    MaterialPattern: Enum.MaterialPattern;
    /**
     * Determines the scale of textures.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainDetail#StudsPerTile)
     */
    StudsPerTile: number;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainRegion)
 */
interface TerrainRegion extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TerrainRegion: unique symbol;
    /**
     * **Deprecated:** This item is a deprecated function of a legacy `Terrain` engine that has been removed. Do not use it for new work.
     *
     * The state of this property shows whether or not this `TerrainRegion` contains *smooth terrain*.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainRegion#IsSmooth)
     *
     * @deprecated
     */
    readonly IsSmooth: boolean;
    /**
     * The size of this TerrainRegion in cells.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainRegion#SizeInCells)
     */
    readonly SizeInCells: Vector3;
}
/**
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestCase)
 */
interface TestCase extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TestCase: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestCase#Assert)
     */
    Assert(this: TestCase, condition: boolean, message?: string, source?: Instance, line?: number): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestCase#EndTest)
     */
    EndTest(this: TestCase, message?: string, source?: Instance, line?: number): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestCase#Message)
     */
    Message(this: TestCase, text: string, source?: Instance, line?: number): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestCase#Require)
     */
    Require(this: TestCase, condition: boolean, message?: string, source?: Instance, line?: number): void;
}
/**
 * A service used by Roblox to run controlled tests of the engine. It is available for developers to use, to a limited degree.
 *
 * - **Tags**: Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService)
 */
interface TestService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TestService: unique symbol;
    /**
     * If set to `true`, the game will start running when the service's `TestService:RunAsync()` method is called.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#AutoRuns)
     */
    AutoRuns: boolean;
    /**
     * A description of the test being executed.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#Description)
     */
    Description: string;
    /**
     * Measures how many errors have been recorded in the test session.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#ErrorCount)
     */
    readonly ErrorCount: number;
    /**
     * When set to `true`, `TestService` will be executed when using the **Run** action in Roblox Studio.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#ExecuteWithStudioRun)
     */
    ExecuteWithStudioRun: boolean;
    /**
     * **Deprecated:** This has been deprecated and directly renamed to `ThrottlePhysicsToRealtime` to better reflect its practical use.
     *
     * Sets whether or not the physics engine should be throttled to 30 FPS while the test is being ran.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#Is30FpsThrottleEnabled)
     *
     * @deprecated ThrottlePhysicsToRealtime
     */
    Is30FpsThrottleEnabled: boolean;
    /**
     * Sets whether or not the physics environment should be throttled while running this test.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#IsPhysicsEnvironmentalThrottled)
     */
    IsPhysicsEnvironmentalThrottled: boolean;
    /**
     * Sets whether or not physics objects will be allowed to fall asleep while the test simulation is running.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#IsSleepAllowed)
     */
    IsSleepAllowed: boolean;
    /**
     * The number of players expected in this test, if any.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#NumberOfPlayers)
     */
    NumberOfPlayers: number;
    /**
     * Sets a specific amount of additional latency experienced by players during the test session.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#SimulateSecondsLag)
     */
    SimulateSecondsLag: number;
    /**
     * Measures how many test calls have been recorded in the test session.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#TestCount)
     */
    readonly TestCount: number;
    /**
     * Sets whether the test should be throttled to simulate time according to real world time or as fast as possible.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#ThrottlePhysicsToRealtime)
     */
    ThrottlePhysicsToRealtime: boolean;
    /**
     * The maximum amount of time that tests are allowed to run for.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#Timeout)
     */
    Timeout: number;
    /**
     * Measures how many warning calls have been recorded in the test session.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#WarnCount)
     */
    readonly WarnCount: number;
    /**
     * Prints result of a condition to the output.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#Check)
     * @param this A service used by Roblox to run controlled tests of the engine. It is available for developers to use, to a limited degree.
     * @param condition
     * @param description
     * @param source
     * @param line
     */
    Check(this: TestService, condition: boolean, description: string, source?: Instance, line?: number): void;
    /**
     * Prints `Test checkpoint:` followed by a string to the output in blue text.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#Checkpoint)
     * @param this A service used by Roblox to run controlled tests of the engine. It is available for developers to use, to a limited degree.
     * @param text
     * @param source
     * @param line
     */
    Checkpoint(this: TestService, text: string, source?: Instance, line?: number): void;
    /**
     * Prints `Testing Done` to the output in blue text.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#Done)
     * @param this A service used by Roblox to run controlled tests of the engine. It is available for developers to use, to a limited degree.
     */
    Done(this: TestService): void;
    /**
     * Prints a red error message to the output, prefixed by `TestService:`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#Error)
     * @param this A service used by Roblox to run controlled tests of the engine. It is available for developers to use, to a limited degree.
     * @param description
     * @param source
     * @param line
     */
    Error(this: TestService, description: string, source?: Instance, line?: number): void;
    /**
     * Indicates a fatal error in a `TestService` run.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#Fail)
     * @param this A service used by Roblox to run controlled tests of the engine. It is available for developers to use, to a limited degree.
     * @param description
     * @param source
     * @param line
     */
    Fail(this: TestService, description: string, source?: Instance, line?: number): void;
    /**
     * Prints `TestService:` followed by a string to the output in blue text.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#Message)
     * @param this A service used by Roblox to run controlled tests of the engine. It is available for developers to use, to a limited degree.
     * @param text
     * @param source
     * @param line
     */
    Message(this: TestService, text: string, source?: Instance, line?: number): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#RegisterTest)
     */
    RegisterTest(this: TestService, testOptions: object): TestCase;
    /**
     * Prints whether a condition is true along with a description string.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#Require)
     * @param this A service used by Roblox to run controlled tests of the engine. It is available for developers to use, to a limited degree.
     * @param condition
     * @param description
     * @param source
     * @param line
     */
    Require(this: TestService, condition: boolean, description: string, source?: Instance, line?: number): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#ScopeTime)
     * @param this A service used by Roblox to run controlled tests of the engine. It is available for developers to use, to a limited degree.
     */
    ScopeTime(this: TestService): object;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#StartTestSession)
     */
    StartTestSession(this: TestService): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#StopTestSession)
     */
    StopTestSession(this: TestService): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#TakeSnapshot)
     * @param this A service used by Roblox to run controlled tests of the engine. It is available for developers to use, to a limited degree.
     * @param snapshotname
     * @param source
     */
    TakeSnapshot(this: TestService, snapshotname: string, source?: Instance): void;
    /**
     * Prints if a condition is `true`, otherwise prints a warning.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#Warn)
     * @param this A service used by Roblox to run controlled tests of the engine. It is available for developers to use, to a limited degree.
     * @param condition
     * @param description
     * @param source
     * @param line
     */
    Warn(this: TestService, condition: boolean, description: string, source?: Instance, line?: number): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#getTestSessionProviderStats)
     */
    getTestSessionProviderStats(this: TestService, providerName: string): object;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#isFeatureEnabled)
     * @param this A service used by Roblox to run controlled tests of the engine. It is available for developers to use, to a limited degree.
     * @param name
     */
    isFeatureEnabled(this: TestService, name: string): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#RequestValidationAsync)
     */
    RequestValidationAsync(this: TestService, artifactType: string, artifactName: string): unknown;
    /**
     * Fires when the server should collect a conditional test result.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#ServerCollectConditionalResult)
     */
    readonly ServerCollectConditionalResult: RBXScriptSignal<(condition: boolean, text: string, script: Instance, line: number) => void>;
    /**
     * Fires when the server should collect a test result.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TestService#ServerCollectResult)
     */
    readonly ServerCollectResult: RBXScriptSignal<(text: string, script: Instance, line: number) => void>;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextBoxService)
 */
interface TextBoxService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextBoxService: unique symbol;
}
/**
 * Represents a text chat channel.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChannel)
 */
interface TextChannel extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextChannel: unique symbol;
    /**
     * The `TextChannel` will only deliver messages to users that can send direct messages to the `DirectChatRequester`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChannel#DirectChatRequester)
     */
    readonly DirectChatRequester: Player | undefined;
    /**
     * Displays a system message to the user.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChannel#DisplaySystemMessage)
     * @param this Represents a text chat channel.
     * @param systemMessage The system message sent to the `TextChannel`.
     * @param metadata Use to identify system message types, such as the default system messages.
     * @returns A `TextChatMessage` with `TextChatMessage.Status` property that indicates the condition of the message.
     */
    DisplaySystemMessage(this: TextChannel, systemMessage: string, metadata?: string): TextChatMessage;
    /**
     * Sets the `DirectChatRequester` for the `TextChannel`. The `TextChannel` will only deliver messages to users that can send direct messages to the `DirectChatRequester`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChannel#SetDirectChatRequester)
     * @param this Represents a text chat channel.
     * @param requester
     */
    SetDirectChatRequester(this: TextChannel, requester: Player): void;
    /**
     * Adds a `TextSource` to the `TextChannel` given userId of a `Player`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChannel#AddUserAsync)
     * @param this Represents a text chat channel.
     * @param userId The userId of the `Player`.
     * @returns Returns `TextSource` and `true` if a new `TextSource` is created for the user, `TextSource` and `false` if there is an existing `TextSource`, or `nil` and `false` if the user has chat off or is not in this server.
     */
    AddUserAsync(this: TextChannel, userId: number): LuaTuple<[
        source: TextSource,
        isNew: true
    ] | [
        source: TextSource,
        isNew: false
    ] | [
        source: undefined,
        isNew: false
    ]>;
    /**
     * Sends a `TextChatMessage` to the server.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChannel#SendAsync)
     * @param this Represents a text chat channel.
     * @param message The message to send to the `TextChannel`.
     * @param metadata Custom metadata to attach to the message.
     * @returns A `TextChatMessage` with `TextChatMessage.Status` property that indicates the condition of the message.
     */
    SendAsync(this: TextChannel, message: string, metadata?: string): TextChatMessage;
    /**
     * Fires when `TextChannel:DisplaySystemMessage()` is invoked on the client, or when the client receives a valid `TextChannel:SendAsync()` response from the server.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChannel#MessageReceived)
     */
    readonly MessageReceived: RBXScriptSignal<(incomingMessage: TextChatMessage) => void>;
    /**
     * Called when `TextChannel` is receiving an incoming message.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChannel#OnIncomingMessage)
     * @param message The incoming `TextChatMessage`.
     * @returns If a `TextChatMessageProperties` is returned, those properties are merged with the `TextChatMessage` parameter to create a new `TextChatMessage` with those properties.
     */
    OnIncomingMessage: (message: TextChatMessage) => TextChatMessageProperties | undefined;
    /**
     * Called for each client when `TextChannel` is receiving an incoming message to determine whether or not it should be delivered to that client.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChannel#ShouldDeliverCallback)
     * @param message The message being sent, which also contains the sender of the message.
     * @param textSource The `TextSource` of the user who will be receiving the message.
     */
    ShouldDeliverCallback: (message: TextChatMessage, textSource: TextSource) => boolean;
}
/**
 * Represents a text chat command.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatCommand)
 */
interface TextChatCommand extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextChatCommand: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatCommand#AutocompleteVisible)
     */
    AutocompleteVisible: boolean;
    /**
     * Determines whether the `TextChatCommand` is enabled.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatCommand#Enabled)
     */
    Enabled: boolean;
    /**
     * A primary alias used to trigger the `TextChatCommand`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatCommand#PrimaryAlias)
     */
    PrimaryAlias: string;
    /**
     * A secondary alias used to trigger the `TextChatCommand`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatCommand#SecondaryAlias)
     */
    SecondaryAlias: string;
    /**
     * An event that developers can bind to execute commands.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatCommand#Triggered)
     */
    readonly Triggered: RBXScriptSignal<(originTextSource: TextSource, unfilteredText: string) => void>;
}
/**
 * The parental class of all text chat configurations.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatConfigurations)
 */
interface TextChatConfigurations extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextChatConfigurations: unique symbol;
}
/**
 * Allows for customization of text chat bubbles through `TextChatService`.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration)
 */
interface BubbleChatConfiguration extends TextChatConfigurations {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BubbleChatConfiguration: unique symbol;
    /**
     * Body part or `Attachment` that bubbles will attach to.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration#AdorneeName)
     */
    AdorneeName: string;
    /**
     * Background color of bubbles.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration#BackgroundColor3)
     */
    BackgroundColor3: Color3;
    /**
     * Determines the background transparency of the default bubble chat as a number between 0 and 1.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration#BackgroundTransparency)
     */
    BackgroundTransparency: number;
    /**
     * Time before a bubble fades out, in seconds.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration#BubbleDuration)
     */
    BubbleDuration: number;
    /**
     * Vertical space between stacked bubbles, in pixels.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration#BubblesSpacing)
     */
    BubblesSpacing: number;
    /**
     * Whether text chat bubbles are enabled.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration#Enabled)
     */
    Enabled: boolean;
    /**
     * `Font` of the bubble text.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration#Font)
     */
    Font: Enum.Font;
    /**
     * `Font` of the bubble text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration#FontFace)
     */
    FontFace: Font;
    /**
     * Offset of bubbles from their adornee, in studs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration#LocalPlayerStudsOffset)
     */
    LocalPlayerStudsOffset: Vector3;
    /**
     * Maximum number of text chat bubbles shown per user.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration#MaxBubbles)
     */
    MaxBubbles: number;
    /**
     * Maximum distance from the camera that bubbles are shown.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration#MaxDistance)
     */
    MaxDistance: number;
    /**
     * Distance from the camera when bubbles turn into a single bubble with an ellipsis to indicate chatter.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration#MinimizeDistance)
     */
    MinimizeDistance: number;
    /**
     * Determines if the tail at the bottom of the text chat bubbles is visible.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration#TailVisible)
     */
    TailVisible: boolean;
    /**
     * Color of bubble text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration#TextColor3)
     */
    TextColor3: Color3;
    /**
     * Size of bubble text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration#TextSize)
     */
    TextSize: number;
    /**
     * Extra space between bubbles and their adornee, in studs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatConfiguration#VerticalStudsOffset)
     */
    VerticalStudsOffset: number;
}
/**
 * Configures properties of the optional channel tabs in the default chat window.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChannelTabsConfiguration)
 */
interface ChannelTabsConfiguration extends TextChatConfigurations {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ChannelTabsConfiguration: unique symbol;
    /**
     * Actual screen position of the channel tab bar, in pixels.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChannelTabsConfiguration#AbsolutePosition)
     */
    readonly AbsolutePosition: Vector2;
    /**
     * Actual screen size of the channel tab bar, in pixels.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChannelTabsConfiguration#AbsoluteSize)
     */
    readonly AbsoluteSize: Vector2;
    /**
     * Background color of the channel tabs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChannelTabsConfiguration#BackgroundColor3)
     */
    BackgroundColor3: Color3;
    /**
     * Background transparency of the channel tabs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChannelTabsConfiguration#BackgroundTransparency)
     */
    BackgroundTransparency: number;
    /**
     * Whether to show the channel tabs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChannelTabsConfiguration#Enabled)
     */
    Enabled: boolean;
    /**
     * Font used to render text in the channel tabs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChannelTabsConfiguration#FontFace)
     */
    FontFace: Font;
    /**
     * Background color of a channel tab when hovering over it.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChannelTabsConfiguration#HoverBackgroundColor3)
     */
    HoverBackgroundColor3: Color3;
    /**
     * Color of text in a selected tab.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChannelTabsConfiguration#SelectedTabTextColor3)
     */
    SelectedTabTextColor3: Color3;
    /**
     * Color of text in an unselected tab.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChannelTabsConfiguration#TextColor3)
     */
    TextColor3: Color3;
    /**
     * Size of the text in channel tabs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChannelTabsConfiguration#TextSize)
     */
    TextSize: number;
    /**
     * Color of the text stroke for text in channel tabs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChannelTabsConfiguration#TextStrokeColor3)
     */
    TextStrokeColor3: Color3;
    /**
     * Transparency of the text stroke for text in channel tabs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChannelTabsConfiguration#TextStrokeTransparency)
     */
    TextStrokeTransparency: number;
}
/**
 * Configures properties of the default chat input bar.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration)
 */
interface ChatInputBarConfiguration extends TextChatConfigurations {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ChatInputBarConfiguration: unique symbol;
    /**
     * Actual screen position of the default chat input bar in pixels.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration#AbsolutePosition)
     */
    readonly AbsolutePosition: Vector2;
    /**
     * Actual screen size of the default chat input bar in pixels.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration#AbsoluteSize)
     */
    readonly AbsoluteSize: Vector2;
    /**
     * Whether to enable autocomplete for the chat input bar.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration#AutocompleteEnabled)
     */
    AutocompleteEnabled: boolean;
    /**
     * Background color of the default chat input bar.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration#BackgroundColor3)
     */
    BackgroundColor3: Color3;
    /**
     * Background transparency of the default chat input bar.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration#BackgroundTransparency)
     */
    BackgroundTransparency: number;
    /**
     * Whether to show the default chat input bar.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration#Enabled)
     */
    Enabled: boolean;
    /**
     * Font used to render text in the default chat input bar.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration#FontFace)
     */
    FontFace: Font;
    /**
     * Whether the default chat input bar is focused or not.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration#IsFocused)
     */
    readonly IsFocused: boolean;
    /**
     * Additional key users can press to trigger focusing on the default chat input bar.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration#KeyboardKeyCode)
     */
    KeyboardKeyCode: Enum.KeyCode;
    /**
     * Color of the text of the placeholder text in the default chat input bar.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration#PlaceholderColor3)
     */
    PlaceholderColor3: Color3;
    /**
     * A reference to the target `TextChannel`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration#TargetTextChannel)
     */
    TargetTextChannel: TextChannel | undefined;
    /**
     * Reference to a designated `TextBox` instance that sends messages on behalf of the user.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration#TextBox)
     */
    TextBox: TextBox | undefined;
    /**
     * Color of the text in default chat input bar.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration#TextColor3)
     */
    TextColor3: Color3;
    /**
     * Size of the text in default chat input bar.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration#TextSize)
     */
    TextSize: number;
    /**
     * Color of the text stroke for text in default chat input bar.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration#TextStrokeColor3)
     */
    TextStrokeColor3: Color3;
    /**
     * Transparency of the text stroke for text in default chat input bar.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatInputBarConfiguration#TextStrokeTransparency)
     */
    TextStrokeTransparency: number;
}
/**
 * Configures properties of the default chat window.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowConfiguration)
 */
interface ChatWindowConfiguration extends TextChatConfigurations {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ChatWindowConfiguration: unique symbol;
    /**
     * Actual screen position of the default chat window, in pixels.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowConfiguration#AbsolutePosition)
     */
    readonly AbsolutePosition: Vector2;
    /**
     * Actual screen size of the default chat window, in pixels.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowConfiguration#AbsoluteSize)
     */
    readonly AbsoluteSize: Vector2;
    /**
     * Background color of the default chat window.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowConfiguration#BackgroundColor3)
     */
    BackgroundColor3: Color3;
    /**
     * Background transparency of the default chat window.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowConfiguration#BackgroundTransparency)
     */
    BackgroundTransparency: number;
    /**
     * Whether to show the default chat window.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowConfiguration#Enabled)
     */
    Enabled: boolean;
    /**
     * Font used to render text in the default chat window.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowConfiguration#FontFace)
     */
    FontFace: Font;
    /**
     * Factor by which the height of the default chat window should be scaled.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowConfiguration#HeightScale)
     */
    HeightScale: number;
    /**
     * Horizontal alignment of the chat window.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowConfiguration#HorizontalAlignment)
     */
    HorizontalAlignment: Enum.HorizontalAlignment;
    /**
     * Color of the text in default chat window.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowConfiguration#TextColor3)
     */
    TextColor3: Color3;
    /**
     * Size of the text in default chat window.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowConfiguration#TextSize)
     */
    TextSize: number;
    /**
     * Color of the text stroke for text in default chat window.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowConfiguration#TextStrokeColor3)
     */
    TextStrokeColor3: Color3;
    /**
     * Transparency of the text stroke for text in default chat window.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowConfiguration#TextStrokeTransparency)
     */
    TextStrokeTransparency: number;
    /**
     * Vertical alignment of the chat window.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowConfiguration#VerticalAlignment)
     */
    VerticalAlignment: Enum.VerticalAlignment;
    /**
     * Factor by which the width of the default chat window should be scaled.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowConfiguration#WidthScale)
     */
    WidthScale: number;
    /**
     * Creates a new `ChatWindowMessageProperties` instance that can be used to customize the appearance of messages in the chat window.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowConfiguration#DeriveNewMessageProperties)
     * @param this Configures properties of the default chat window.
     */
    DeriveNewMessageProperties(this: ChatWindowConfiguration): ChatWindowMessageProperties;
}
/**
 * A data object representing a text chat message.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatMessage)
 */
interface TextChatMessage extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextChatMessage: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatMessage#BubbleChatMessageProperties)
     */
    BubbleChatMessageProperties: BubbleChatMessageProperties | undefined;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatMessage#ChatWindowMessageProperties)
     */
    ChatWindowMessageProperties: ChatWindowMessageProperties | undefined;
    /**
     * A unique identifier for the `TextChatMessage`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatMessage#MessageId)
     */
    MessageId: string;
    /**
     * A general purpose field for storing miscellaneous data about the `TextChatMessage`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatMessage#Metadata)
     */
    Metadata: string;
    /**
     * A prefix to add to a user's message.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatMessage#PrefixText)
     */
    PrefixText: string;
    /**
     * Indicates the status of the `TextChatMessage`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatMessage#Status)
     */
    Status: Enum.TextChatMessageStatus;
    /**
     * The filtered text message for the user.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatMessage#Text)
     */
    Text: string;
    /**
     * A reference to the origin `TextChannel`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatMessage#TextChannel)
     */
    TextChannel: TextChannel | undefined;
    /**
     * A reference to the origin `TextSource`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatMessage#TextSource)
     */
    TextSource: TextSource | undefined;
    /**
     * A timestamp of when the message was originally sent.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatMessage#Timestamp)
     */
    Timestamp: DateTime;
    /**
     * Translated and filtered text message.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatMessage#Translation)
     */
    Translation: string;
}
/**
 * Overrides `TextChatMessage` properties when returned by callbacks defined in `TextChatService.OnIncomingMessage` or `TextChannel.OnIncomingMessage`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatMessageProperties)
 */
interface TextChatMessageProperties extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextChatMessageProperties: unique symbol;
    /**
     * The `TextChatMessage.PrefixText` to override.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatMessageProperties#PrefixText)
     */
    PrefixText: string;
    /**
     * The `TextChatMessage.Text` to override.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatMessageProperties#Text)
     */
    Text: string;
    /**
     * The `TextChatMessage.Translation` to override.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatMessageProperties#Translation)
     */
    Translation: string;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatMessageProperties)
 */
interface BubbleChatMessageProperties extends TextChatMessageProperties {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BubbleChatMessageProperties: unique symbol;
    /**
     * Background color of bubbles.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatMessageProperties#BackgroundColor3)
     */
    BackgroundColor3: Color3;
    /**
     * Background transparency of bubbles.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatMessageProperties#BackgroundTransparency)
     */
    BackgroundTransparency: number;
    /**
     * Font of the bubble text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatMessageProperties#FontFace)
     */
    FontFace: Font;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatMessageProperties#TailVisible)
     */
    TailVisible: boolean;
    /**
     * Color of bubble text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatMessageProperties#TextColor3)
     */
    TextColor3: Color3;
    /**
     * Size of bubble text.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BubbleChatMessageProperties#TextSize)
     */
    TextSize: number;
}
/**
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowMessageProperties)
 */
interface ChatWindowMessageProperties extends TextChatMessageProperties {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ChatWindowMessageProperties: unique symbol;
    /**
     * Font used to render text in the chat window.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowMessageProperties#FontFace)
     */
    FontFace: Font;
    /**
     * Determines the properties of the `PrefixText` preceding the chat message.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowMessageProperties#PrefixTextProperties)
     */
    PrefixTextProperties: ChatWindowMessageProperties | undefined;
    /**
     * Color of the text in the chat window.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowMessageProperties#TextColor3)
     */
    TextColor3: Color3;
    /**
     * Size of the text in the chat window.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowMessageProperties#TextSize)
     */
    TextSize: number;
    /**
     * Stroke color applied to text in the chat window.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowMessageProperties#TextStrokeColor3)
     */
    TextStrokeColor3: Color3;
    /**
     * Transparency of the stroke applied to text in the chat window.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ChatWindowMessageProperties#TextStrokeTransparency)
     */
    TextStrokeTransparency: number;
}
/**
 * A service handling in-experience text chat.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatService)
 */
interface TextChatService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextChatService: unique symbol;
    /**
     * Determines whether a user has chat translation enabled.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatService#ChatTranslationEnabled)
     */
    get ChatTranslationEnabled(): boolean;
    /**
     * Determines whether to fully enable `TextChatService` or revert to the legacy chat system.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatService#ChatVersion)
     */
    get ChatVersion(): Enum.ChatVersion;
    /**
     * Determines whether `TextChatService` should create default `TextChatCommands`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatService#CreateDefaultCommands)
     */
    get CreateDefaultCommands(): boolean;
    /**
     * Determines whether `TextChatService` should create default `TextChannels`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatService#CreateDefaultTextChannels)
     */
    get CreateDefaultTextChannels(): boolean;
    /**
     * Displays a chat bubble above the provided part or player character.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatService#DisplayBubble)
     * @param this A service handling in-experience text chat.
     * @param partOrCharacter The part or character that the bubble to be displayed above.
     * @param message The text to be displayed in the chat bubble.
     */
    DisplayBubble(this: TextChatService, partOrCharacter: Instance, message: string): void;
    /**
     * Determines whether a user has permission to chat in experiences.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatService#CanUserChatAsync)
     * @param this A service handling in-experience text chat.
     * @param userId
     */
    CanUserChatAsync(this: TextChatService, userId: number): boolean;
    /**
     * Determines whether or not two users can receive messages from each other.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatService#CanUsersChatAsync)
     * @param this A service handling in-experience text chat.
     * @param userIdFrom
     * @param userIdTo
     */
    CanUsersChatAsync(this: TextChatService, userIdFrom: number, userIdTo: number): boolean;
    /**
     * Determines whether a user has permission to chat directly with other users in experiences based on factors such as their parental control settings.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatService#CanUsersDirectChatAsync)
     * @param this A service handling in-experience text chat.
     * @param requesterUserId The user who would have initiated the direct chat request. If the user is not in the current server, this method will error.
     * @param userIds A list of users who the `requesterUserId` would like to chat with directly. Users not in the current server are ignored.
     * @returns A list of users who could participate in the direct chat request. If none of the users can direct chat with the `requesterUserId`, the result is an empty array.
     */
    CanUsersDirectChatAsync(this: TextChatService, requesterUserId: number, userIds: Array<unknown>): Array<unknown>;
    /**
     * Returns chat group IDs that indicate which players can synchronously text chat together.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatService#GetChatGroupsAsync)
     * @param this A service handling in-experience text chat.
     * @param players A list of `Players` currently in the experience to evaluate for text chat compatibility.
     * @returns A sorted array of arrays of chat group ID strings. Players who share a matching chat group ID are eligible to synchronously text chat with each other.
     */
    GetChatGroupsAsync(this: TextChatService, players: Array<Instance>): Array<unknown>;
    /**
     * Fires when `TextChatService:DisplayBubble()` is called.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatService#BubbleDisplayed)
     */
    readonly BubbleDisplayed: RBXScriptSignal<(partOrCharacter: Instance, textChatMessage: TextChatMessage) => void>;
    /**
     * Fires when `TextChannel:DisplaySystemMessage()` is invoked on the client, or when the client receives a valid `TextChannel:SendAsync()` response from the server.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatService#MessageReceived)
     */
    readonly MessageReceived: RBXScriptSignal<(textChatMessage: TextChatMessage) => void>;
    /**
     * Fires when `TextChannel:SendAsync()` is called by the sending client.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatService#SendingMessage)
     */
    readonly SendingMessage: RBXScriptSignal<(textChatMessage: TextChatMessage) => void>;
    /**
     * Called when a bubble chat is about to be displayed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatService#OnBubbleAdded)
     * @param message The incoming `TextChatMessage`.
     * @param adornee The part or character the bubble chat message is attached to.
     * @returns If a `BubbleChatMessageProperties` is returned, its properties override the `BubbleChatConfiguration` properties.
     */
    OnBubbleAdded: (message: TextChatMessage, adornee: Instance) => BubbleChatMessageProperties | undefined;
    /**
     * Called when a new message is about to be displayed in the chat window. This can only be implemented on the client.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatService#OnChatWindowAdded)
     * @param message The incoming `TextChatMessage`.
     * @returns If a `ChatWindowMessageProperties` is returned, its properties override the `ChatWindowConfiguration` properties.
     */
    OnChatWindowAdded: (message: TextChatMessage) => ChatWindowMessageProperties | undefined;
    /**
     * Called when `TextChatService` is receiving an incoming message.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextChatService#OnIncomingMessage)
     * @param message The incoming `TextChatMessage`.
     * @returns If a `TextChatMessageProperties` is returned, those properties are merged with the `TextChatMessage` parameter to create a new `TextChatMessage` with those properties, otherwise, if `nil` is returned, then `TextChatMessage` is not changed.
     */
    OnIncomingMessage: (message: TextChatMessage) => TextChatMessageProperties | undefined;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextFilterResult)
 */
interface TextFilterResult extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextFilterResult: unique symbol;
    /**
     * **Deprecated:** This method is deprecated and returns an empty string. Text filtering pertaining to chat should be done through `TextChatService`, and experiences that do not properly filter player-generated chat text may be subject to moderation.
     *
     * Returns the text in a properly filtered manner for the specified `Player.UserId`.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextFilterResult#GetChatForUserAsync)
     * @param this
     * @param toUserId `Player.UserId` of the user being chatted.
     * @returns Filtered text string.
     *
     * @deprecated
     */
    GetChatForUserAsync(this: TextFilterResult, toUserId: number): string;
    /**
     * Returns the text in a properly filtered manner for all users.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextFilterResult#GetNonChatStringForBroadcastAsync)
     * @param this
     * @returns Filtered text string.
     */
    GetNonChatStringForBroadcastAsync(this: TextFilterResult): string;
    /**
     * Returns the text in a properly filtered manner for the specified `Player.UserId` based on age and other details.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextFilterResult#GetNonChatStringForUserAsync)
     * @param this
     * @param toUserId `Player.UserId` of the user intended to see/receive the text.
     * @returns Filtered text string.
     */
    GetNonChatStringForUserAsync(this: TextFilterResult, toUserId: number): string;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextFilterTranslatedResult)
 */
interface TextFilterTranslatedResult extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextFilterTranslatedResult: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextFilterTranslatedResult#SourceLanguage)
     */
    readonly SourceLanguage: string;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextFilterTranslatedResult#SourceText)
     */
    readonly SourceText: TextFilterResult | undefined;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextFilterTranslatedResult#GetTranslationForLocale)
     * @param this
     * @param locale
     */
    GetTranslationForLocale(this: TextFilterTranslatedResult, locale: string): TextFilterResult;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextFilterTranslatedResult#GetTranslations)
     * @param this
     */
    GetTranslations(this: TextFilterTranslatedResult): object;
}
/**
 * Gives access to a large language model for text generation.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextGenerator)
 */
interface TextGenerator extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextGenerator: unique symbol;
    /**
     * Sets a fixed seed for the random number generator, allowing reproducible responses in cases where the same input parameters are used across multiple requests.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextGenerator#Seed)
     */
    Seed: number;
    /**
     * Provides context to the model about its role, tone, or behavior during conversation.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextGenerator#SystemPrompt)
     */
    SystemPrompt: string;
    /**
     * Controls the "creativity" or randomness of the model's responses.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextGenerator#Temperature)
     */
    Temperature: number;
    /**
     * Helps the AI model narrow or expand the range of possible words to sample from while generating the next token.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextGenerator#TopP)
     */
    TopP: number;
    /**
     * Returns text generated by an LLM based on the provided system and user prompts.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextGenerator#GenerateTextAsync)
     * @param this Gives access to a large language model for text generation.
     * @param request A dictionary containing optional parameters for the text generation request. The currently supported parameters are `UserPrompt`, `ContextToken`, and `MaxTokens`.
     * @returns A dictionary containing the generated response.
     */
    GenerateTextAsync(this: TextGenerator, request: object): object;
}
/**
 * Service internally responsible for handling the display of text.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextService)
 */
interface TextService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextService: unique symbol;
    /**
     * Computes the `Vector2` dimensions (in pixels) that will be taken up with text when using the specified formatting parameters and size constraints.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextService#GetTextSize)
     * @param this Service internally responsible for handling the display of text.
     * @param string The string for which the text size is to be calculated.
     * @param fontSize The integer representing the font size used. Does not accept an `FontSize` value.
     * @param font The font used.
     * @param frameSize The `GuiBase2d.AbsoluteSize` of the text object to be used. Required to compute how the text will wrap.
     * @returns The size of the space required, in pixels, by the string with the specified formatting.
     */
    GetTextSize(this: TextService, string: string, fontSize: number, font: CastsToEnum<Enum.Font>, frameSize: Vector2): Vector2;
    /**
     * Filters and translates a string.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextService#FilterAndTranslateStringAsync)
     * @param this Service internally responsible for handling the display of text.
     * @param stringToFilter
     * @param fromUserId
     * @param targetLocales
     * @param textContext
     */
    FilterAndTranslateStringAsync(this: TextService, stringToFilter: string, fromUserId: number, targetLocales: Array<unknown>, textContext?: CastsToEnum<Enum.TextFilterContext>): TextFilterTranslatedResult;
    /**
     * Filters a string being received from a user and returns a `TextFilterResult` which can be used to distribute the correctly filtered text accordingly.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextService#FilterStringAsync)
     * @param this Service internally responsible for handling the display of text.
     * @param stringToFilter The text to be filtered.
     * @param fromUserId The `Player.UserId` of the player filtering the text.
     * @param textContext The context that the filtered message will be used in. This parameter does not impact the filtered result of the query and is only used to improve Roblox's text filtering.
     */
    FilterStringAsync(this: TextService, stringToFilter: string, fromUserId: number, textContext?: CastsToEnum<Enum.TextFilterContext>): TextFilterResult;
    /**
     * Returns a table containing the name and faces of a font family.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextService#GetFamilyInfoAsync)
     * @param this Service internally responsible for handling the display of text.
     * @param assetId Asset ID of the font family to look up.
     * @returns The information about the font family.
     */
    GetFamilyInfoAsync(this: TextService, assetId: ContentId): object;
    /**
     * Computes the `Vector2` dimensions (in pixels) that will be taken up with text when using a `GetTextBoundsParams` object.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextService#GetTextBoundsAsync)
     * @param this Service internally responsible for handling the display of text.
     * @param params A reference to a `GetTextBoundsParams` object.
     * @returns The size of the text as a `Vector2`.
     */
    GetTextBoundsAsync(this: TextService, params: GetTextBoundsParams): Vector2;
    /**
     * Returns the offset used to up-scale text based on the current `GuiService.PreferredTextSize` setting.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextService#GetTextSizeOffsetAsync)
     * @param this Service internally responsible for handling the display of text.
     * @param fontSize
     * @param font
     */
    GetTextSizeOffsetAsync(this: TextService, fontSize: number, font: Font): number;
}
/**
 * Represents a speaker in a `TextChannel`.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextSource)
 */
interface TextSource extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextSource: unique symbol;
    /**
     * Determines whether the user can send messages to the `TextChannel`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextSource#CanSend)
     */
    CanSend: boolean;
    /**
     * UserId of the user represented by the `TextSource`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextSource#UserId)
     */
    readonly UserId: number;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextureGenerationPartGroup)
 */
interface TextureGenerationPartGroup extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextureGenerationPartGroup: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextureGenerationService)
 */
interface TextureGenerationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextureGenerationService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TextureGenerationUnwrappingRequest)
 */
interface TextureGenerationUnwrappingRequest extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TextureGenerationUnwrappingRequest: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ThreadState)
 */
interface ThreadState extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ThreadState: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ToastNotificationService)
 */
interface ToastNotificationService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ToastNotificationService: unique symbol;
}
/**
 * An internal object used by networking and replication code to transmit `BasePart.Touched` and `BasePart.TouchEnded` events.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TouchTransmitter)
 */
interface TouchTransmitter extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TouchTransmitter: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TraceRouteService)
 */
interface TraceRouteService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TraceRouteService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TracerService)
 */
interface TracerService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TracerService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TrackerLodController)
 */
interface TrackerLodController extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TrackerLodController: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TrackerLodController#AudioMode)
     */
    AudioMode: Enum.TrackerLodFlagMode;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TrackerLodController#VideoExtrapolationMode)
     */
    VideoExtrapolationMode: Enum.TrackerExtrapolationFlagMode;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TrackerLodController#VideoLodMode)
     */
    VideoLodMode: Enum.TrackerLodValueMode;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TrackerLodController#VideoMode)
     */
    VideoMode: Enum.TrackerLodFlagMode;
}
/**
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TrackerStreamAnimation)
 */
interface TrackerStreamAnimation extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TrackerStreamAnimation: unique symbol;
}
/**
 * Used to create a trail effect between two attachments.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail)
 */
interface Trail extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Trail: unique symbol;
    /**
     * Along with `Attachment1`, determines where the trail will start drawing its segments.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#Attachment0)
     */
    Attachment0: Attachment | undefined;
    /**
     * Along with `Attachment0`, determines where the trail will start drawing its segments.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#Attachment1)
     */
    Attachment1: Attachment | undefined;
    /**
     * Scales the light emitted from the trail when `LightInfluence` is less than 1.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#Brightness)
     */
    Brightness: number;
    /**
     * The color of the trail throughout its lifetime.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#Color)
     */
    Color: ColorSequence;
    /**
     * Determines whether the trail will be drawn or not.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#Enabled)
     */
    Enabled: boolean;
    /**
     * Determines whether the trail will always face the camera, regardless of its orientation.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#FaceCamera)
     */
    FaceCamera: boolean;
    /**
     * Determines how long each segment in a trail will last, in seconds.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#Lifetime)
     */
    Lifetime: number;
    /**
     * Determines to what degree the colors of the trail are blended with the colors behind it.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#LightEmission)
     */
    LightEmission: number;
    /**
     * Determines the degree to which the trail is influenced by the environment's lighting.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#LightInfluence)
     */
    LightInfluence: number;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#LocalTransparencyModifier)
     */
    LocalTransparencyModifier: number;
    /**
     * Sets the maximum length of the trail.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#MaxLength)
     */
    MaxLength: number;
    /**
     * Sets the minimum length of the trail.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#MinLength)
     */
    MinLength: number;
    /**
     * The content ID of the texture to be displayed on the trail.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#Texture)
     */
    Texture: ContentId;
    /**
     * Sets the length of the trail's texture, dependent on `TextureMode`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#TextureLength)
     */
    TextureLength: number;
    /**
     * Determines the manner in which the `Texture` scales, repeats, and moves along with the trail's attachments.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#TextureMode)
     */
    TextureMode: Enum.TextureMode;
    /**
     * Sets the transparency of the trail's segments over its `Lifetime`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#Transparency)
     */
    Transparency: NumberSequence;
    /**
     * Scales the width of the trail over the course of its lifetime.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#WidthScale)
     */
    WidthScale: NumberSequence;
    /**
     * Clears the segments of the trail.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#Clear)
     * @param this Used to create a trail effect between two attachments.
     */
    Clear(this: Trail): void;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Hidden
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Trail#OnClearRequested)
     */
    readonly OnClearRequested: RBXScriptSignal<() => void>;
}
/**
 * The role of a Translator is to manufacture/return strings localized for the viewing player.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Translator)
 */
interface Translator extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Translator: unique symbol;
    /**
     * The locale of translated strings.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Translator#LocaleId)
     */
    readonly LocaleId: string;
    /**
     * Returns the localized text string in a `LocalizationTable` based on its `Translator` locale, by key.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Translator#FormatByKey)
     * @param this The role of a Translator is to manufacture/return strings localized for the viewing player.
     * @param key The **Key** value to look up and translate.
     * @param args To be provided if the **Source** text and translations contain format strings. Will be a Luau table of values **or** key-value pairs, depending on whether the format strings are numbered or named.
     */
    FormatByKey(this: Translator, key: string, args: unknown): string;
    /**
     * Returns the localized text string in a `LocalizationTable` based on its `Translator` locale, by source lookup.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Translator#Translate)
     * @param this The role of a Translator is to manufacture/return strings localized for the viewing player.
     * @param context A valid in-game `Instance` to use for context override as outlined above. Note that this argument can be arbitrary, for example `game`, if you don't require a context override.
     * @param text The **Source** text to look up and translate.
     * @returns The translated text.
     */
    Translate(this: Translator, context: Instance, text: string): string;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TutorialService)
 */
interface TutorialService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TutorialService: unique symbol;
}
/**
 * Abstract base class for in-between interpolation handlers. `Tween` inherits from `TweenBase`.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TweenBase)
 */
interface TweenBase extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TweenBase: unique symbol;
    /**
     * Read-only property that shows the current state for the `Tween` animation.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TweenBase#PlaybackState)
     */
    readonly PlaybackState: Enum.PlaybackState;
    /**
     * Halts playback and resets the tween variables. If you then call `TweenBase:Play()`, the properties of the tween resume interpolating towards their destination, but take the full length of the animation to do so.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TweenBase#Cancel)
     * @param this Abstract base class for in-between interpolation handlers. `Tween` inherits from `TweenBase`.
     */
    Cancel(this: TweenBase): void;
    /**
     * Halts playback of the tween. Doesn't reset its progress variables, meaning that if you call `TweenBase:Play()`, the tween resumes playback from the moment it was paused.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TweenBase#Pause)
     * @param this Abstract base class for in-between interpolation handlers. `Tween` inherits from `TweenBase`.
     */
    Pause(this: TweenBase): void;
    /**
     * Starts playback of a tween. Note that if playback has already started, calling `Play()` has no effect unless the tween has finished or is stopped (either by `TweenBase:Cancel()` or `TweenBase:Pause()`).
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TweenBase#Play)
     * @param this Abstract base class for in-between interpolation handlers. `Tween` inherits from `TweenBase`.
     */
    Play(this: TweenBase): void;
    /**
     * Fires when the tween finishes playing or when stopped with `TweenBase:Cancel()`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TweenBase#Completed)
     */
    readonly Completed: RBXScriptSignal<(playbackState: Enum.PlaybackState) => void>;
}
/**
 * The `Tween` object controls the playback of an interpolation.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tween)
 */
interface Tween extends TweenBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Tween: unique symbol;
    /**
     * Read-only property that points to the `Instance` whose properties are being interpolated by the tween.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tween#Instance)
     */
    readonly Instance: Instance | undefined;
    /**
     * Read-only property that includes information on how the interpolation of the `Tween` is to be carried out.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Tween#TweenInfo)
     */
    readonly TweenInfo: TweenInfo;
}
/**
 * Used to create `Tweens` which interpolate, or tween, the properties of instances.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TweenService)
 */
interface TweenService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TweenService: unique symbol;
    /**
     * Creates a new `Tween` given the object whose properties are to be tweened, a `TweenInfo`, and a dictionary of goal property values.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TweenService#Create)
     * @param this Used to create `Tweens` which interpolate, or tween, the properties of instances.
     * @param instance The `Instance` whose properties are to be tweened.
     * @param tweenInfo The `TweenInfo` to be used.
     * @param propertyTable A dictionary of properties, and their target values, to be tweened.
     */
    Create<T extends Instance>(this: TweenService, instance: T, tweenInfo: TweenInfo, propertyTable: Partial<ExtractMembers<T, Tweenable>>): Tween;
    /**
     * Calculates a new alpha given an `EasingStyle` and `EasingDirection`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TweenService#GetValue)
     * @param this Used to create `Tweens` which interpolate, or tween, the properties of instances.
     * @param alpha An interpolation value between `0` and `1`.
     * @param easingStyle The easing style to use.
     * @param easingDirection The easing direction to use.
     * @returns A new alpha value generated from the given easing style and direction.
     */
    GetValue(this: TweenService, alpha: number, easingStyle: CastsToEnum<Enum.EasingStyle>, easingDirection: CastsToEnum<Enum.EasingDirection>): number;
    /**
     * Smoothly interpolates a value towards a target, simulating a critically damped spring.
     *
     * - **ThreadSafety**: Safe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TweenService#SmoothDamp)
     * @param this Used to create `Tweens` which interpolate, or tween, the properties of instances.
     * @param current The current value to smooth.
     * @param target The target value to reach.
     * @param velocity The current velocity with which the current value should approach the target value. You shouldn't modify this value between calls yourself, it's used to store the stateful velocity. In most cases, initialize this with `0`, `zero`, `zero`, or `identity` depending on the type, or if needed, with your initial velocity.
     * @param smoothTime The duration over which the total smoothing operation should take place. Note that since this is a damped spring, there's no guarantee `current` will be exactly `target` after this time, but it will be close. Smaller values result in quicker smoothing.
     * @param maxSpeed The maximum speed at which the current value should approach the target value. Leaving this nil defaults to `huge`, meaning the velocity isn't clamped.
     * @param dt The rate at which the smoothing operation should be applied. If left nil, the current engine delta time will be used.
     * @returns The new value and new velocity calculated from the smoothing operation.
     */
    SmoothDamp<T extends number | Vector2 | Vector3 | CFrame>(this: TweenService, current: T, target: T, velocity: T, smoothTime: number, maxSpeed?: number, dt?: number): LuaTuple<[
        T,
        T
    ]>;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UGCAvatarService)
 */
interface UGCAvatarService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UGCAvatarService: unique symbol;
}
/**
 * `UIBase` is the base class for UI layout and constraint classes.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIBase)
 */
interface UIBase extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UIBase: unique symbol;
}
/**
 * A base class for UI constraint and layout classes.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIComponent)
 */
interface UIComponent extends UIBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UIComponent: unique symbol;
}
/**
 * The base class for UI constraint classes.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIConstraint)
 */
interface UIConstraint extends UIComponent {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UIConstraint: unique symbol;
}
/**
 * Ensures the parent UI element maintains a particular aspect ratio.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIAspectRatioConstraint)
 */
interface UIAspectRatioConstraint extends UIConstraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UIAspectRatioConstraint: unique symbol;
    /**
     * Determines the width-to-height ratio to maintain.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIAspectRatioConstraint#AspectRatio)
     */
    AspectRatio: number;
    /**
     * Determines how the maximum size of the object is limited.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIAspectRatioConstraint#AspectType)
     */
    AspectType: Enum.AspectType;
    /**
     * Determines the axis to use when setting the new size of the object.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIAspectRatioConstraint#DominantAxis)
     */
    DominantAxis: Enum.DominantAxis;
}
/**
 * Ensures a `GuiObject` does not become larger or smaller than the constraint's maximum size or minimum size.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UISizeConstraint)
 */
interface UISizeConstraint extends UIConstraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UISizeConstraint: unique symbol;
    /**
     * The largest size, in pixels, the parent object is allowed to be.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UISizeConstraint#MaxSize)
     */
    MaxSize: Vector2;
    /**
     * The smallest size, in pixels, the object is allowed to be.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UISizeConstraint#MinSize)
     */
    MinSize: Vector2;
}
/**
 * Ensures that the size of text rendered by certain `GuiObject` classes lies within the range described by `MaxTextSize` and `MinTextSize`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UITextSizeConstraint)
 */
interface UITextSizeConstraint extends UIConstraint {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UITextSizeConstraint: unique symbol;
    /**
     * The largest size in pixels the font is allowed to be.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UITextSizeConstraint#MaxTextSize)
     */
    MaxTextSize: number;
    /**
     * The smallest size in pixels the font is allowed to be.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UITextSizeConstraint#MinTextSize)
     */
    MinTextSize: number;
}
/**
 * UI modifier which applies deformation to corners of its parent `GuiObject`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UICorner)
 */
interface UICorner extends UIComponent {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UICorner: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UICorner#BottomLeftRadius)
     */
    set BottomLeftRadius(value: UDim);
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UICorner#BottomRightRadius)
     */
    set BottomRightRadius(value: UDim);
    /**
     * Determines the radius of the component.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UICorner#CornerRadius)
     */
    CornerRadius: UDim;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UICorner#TopLeftRadius)
     */
    set TopLeftRadius(value: UDim);
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UICorner#TopRightRadius)
     */
    set TopRightRadius(value: UDim);
}
/**
 * Instance which facilitates and encourages interaction with UI elements in an experience.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector)
 */
interface UIDragDetector extends UIComponent {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UIDragDetector: unique symbol;
    /**
     * Sets the cursor icon to display when the mouse is activated over the parent of this `UIDragDetector`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#ActivatedCursorIcon)
     */
    ActivatedCursorIcon: ContentId;
    /**
     * Sets the cursor icon to display when the mouse is activated over the parent of this `UIDragDetector`. Only supports asset URIs
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#ActivatedCursorIconContent)
     */
    ActivatedCursorIconContent: Content;
    /**
     * Determines bounding behavior of the dragged UI object when the detector's `BoundingUI` is set.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#BoundingBehavior)
     */
    BoundingBehavior: Enum.UIDragDetectorBoundingBehavior;
    /**
     * Instance whose bounding area defines the drag boundaries for the parent `GuiObject`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#BoundingUI)
     */
    BoundingUI: GuiBase2d | undefined;
    /**
     * Sets the cursor icon to display when the mouse is hovered over the parent of this `UIDragDetector`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#CursorIcon)
     */
    CursorIcon: ContentId;
    /**
     * Sets the cursor icon to display when the mouse is hovered over the parent of this `UIDragDetector`. Only asset URIs are supported.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#CursorIconContent)
     */
    CursorIconContent: Content;
    /**
     * The drag axis for the `UIDragDetector` instance when `DragStyle` is set to `UIDragDetectorDragStyle.TranslateLine`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#DragAxis)
     */
    DragAxis: Vector2;
    /**
     * Sets the paradigm which defines the relativity of inputs/outputs from a custom drag function.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#DragRelativity)
     */
    DragRelativity: Enum.UIDragDetectorDragRelativity;
    /**
     * The rotation performed by the current drag.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#DragRotation)
     */
    DragRotation: number;
    /**
     * Sets the paradigm which defines the space of inputs/outputs from a custom drag function.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#DragSpace)
     */
    DragSpace: Enum.UIDragDetectorDragSpace;
    /**
     * The paradigm used to generate proposed motion.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#DragStyle)
     */
    DragStyle: Enum.UIDragDetectorDragStyle;
    /**
     * The translation performed by the current drag expressed in a `UDim2` value.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#DragUDim2)
     */
    DragUDim2: UDim2;
    /**
     * Whether the `UIDragDetector` responds to user input.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#Enabled)
     */
    Enabled: boolean;
    /**
     * Along with `MinDragAngle`, impedes the detector's attempts to generate rotational motion.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#MaxDragAngle)
     */
    MaxDragAngle: number;
    /**
     * Along with `MinDragTranslation`, impedes the detector's attempts to generate linear/planar motion.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#MaxDragTranslation)
     */
    MaxDragTranslation: UDim2;
    /**
     * Along with `MaxDragAngle`, impedes the detector's attempts to generate rotational motion.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#MinDragAngle)
     */
    MinDragAngle: number;
    /**
     * Along with `MaxDragTranslation`, impedes the detector's attempts to generate linear/planar motion.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#MinDragTranslation)
     */
    MinDragTranslation: UDim2;
    /**
     * A `GuiObject` instance whose local space and absolute center position is the reference space and origin for the detector.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#ReferenceUIInstance)
     */
    ReferenceUIInstance: GuiObject | undefined;
    /**
     * The paradigm used to define the response to proposed motion.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#ResponseStyle)
     */
    ResponseStyle: Enum.UIDragDetectorResponseStyle;
    /**
     * Maximum drag speed for translation.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#SelectionModeDragSpeed)
     */
    SelectionModeDragSpeed: UDim2;
    /**
     * Maximum angle per second the `UIDragDetector` can rotate at.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#SelectionModeRotateSpeed)
     */
    SelectionModeRotateSpeed: number;
    /**
     * `UIDragSpeedAxisMapping` value that determines the **X**\/**Y** dimension dragging speeds.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#UIDragSpeedAxisMapping)
     */
    UIDragSpeedAxisMapping: Enum.UIDragSpeedAxisMapping;
    /**
     * Adds a function to modify or constrain proposed motion.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#AddConstraintFunction)
     * @param this Instance which facilitates and encourages interaction with UI elements in an experience.
     * @param priority The order of priority for functions added via this method. Higher values take precedence over lower values.
     * @param function Function for modifying or constraining proposed motion. This function takes in input `UDim2` and float of **proposed** motion and returns a `UDim2` and float of **modified** or unmodified motion. It can optionally return an `UIDragDetectorDragRelativity` and `UIDragDetectorDragSpace` as the third and fourth return values as output overrides.
     * @returns Use this connection object to remove the constraint function.
     */
    AddConstraintFunction(this: UIDragDetector, priority: number, callback: (proposedPosition: UDim2, proposedRotation: number) => LuaTuple<[
        UDim2,
        number,
        Enum.UIDragDetectorDragRelativity?,
        Enum.UIDragDetectorDragSpace?
    ]>): RBXScriptConnection;
    /**
     * Returns the reference `UDim2` position of the current drag's reference origin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#GetReferencePosition)
     * @param this Instance which facilitates and encourages interaction with UI elements in an experience.
     * @returns `UDim2` position of the current drag's reference element.
     */
    GetReferencePosition(this: UIDragDetector): UDim2;
    /**
     * Returns the reference rotation of the current drag's reference element.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#GetReferenceRotation)
     * @param this Instance which facilitates and encourages interaction with UI elements in an experience.
     * @returns Rotation of the current drag's reference element.
     */
    GetReferenceRotation(this: UIDragDetector): number;
    /**
     * Passes a function to be used if and only if `DragStyle` is set to `UIDragDetectorDragStyle.Scriptable`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#SetDragStyleFunction)
     * @param this Instance which facilitates and encourages interaction with UI elements in an experience.
     * @param function Function for monitoring `DragContinue` signals. This function receives the signal's screen space input position and returns a `UDim2` and float containing the desired motion of the drag in the desired space and relativity. If this function returns `nil`, the object will not be moved.
     */
    SetDragStyleFunction(this: UIDragDetector, callback: (inputPosition: UDim2) => UDim2 | void): void;
    /**
     * Fires when a user continues dragging the UI element after `DragStart` has been initiated.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#DragContinue)
     */
    readonly DragContinue: RBXScriptSignal<(inputPosition: Vector2) => void>;
    /**
     * Fires when a user stops dragging the UI element.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#DragEnd)
     */
    readonly DragEnd: RBXScriptSignal<(inputPosition: Vector2) => void>;
    /**
     * Fires when a user starts dragging the UI element.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetector#DragStart)
     */
    readonly DragStart: RBXScriptSignal<(inputPosition: Vector2) => void>;
}
/**
 * Defines flex behavior for a `GuiObject` within a `UIListLayout`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIFlexItem)
 */
interface UIFlexItem extends UIComponent {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UIFlexItem: unique symbol;
    /**
     * How the parent `GuiObject` grows or shrinks with available space in the flex layout container.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIFlexItem#FlexMode)
     */
    FlexMode: Enum.UIFlexMode;
    /**
     * Determines the amount the parent `GuiObject` grows relative to other items in the line. Applies only if `FlexMode` is set to `UIFlexMode.Custom`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIFlexItem#GrowRatio)
     */
    GrowRatio: number;
    /**
     * Cross-axis alignment of the specific parent `GuiObject` within the flex line.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIFlexItem#ItemLineAlignment)
     */
    ItemLineAlignment: Enum.ItemLineAlignment;
    /**
     * Determines the amount the parent `GuiObject` shrinks relative to other items in the line. Applies only if `FlexMode` is set to `UIFlexMode.Custom`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIFlexItem#ShrinkRatio)
     */
    ShrinkRatio: number;
}
/**
 * Applies a color and transparency gradient to the UI elements rendered by the parent `GuiObject`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGradient)
 */
interface UIGradient extends UIComponent {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UIGradient: unique symbol;
    /**
     * Determines the color blended with the parent GuiObject along the length of the gradient.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGradient#Color)
     */
    Color: ColorSequence;
    /**
     * Whether the gradient is enabled or not.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGradient#Enabled)
     */
    Enabled: boolean;
    /**
     * Determines the scalar translation of the gradient from the center of the parent GuiObject.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGradient#Offset)
     */
    Offset: Vector2;
    /**
     * Determines the clockwise rotation in degrees of the gradient starting from left to right.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGradient#Rotation)
     */
    Rotation: number;
    /**
     * Determines how much the parent GuiObject can be seen through along the length of the gradient.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGradient#Transparency)
     */
    Transparency: NumberSequence;
}
/**
 * The base class for UI layout classes.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UILayout)
 */
interface UILayout extends UIComponent {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UILayout: unique symbol;
}
/**
 * The base class for grid style UI layouts.
 *
 * - **Tags**: NotCreatable, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGridStyleLayout)
 */
interface UIGridStyleLayout extends UILayout {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UIGridStyleLayout: unique symbol;
    /**
     * The absolute size of space being taken up by the grid layout.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGridStyleLayout#AbsoluteContentSize)
     */
    readonly AbsoluteContentSize: Vector2;
    /**
     * Determines the axis in which UI objects are laid out.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGridStyleLayout#FillDirection)
     */
    FillDirection: Enum.FillDirection;
    /**
     * Determines the horizontal alignment of UI elements within the parent element.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGridStyleLayout#HorizontalAlignment)
     */
    HorizontalAlignment: Enum.HorizontalAlignment;
    /**
     * Determines the order in which child UI objects are placed in a layout.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGridStyleLayout#SortOrder)
     */
    SortOrder: Enum.SortOrder;
    /**
     * Determines the vertical alignment of UI elements within the parent element.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGridStyleLayout#VerticalAlignment)
     */
    VerticalAlignment: Enum.VerticalAlignment;
    /**
     * **Deprecated:**
     *
     * Force re-layout of sibling UI elements.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGridStyleLayout#ApplyLayout)
     * @param this The base class for grid style UI layouts.
     *
     * @deprecated
     */
    ApplyLayout(this: UIGridStyleLayout): void;
    /**
     * **Deprecated:** This method is deprecated in favor of using other SortOrder means, such as by Name or LayoutOrder.
     *
     * Sets the function used to determine the order of elements when SortOrder is set to Custom.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGridStyleLayout#SetCustomSortFunction)
     * @param this The base class for grid style UI layouts.
     * @param function
     *
     * @deprecated
     */
    SetCustomSortFunction(this: UIGridStyleLayout, callback?: Callback): void;
}
/**
 * Positions sibling UI elements by filling rows using the space of the parent UI element.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGridLayout)
 */
interface UIGridLayout extends UIGridStyleLayout {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UIGridLayout: unique symbol;
    /**
     * The number of elements in the grid.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGridLayout#AbsoluteCellCount)
     */
    readonly AbsoluteCellCount: Vector2;
    /**
     * The absolute size of each element in the grid.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGridLayout#AbsoluteCellSize)
     */
    readonly AbsoluteCellSize: Vector2;
    /**
     * Determines how much space there is between elements in the grid.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGridLayout#CellPadding)
     */
    CellPadding: UDim2;
    /**
     * Determines the size of each element in the grid.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGridLayout#CellSize)
     */
    CellSize: UDim2;
    /**
     * Determines the maximum number of cells that may be used in a row or column before the next one is started.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGridLayout#FillDirectionMaxCells)
     */
    FillDirectionMaxCells: number;
    /**
     * Determines from which corner the grid starts laying out UI elements.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIGridLayout#StartCorner)
     */
    StartCorner: Enum.StartCorner;
}
/**
 * Positions sibling UI elements in rows or columns within the parent UI container.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIListLayout)
 */
interface UIListLayout extends UIGridStyleLayout {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UIListLayout: unique symbol;
    /**
     * Controls how to distribute extra horizontal space.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIListLayout#HorizontalFlex)
     */
    HorizontalFlex: Enum.UIFlexAlignment;
    /**
     * In a flex layout, defines the **cross-directional** alignment of siblings within a line.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIListLayout#ItemLineAlignment)
     */
    ItemLineAlignment: Enum.ItemLineAlignment;
    /**
     * Amount of free space between each element.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIListLayout#Padding)
     */
    Padding: UDim;
    /**
     * Controls how to distribute extra vertical space.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIListLayout#VerticalFlex)
     */
    VerticalFlex: Enum.UIFlexAlignment;
    /**
     * Controls whether siblings within the parent container wrap.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIListLayout#Wraps)
     */
    Wraps: boolean;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout)
 */
interface UIPageLayout extends UIGridStyleLayout {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UIPageLayout: unique symbol;
    /**
     * Whether or not to animate transitions between pages.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#Animated)
     */
    Animated: boolean;
    /**
     * Whether or not the page layout wraps around at the ends.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#Circular)
     */
    Circular: boolean;
    /**
     * The page that is either currently being displayed or is the target of the current animation.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#CurrentPage)
     */
    readonly CurrentPage: GuiObject | undefined;
    /**
     * The easing direction to use when performing an animation.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#EasingDirection)
     */
    EasingDirection: Enum.EasingDirection;
    /**
     * The easing style to use when performing an animation.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#EasingStyle)
     */
    EasingStyle: Enum.EasingStyle;
    /**
     * Controls the overrides of `NextSelection{Up, Down, Left, Right}`. Defaults to true.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#GamepadInputEnabled)
     */
    GamepadInputEnabled: boolean;
    /**
     * Determines the amount that pages are separated from each other by.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#Padding)
     */
    Padding: UDim;
    /**
     * Controls the use of scroll wheel, in case that it is intended for something else. Defaults to true.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#ScrollWheelInputEnabled)
     */
    ScrollWheelInputEnabled: boolean;
    /**
     * Controls touch scrolling, in case this is a non-interactive layout. Defaults to true.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#TouchInputEnabled)
     */
    TouchInputEnabled: boolean;
    /**
     * The length of the animation.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#TweenTime)
     */
    TweenTime: number;
    /**
     * If the `page` is in the UIPageLayout, then it sets `UIPageLayout.CurrentPage` to it and animates to it. If the circular layout is enabled, it will take the shortest path to this page.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#JumpTo)
     * @param this
     * @param page
     */
    JumpTo(this: UIPageLayout, page: GuiObject): void;
    /**
     * If the index is `>= 0` and less than the size of the layout, this method acts like `UIPageLayout:JumpTo()`. If it's out of bounds and circular is set, it will animate the full distance between the in-bounds index of `UIPageLayout.CurrentPage` and the new index.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#JumpToIndex)
     * @param this
     * @param index
     */
    JumpToIndex(this: UIPageLayout, index: number): void;
    /**
     * Sets `UIPageLayout.CurrentPage` to the page after the current page and animates to it, or does nothing if there isn't a next page.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#Next)
     * @param this
     */
    Next(this: UIPageLayout): void;
    /**
     * Sets `UIPageLayout.CurrentPage` to the page before the current page and animates to it, or does nothing if there isn't a previous page.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#Previous)
     * @param this
     */
    Previous(this: UIPageLayout): void;
    /**
     * Fires when a page comes into view, and is going to be rendered.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#PageEnter)
     */
    readonly PageEnter: RBXScriptSignal<(page: GuiObject) => void>;
    /**
     * Fires when a page leaves view, and will not be rendered.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#PageLeave)
     */
    readonly PageLeave: RBXScriptSignal<(page: GuiObject) => void>;
    /**
     * Fires when an animation to `UIPageLayout.CurrentPage` is completed without being canceled, and the view stops scrolling.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPageLayout#Stopped)
     */
    readonly Stopped: RBXScriptSignal<(page: GuiObject) => void>;
}
/**
 * Lays out sibling UI elements and their child UI elements as rows/columns and cells in a table.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UITableLayout)
 */
interface UITableLayout extends UIGridStyleLayout {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UITableLayout: unique symbol;
    /**
     * Determines whether cells are sized such that they occupy the horizontal space of the parent UI element.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UITableLayout#FillEmptySpaceColumns)
     */
    FillEmptySpaceColumns: boolean;
    /**
     * Determines whether cells are sized such that they occupy the vertical space of the parent UI element.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UITableLayout#FillEmptySpaceRows)
     */
    FillEmptySpaceRows: boolean;
    /**
     * Determines whether sibling UI elements are treated as rows or columns.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UITableLayout#MajorAxis)
     */
    MajorAxis: Enum.TableMajorAxis;
    /**
     * Determines the empty space between cells.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UITableLayout#Padding)
     */
    Padding: UDim2;
}
/**
 * Applies padding to the borders of the parent `GuiObject`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPadding)
 */
interface UIPadding extends UIComponent {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UIPadding: unique symbol;
    /**
     * Padding to apply on the bottom side, relative to the parent's normal size.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPadding#PaddingBottom)
     */
    PaddingBottom: UDim;
    /**
     * Padding to apply on the left side, relative to the parent's normal size.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPadding#PaddingLeft)
     */
    PaddingLeft: UDim;
    /**
     * Padding to apply on the right side, relative to the parent's normal size.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPadding#PaddingRight)
     */
    PaddingRight: UDim;
    /**
     * Padding to apply on the top side, relative to the parent's normal size.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIPadding#PaddingTop)
     */
    PaddingTop: UDim;
}
/**
 * An object that acts as a multiplier for the size of the parent UI element's scale.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIScale)
 */
interface UIScale extends UIComponent {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UIScale: unique symbol;
    /**
     * Determines the multiplier to apply to the parent UI element's size.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIScale#Scale)
     */
    Scale: number;
}
/**
 * - **Tags**: NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIShadow)
 */
interface UIShadow extends UIComponent {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UIShadow: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIShadow#BlurRadius)
     */
    BlurRadius: UDim;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIShadow#Color)
     */
    Color: Color3;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIShadow#Offset)
     */
    Offset: UDim2;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIShadow#Spread)
     */
    Spread: UDim2;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIShadow#Transparency)
     */
    Transparency: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIShadow#ZIndex)
     */
    ZIndex: number;
}
/**
 * Applies an outline to text or a UI border.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIStroke)
 */
interface UIStroke extends UIComponent {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UIStroke: unique symbol;
    /**
     * Determines whether to apply the stroke to the object's border instead of the text itself.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIStroke#ApplyStrokeMode)
     */
    ApplyStrokeMode: Enum.ApplyStrokeMode;
    /**
     * Specifies an additional offset to the stroke's position, relative to the parent's minimum height or width.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIStroke#BorderOffset)
     */
    BorderOffset: UDim;
    /**
     * Determines the stroke's position on its parent's border.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIStroke#BorderStrokePosition)
     */
    BorderStrokePosition: Enum.BorderStrokePosition;
    /**
     * Determines the stroke color.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIStroke#Color)
     */
    Color: Color3;
    /**
     * Determines whether the stroke in visible.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIStroke#Enabled)
     */
    Enabled: boolean;
    /**
     * Determines how corners are interpreted.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIStroke#LineJoinMode)
     */
    LineJoinMode: Enum.LineJoinMode;
    /**
     * Determines whether the stroke's `Thickness` will be measured in pixels or be relative to the parent.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIStroke#StrokeSizingMode)
     */
    StrokeSizingMode: Enum.StrokeSizingMode;
    /**
     * Determines the stroke's thickness.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIStroke#Thickness)
     */
    Thickness: number;
    /**
     * Sets the stroke opacity independently of the parent object's `BackgroundTransparency` or `TextTransparency`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIStroke#Transparency)
     */
    Transparency: number;
    /**
     * Determines the order in which the stroke renders relative to sibling `UIStroke` instances.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIStroke#ZIndex)
     */
    ZIndex: number;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UIDragDetectorService)
 */
interface UIDragDetectorService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UIDragDetectorService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UniqueIdLookupService)
 */
interface UniqueIdLookupService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UniqueIdLookupService: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UniqueIdLookupService#GetOrCreateUniqueIdRemoteCommand)
     * @param this
     * @param instance
     */
    GetOrCreateUniqueIdRemoteCommand(this: UniqueIdLookupService, instance: Instance): string;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UnvalidatedAssetService)
 */
interface UnvalidatedAssetService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UnvalidatedAssetService: unique symbol;
}
/**
 * The UserGameSettings is a singleton class found inside of the `UserSettings` singleton. It holds various persistent settings relating to how the user wants to control their camera, and their character.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings)
 */
interface UserGameSettings extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UserGameSettings: unique symbol;
    /**
     * The camera movement mode currently in-use by the client on desktop.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#ComputerCameraMovementMode)
     */
    ComputerCameraMovementMode: Enum.ComputerCameraMovementMode;
    /**
     * The type of controls being used by the client on desktop.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#ComputerMovementMode)
     */
    ComputerMovementMode: Enum.ComputerMovementMode;
    /**
     * Toggles whether or not the client can use the Mouse Lock Switch mode.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#ControlMode)
     */
    ControlMode: Enum.ControlMode;
    /**
     * Describes how sensitive the camera is when using a gamepad.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#GamepadCameraSensitivity)
     */
    GamepadCameraSensitivity: number;
    /**
     * A float between 0 and 4 representing the sensitivity of the client's camera sensitivity.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#MouseSensitivity)
     */
    MouseSensitivity: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#RCCProfilerRecordFrameRate)
     */
    RCCProfilerRecordFrameRate: number;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#RCCProfilerRecordTimeFrame)
     */
    RCCProfilerRecordTimeFrame: number;
    /**
     * Controls how the client's character is rotated.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#RotationType)
     */
    RotationType: Enum.RotationType;
    /**
     * The graphics quality level set by the client.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#SavedQualityLevel)
     */
    SavedQualityLevel: Enum.SavedQualitySetting;
    /**
     * The camera type in-use by the client while on a mobile device.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#TouchCameraMovementMode)
     */
    TouchCameraMovementMode: Enum.TouchCameraMovementMode;
    /**
     * The type of controls being used by the client on a mobile device.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#TouchMovementMode)
     */
    TouchMovementMode: Enum.TouchMovementMode;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#VRSmoothRotationEnabled)
     */
    get VRSmoothRotationEnabled(): boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#VignetteEnabled)
     */
    get VignetteEnabled(): boolean;
    /**
     * Returns the camera's Y-invert value.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#GetCameraYInvertValue)
     * @param this The UserGameSettings is a singleton class found inside of the `UserSettings` singleton. It holds various persistent settings relating to how the user wants to control their camera, and their character.
     */
    GetCameraYInvertValue(this: UserGameSettings): number;
    /**
     * Checks if onboarding has been completed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#GetOnboardingCompleted)
     * @param this The UserGameSettings is a singleton class found inside of the `UserSettings` singleton. It holds various persistent settings relating to how the user wants to control their camera, and their character.
     * @param onboardingId The onboarding ID to inquire about.
     * @returns Whether or not the onboarding in particular has been completed yet.
     */
    GetOnboardingCompleted(this: UserGameSettings, onboardingId: string): boolean;
    /**
     * Returns true if the user's Roblox window is in full screen mode.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#InFullScreen)
     * @param this The UserGameSettings is a singleton class found inside of the `UserSettings` singleton. It holds various persistent settings relating to how the user wants to control their camera, and their character.
     */
    InFullScreen(this: UserGameSettings): boolean;
    /**
     * Returns true if the client's game session is in Roblox Studio.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#InStudioMode)
     * @param this The UserGameSettings is a singleton class found inside of the `UserSettings` singleton. It holds various persistent settings relating to how the user wants to control their camera, and their character.
     */
    InStudioMode(this: UserGameSettings): boolean;
    /**
     * If called, Roblox toggles the menu option to invert the user's camera y axis.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#SetCameraYInvertVisible)
     * @param this The UserGameSettings is a singleton class found inside of the `UserSettings` singleton. It holds various persistent settings relating to how the user wants to control their camera, and their character.
     */
    SetCameraYInvertVisible(this: UserGameSettings): void;
    /**
     * If called, Roblox toggles the menu option to control the camera sensitivity with gamepads.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#SetGamepadCameraSensitivityVisible)
     * @param this The UserGameSettings is a singleton class found inside of the `UserSettings` singleton. It holds various persistent settings relating to how the user wants to control their camera, and their character.
     */
    SetGamepadCameraSensitivityVisible(this: UserGameSettings): void;
    /**
     * Sets onboarding as completed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#SetOnboardingCompleted)
     * @param this The UserGameSettings is a singleton class found inside of the `UserSettings` singleton. It holds various persistent settings relating to how the user wants to control their camera, and their character.
     * @param onboardingId The onboarding ID to set as completed.
     */
    SetOnboardingCompleted(this: UserGameSettings, onboardingId: string): void;
    /**
     * Fires if the user's full screen mode is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#FullscreenChanged)
     */
    readonly FullscreenChanged: RBXScriptSignal<(isFullscreen: boolean) => void>;
    /**
     * Fired when the user's client switches between Studio mode and in-game mode. This gets fired periodically in Roblox Studio when a session starts.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserGameSettings#StudioModeChanged)
     */
    readonly StudioModeChanged: RBXScriptSignal<(isStudioMode: boolean) => void>;
}
/**
 * `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
 *
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService)
 */
interface UserInputService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UserInputService: unique symbol;
    /**
     * Describes whether the user's device has an accelerometer.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#AccelerometerEnabled)
     */
    readonly AccelerometerEnabled: boolean;
    /**
     * Describes whether the user's device has an available gamepad.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GamepadEnabled)
     */
    readonly GamepadEnabled: boolean;
    /**
     * Describes whether the user's device has a gyroscope.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GyroscopeEnabled)
     */
    readonly GyroscopeEnabled: boolean;
    /**
     * Describes whether the user's device has a keyboard available.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#KeyboardEnabled)
     */
    readonly KeyboardEnabled: boolean;
    /**
     * **Deprecated:** This item has been superseded by `GuiService.TouchControlsEnabled` which should be used in all new work.
     *
     * Toggles whether Roblox's mobile controls are hidden on mobile devices.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#ModalEnabled)
     *
     * @deprecated TouchControlsEnabled
     */
    ModalEnabled: boolean;
    /**
     * Determines whether the user's mouse can be moved freely or is locked.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#MouseBehavior)
     */
    MouseBehavior: Enum.MouseBehavior;
    /**
     * Scales the delta (change) output of the user's `Mouse`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#MouseDeltaSensitivity)
     */
    MouseDeltaSensitivity: number;
    /**
     * Describes whether the user's device has a mouse available.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#MouseEnabled)
     */
    readonly MouseEnabled: boolean;
    /**
     * The content ID of the image for the user's mouse icon.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#MouseIcon)
     */
    MouseIcon: ContentId;
    /**
     * The content ID of the image for the user's mouse icon. Only supports asset URIs.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#MouseIconContent)
     */
    MouseIconContent: Content;
    /**
     * Determines whether the mouse icon is visible.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#MouseIconEnabled)
     */
    MouseIconEnabled: boolean;
    /**
     * Determines the position of the on-screen keyboard.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#OnScreenKeyboardPosition)
     */
    readonly OnScreenKeyboardPosition: Vector2;
    /**
     * Determines the size of the on-screen keyboard.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#OnScreenKeyboardSize)
     */
    readonly OnScreenKeyboardSize: Vector2;
    /**
     * Describes whether an on-screen keyboard is currently visible on the user's screen.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#OnScreenKeyboardVisible)
     */
    readonly OnScreenKeyboardVisible: boolean;
    /**
     * Queries the primary input type a player is using, based on anticipated user behavior.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#PreferredInput)
     */
    readonly PreferredInput: Enum.PreferredInput;
    /**
     * Describes whether the user's device has a touch screen available.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#TouchEnabled)
     */
    readonly TouchEnabled: boolean;
    /**
     * **Deprecated:** This item has been superseded by `UserInputService:GetUserCFrame()` which should be used in all new work.
     *
     * Describes the orientation and position of a user's head, if they are actively using a virtual reality headset.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#UserHeadCFrame)
     *
     * @deprecated
     */
    readonly UserHeadCFrame: CFrame;
    /**
     * Indicates whether the user is using a virtual reality headset.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#VREnabled)
     */
    readonly VREnabled: boolean;
    /**
     * Returns whether the given `UserInputType` gamepad supports a button corresponding with the given `KeyCode`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GamepadSupports)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @param gamepadNum The `UserInputType` of the gamepad.
     * @param gamepadKeyCode The `KeyCode` of the button in question.
     * @returns Whether the given gamepad supports a button corresponding with the given `KeyCode`.
     */
    GamepadSupports(this: UserInputService, gamepadNum: CastsToEnum<Enum.UserInputType>, gamepadKeyCode: CastsToEnum<Enum.KeyCode>): boolean;
    /**
     * Returns an array of `UserInputType` gamepads currently connected.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetConnectedGamepads)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @returns An array of `UserInputTypes` corresponding with the gamepads connected to the user's device.
     */
    GetConnectedGamepads(this: UserInputService): Array<Enum.UserInputType>;
    /**
     * Returns an `InputObject` that describes the device's current acceleration.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetDeviceAcceleration)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     */
    GetDeviceAcceleration(this: UserInputService): InputObject;
    /**
     * Returns an `InputObject` describing the device's current gravity vector.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetDeviceGravity)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     */
    GetDeviceGravity(this: UserInputService): InputObject;
    /**
     * Returns an `InputObject` and a `CFrame` describing the device's current rotation vector.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetDeviceRotation)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @returns A tuple containing two properties: The delta describing the amount of rotation that last happened, and the `CFrame` of the device's current rotation relative to its default reference frame.
     */
    GetDeviceRotation(this: UserInputService): LuaTuple<[
        InputObject,
        CFrame
    ]>;
    /**
     * Returns the `TextBox` the client is currently focused on.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetFocusedTextBox)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     */
    GetFocusedTextBox(this: UserInputService): TextBox | undefined;
    /**
     * Returns whether a gamepad with the given `UserInputType` is connected.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetGamepadConnected)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @param gamepadNum The `UserInputType` of the gamepad in question.
     * @returns Whether a gamepad associated with `UserInputType` is connected.
     */
    GetGamepadConnected(this: UserInputService, gamepadNum: CastsToEnum<Enum.UserInputType>): boolean;
    /**
     * Returns an array of `InputObjects` for all available inputs on the given gamepad, representing each input's last input state.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetGamepadState)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @param gamepadNum The `UserInputType` corresponding with the gamepad in question.
     * @returns An array of `InputObjects` representing the current state of all available inputs for the given gamepad.
     */
    GetGamepadState(this: UserInputService, gamepadNum: CastsToEnum<Enum.UserInputType>): Array<InputObject>;
    /**
     * Returns an image for the requested `KeyCode`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetImageForKeyCode)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @param keyCode The `KeyCode` for which to fetch the associated image.
     * @returns The returned image asset ID.
     */
    GetImageForKeyCode(this: UserInputService, keyCode: CastsToEnum<Enum.KeyCode>): ContentId;
    /**
     * Returns an array of `InputObjects` associated with the `keys` currently being pressed down.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetKeysPressed)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @returns An array of `InputObjects` associated with the keys currently being pressed.
     */
    GetKeysPressed(this: UserInputService): Array<InputObject>;
    /**
     * Returns the `UserInputType` associated with the user's most recent input.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetLastInputType)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @returns The `UserInputType` associated with the user's most recent input.
     */
    GetLastInputType(this: UserInputService): Enum.UserInputType;
    /**
     * Returns an array of `InputObjects` associated with the mouse buttons currently being held down.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetMouseButtonsPressed)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @returns An array of `InputObjects` corresponding to the mouse buttons currently being currently held down.
     */
    GetMouseButtonsPressed(this: UserInputService): Array<InputObject>;
    /**
     * Returns the change, in pixels, of the position of the player's `Mouse` in the last rendered frame. Only works if the mouse is locked.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetMouseDelta)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @returns Change in movement of the mouse.
     */
    GetMouseDelta(this: UserInputService): Vector2;
    /**
     * Returns the current screen location of the player's `Mouse` relative to the top-left corner of the screen.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetMouseLocation)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @returns A `Vector2` representing the current screen location of the mouse, in pixels.
     */
    GetMouseLocation(this: UserInputService): Vector2;
    /**
     * Returns an array of gamepads connected and enabled for `GuiObject` navigation in descending order of priority.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetNavigationGamepads)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @returns An array of `UserInputTypes` that can be used for navigation, in descending order of priority.
     */
    GetNavigationGamepads(this: UserInputService): Array<Enum.UserInputType>;
    /**
     * Returns a string representing a key the user should press in order to input a given `KeyCode`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetStringForKeyCode)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @param keyCode
     */
    GetStringForKeyCode(this: UserInputService, keyCode: CastsToEnum<Enum.KeyCode>): string;
    /**
     * Returns an array of `KeyCodes` that the gamepad associated with the given `UserInputType` supports.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetSupportedGamepadKeyCodes)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @param gamepadNum The `UserInputType` of the gamepad.
     * @returns An array of `KeyCodes` supported by the given gamepad.
     */
    GetSupportedGamepadKeyCodes(this: UserInputService, gamepadNum: CastsToEnum<Enum.UserInputType>): Array<Enum.KeyCode>;
    /**
     * **Deprecated:**
     *
     * Returns a `CFrame` describing the position and orientation of a specified virtual reality device.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GetUserCFrame)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @param type The `UserCFrame` corresponding to the VR device.
     * @returns A `CFrame` describing the position and orientation of the specified VR device.
     *
     * @deprecated
     */
    GetUserCFrame(this: UserInputService, type: CastsToEnum<Enum.UserCFrame>): CFrame;
    /**
     * Determines whether a particular button is pressed on a gamepad.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#IsGamepadButtonDown)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @param gamepadNum The `UserInputType` of the given gamepad.
     * @param gamepadKeyCode The `KeyCode` of the specified gamepad button.
     * @returns Whether the specified button on the given gamepad is pressed is pressed.
     */
    IsGamepadButtonDown(this: UserInputService, gamepadNum: CastsToEnum<Enum.UserInputType>, gamepadKeyCode: CastsToEnum<Enum.KeyCode>): boolean;
    /**
     * Returns whether the given `key` is currently held down.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#IsKeyDown)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @param keyCode The `KeyCode` of the key.
     * @returns Whether the specified key is being held down.
     */
    IsKeyDown(this: UserInputService, keyCode: CastsToEnum<Enum.KeyCode>): boolean;
    /**
     * Returns whether the given mouse button is currently held down.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#IsMouseButtonPressed)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @param mouseButton The `UserInputType` of the mouse button.
     * @returns Whether the given mouse button is currently held down.
     */
    IsMouseButtonPressed(this: UserInputService, mouseButton: CastsToEnum<Enum.UserInputType>): boolean;
    /**
     * Returns `true` if the specified gamepad is allowed to control navigation and selection `GuiObjects`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#IsNavigationGamepad)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @param gamepadEnum The `UserInputType` of the specified gamepad.
     * @returns Whether the specified gamepad is a navigation gamepad.
     */
    IsNavigationGamepad(this: UserInputService, gamepadEnum: CastsToEnum<Enum.UserInputType>): boolean;
    /**
     * Recenters the `CFrame` of the VR headset to the current orientation of the headset worn by the user.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#RecenterUserHeadCFrame)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     */
    RecenterUserHeadCFrame(this: UserInputService): void;
    /**
     * Sets whether or not the specified gamepad can move the `GuiObject` navigator.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#SetNavigationGamepad)
     * @param this `UserInputService` is primarily used to detect the input types available on a user's device, as well as detect input events.
     * @param gamepadEnum The `UserInputType` of the specified gamepad.
     * @param enabled Whether the specified gamepad can move the GUI navigator.
     */
    SetNavigationGamepad(this: UserInputService, gamepadEnum: CastsToEnum<Enum.UserInputType>, enabled: boolean): void;
    /**
     * Fires when a user moves a device that has an accelerometer.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#DeviceAccelerationChanged)
     */
    readonly DeviceAccelerationChanged: RBXScriptSignal<(acceleration: InputObject) => void>;
    /**
     * Fires when the force of gravity changes on a device that has an enabled accelerometer.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#DeviceGravityChanged)
     */
    readonly DeviceGravityChanged: RBXScriptSignal<(gravity: InputObject) => void>;
    /**
     * Fires when a user rotates a device that has a gyroscope.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#DeviceRotationChanged)
     */
    readonly DeviceRotationChanged: RBXScriptSignal<(rotation: InputObject, cframe: CFrame) => void>;
    /**
     * Fires when a gamepad is connected to the client.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GamepadConnected)
     */
    readonly GamepadConnected: RBXScriptSignal<(gamepadNum: Enum.UserInputType) => void>;
    /**
     * Fires when a gamepad is disconnected from the client.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#GamepadDisconnected)
     */
    readonly GamepadDisconnected: RBXScriptSignal<(gamepadNum: Enum.UserInputType) => void>;
    /**
     * Fires when a user begins interacting with an input device such as a mouse or gamepad.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#InputBegan)
     */
    readonly InputBegan: RBXScriptSignal<(input: InputObject, gameProcessedEvent: boolean) => void>;
    /**
     * Fires when a user changes how they're interacting with an input device such as a mouse or gamepad.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#InputChanged)
     */
    readonly InputChanged: RBXScriptSignal<(input: InputObject, gameProcessedEvent: boolean) => void>;
    /**
     * Fires when a user stops interacting with an input device such as a mouse or gamepad.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#InputEnded)
     */
    readonly InputEnded: RBXScriptSignal<(input: InputObject, gameProcessedEvent: boolean) => void>;
    /**
     * Fires whenever the client makes a request for their character to jump.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#JumpRequest)
     */
    readonly JumpRequest: RBXScriptSignal<() => void>;
    /**
     * Fires whenever the client's `UserInputType` is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#LastInputTypeChanged)
     */
    readonly LastInputTypeChanged: RBXScriptSignal<(lastInputType: Enum.UserInputType) => void>;
    /**
     * Fires when the user performs a specific pointer action.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#PointerAction)
     */
    readonly PointerAction: RBXScriptSignal<(wheel: number, pan: Vector2, pinch: number, gameProcessedEvent: boolean) => void>;
    /**
     * Fires when the client loses focus on a `TextBox`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#TextBoxFocusReleased)
     */
    readonly TextBoxFocusReleased: RBXScriptSignal<(textboxReleased: TextBox) => void>;
    /**
     * Fires when the client focuses on a `TextBox`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#TextBoxFocused)
     */
    readonly TextBoxFocused: RBXScriptSignal<(textboxFocused: TextBox) => void>;
    /**
     * Fires when the user drags on the screen of a `TouchEnabled` device.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#TouchDrag)
     */
    readonly TouchDrag: RBXScriptSignal<(dragDirection: Enum.SwipeDirection, numberOfTouches: number, gameProcessedEvent: boolean) => void>;
    /**
     * Fires when a user releases their finger from the screen of a `TouchEnabled` device.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#TouchEnded)
     */
    readonly TouchEnded: RBXScriptSignal<(touch: InputObject, gameProcessedEvent: boolean) => void>;
    /**
     * Fires when a user holds at least one finger for a short amount of time on the screen of a `TouchEnabled` device.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#TouchLongPress)
     */
    readonly TouchLongPress: RBXScriptSignal<(touchPositions: Array<Vector2>, state: Enum.UserInputState, gameProcessedEvent: boolean) => void>;
    /**
     * Fires when a user moves their finger on the screen of a `TouchEnabled` device.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#TouchMoved)
     */
    readonly TouchMoved: RBXScriptSignal<(touch: InputObject, gameProcessedEvent: boolean) => void>;
    /**
     * Fires when the user drags at least one finger on the screen of a `TouchEnabled` device.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#TouchPan)
     */
    readonly TouchPan: RBXScriptSignal<(touchPositions: Array<Vector2>, totalTranslation: Vector2, velocity: Vector2, state: Enum.UserInputState, gameProcessedEvent: boolean) => void>;
    /**
     * Fires when a user performs a pinch gesture on the screen of a `TouchEnabled` device.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#TouchPinch)
     */
    readonly TouchPinch: RBXScriptSignal<(touchPositions: Array<Vector2>, scale: number, velocity: number, state: Enum.UserInputState, gameProcessedEvent: boolean) => void>;
    /**
     * Fires when a user rotates two fingers on the screen of a `TouchEnabled` device.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#TouchRotate)
     */
    readonly TouchRotate: RBXScriptSignal<(touchPositions: Array<Vector2>, rotation: number, velocity: number, state: Enum.UserInputState, gameProcessedEvent: boolean) => void>;
    /**
     * Fires when a user places their finger on the screen of a `TouchEnabled` device.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#TouchStarted)
     */
    readonly TouchStarted: RBXScriptSignal<(touch: InputObject, gameProcessedEvent: boolean) => void>;
    /**
     * Fires on a `TouchEnabled` device when a user places their finger(s) down on the screen, pans across the screen, and lifts their finger(s) off with a certain speed of movement.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#TouchSwipe)
     */
    readonly TouchSwipe: RBXScriptSignal<(swipeDirection: Enum.SwipeDirection, numberOfTouches: number, gameProcessedEvent: boolean) => void>;
    /**
     * Fires when a user taps their finger on the screen of a `TouchEnabled` device.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#TouchTap)
     */
    readonly TouchTap: RBXScriptSignal<(touchPositions: Array<Vector2>, gameProcessedEvent: boolean) => void>;
    /**
     * Fires when a user taps their finger on the screen of a `TouchEnabled` device and the tap location is in the 3D world.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#TouchTapInWorld)
     */
    readonly TouchTapInWorld: RBXScriptSignal<(position: Vector2, processedByUI: boolean) => void>;
    /**
     * **Deprecated:**
     *
     * Fires when the `CFrame` of a specified Virtual Reality device changes.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#UserCFrameChanged)
     *
     * @deprecated
     */
    readonly UserCFrameChanged: RBXScriptSignal<(type: Enum.UserCFrame, value: CFrame) => void>;
    /**
     * Fires when the window of the Roblox client loses focus on the user's screen.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#WindowFocusReleased)
     */
    readonly WindowFocusReleased: RBXScriptSignal<() => void>;
    /**
     * Fires when the window of the Roblox client gains focus on the user's screen.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserInputService#WindowFocused)
     */
    readonly WindowFocused: RBXScriptSignal<() => void>;
}
/**
 * A service that handles queries regarding users on the Roblox platform.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserService)
 */
interface UserService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_UserService: unique symbol;
    /**
     * Returns an array of user information including user name and display name.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/UserService#GetUserInfosByUserIdsAsync)
     * @param this A service that handles queries regarding users on the Roblox platform.
     * @param userIds An array of `UserIds` requested.
     * @returns An array of dictionary objects that contain user information.
     */
    GetUserInfosByUserIdsAsync(this: UserService, userIds: Array<number>): Array<UserInfo>;
}
/**
 * Service responsible for handling interactions between Roblox and Virtual Reality (VR).
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService)
 */
interface VRService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VRService: unique symbol;
    /**
     * Automatically adjusts scaling in VR to align the player with their avatar.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#AutomaticScaling)
     */
    AutomaticScaling: Enum.VRScaling;
    /**
     * When true, a VR player will be able to animate their hands and head using their controllers and headset.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#AvatarGestures)
     */
    AvatarGestures: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#ControllerModels)
     */
    ControllerModels: Enum.VRControllerModelMode;
    /**
     * When true, a VR player's view will fade to black when their head collides with an object.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#FadeOutViewOnCollision)
     */
    FadeOutViewOnCollision: boolean;
    /**
     * Describes what `UserCFrame` is responsible for input in VR.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#GuiInputUserCFrame)
     */
    GuiInputUserCFrame: Enum.UserCFrame;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#LaserPointer)
     */
    LaserPointer: Enum.VRLaserPointerMode;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#ThirdPersonFollowCamEnabled)
     */
    readonly ThirdPersonFollowCamEnabled: boolean;
    /**
     * Describes whether the user is using a virtual reality device.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#VREnabled)
     */
    readonly VREnabled: boolean;
    /**
     * Returns the VRTouchpadMode indicating the mode of a specified VRTouchpad.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#GetTouchpadMode)
     * @param this Service responsible for handling interactions between Roblox and Virtual Reality (VR).
     * @param pad The specified `VRTouchpad`.
     * @returns The mode of the specified `VRTouchpad`.
     */
    GetTouchpadMode(this: VRService, pad: CastsToEnum<Enum.VRTouchpad>): Enum.VRTouchpadMode;
    /**
     * Returns a CFrame describing the position & orientation of a specified virtual reality device as an offset from a point in real world space.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#GetUserCFrame)
     * @param this Service responsible for handling interactions between Roblox and Virtual Reality (VR).
     * @param type The specified `UserCFrame`.
     */
    GetUserCFrame(this: VRService, type: CastsToEnum<Enum.UserCFrame>): CFrame;
    /**
     * Returns true if the specified `UserCFrame` is available to be listened to.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#GetUserCFrameEnabled)
     * @param this Service responsible for handling interactions between Roblox and Virtual Reality (VR).
     * @param type The specified type of VR device.
     * @returns A boolean indicating whether the specified VR device is enabled (`true`) or disabled (`false`).
     */
    GetUserCFrameEnabled(this: VRService, type: CastsToEnum<Enum.UserCFrame>): boolean;
    /**
     * Re-centers the `CFrame` to the current location of the VR headset being worn by the user.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#RecenterUserHeadCFrame)
     * @param this Service responsible for handling interactions between Roblox and Virtual Reality (VR).
     */
    RecenterUserHeadCFrame(this: VRService): void;
    /**
     * Requests navigation to the specified `CFrame` using the specified `UserCFrame` as the origin for the visualizer parabola.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#RequestNavigation)
     * @param this Service responsible for handling interactions between Roblox and Virtual Reality (VR).
     * @param cframe The specified `CFrame` coordinates.
     * @param inputUserCFrame The VR device for which the navigation is requested.
     */
    RequestNavigation(this: VRService, cframe: CFrame, inputUserCFrame: CastsToEnum<Enum.UserCFrame>): void;
    /**
     * Sets the mode of the specified `VRTouchpad` to the specified `VRTouchpadMode`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#SetTouchpadMode)
     * @param this Service responsible for handling interactions between Roblox and Virtual Reality (VR).
     * @param pad The specified `VRTouchpad` you want to set the mode of.
     * @param mode The mode you want to set the specified `VRTouchpad` to.
     */
    SetTouchpadMode(this: VRService, pad: CastsToEnum<Enum.VRTouchpad>, mode: CastsToEnum<Enum.VRTouchpadMode>): void;
    /**
     * Fired when navigation is requested from `VRService`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#NavigationRequested)
     */
    readonly NavigationRequested: RBXScriptSignal<(cframe: CFrame, inputUserCFrame: Enum.UserCFrame) => void>;
    /**
     * Fires if the `VRTouchpadMode` of a `VRTouchpad` is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#TouchpadModeChanged)
     */
    readonly TouchpadModeChanged: RBXScriptSignal<(pad: Enum.VRTouchpad, mode: Enum.VRTouchpadMode) => void>;
    /**
     * Fires when a `UserCFrame` is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#UserCFrameChanged)
     */
    readonly UserCFrameChanged: RBXScriptSignal<(type: Enum.UserCFrame, value: CFrame) => void>;
    /**
     * Fires when a `UserCFrame` is enabled or disabled.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRService#UserCFrameEnabled)
     */
    readonly UserCFrameEnabled: RBXScriptSignal<(type: Enum.UserCFrame, enabled: boolean) => void>;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VRStatusService)
 */
interface VRStatusService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VRStatusService: unique symbol;
}
/**
 * Base class of all "value instance" objects.
 *
 * - **Tags**: NotCreatable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ValueBase)
 */
interface ValueBase extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ValueBase: unique symbol;
    Value: unknown;
    readonly Changed: RBXScriptSignal<(value?: unknown) => void>;
}
/**
 * A container object for a single boolean value.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BoolValue)
 */
interface BoolValue extends ValueBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BoolValue: unique symbol;
    /**
     * Used to hold a boolean value.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BoolValue#Value)
     */
    Value: boolean;
    /**
     * Fires whenever the `BoolValue.Value` is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BoolValue#Changed)
     */
    readonly Changed: RBXScriptSignal<(value: boolean) => void>;
}
/**
 * A container object for a single BrickColor value.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BrickColorValue)
 */
interface BrickColorValue extends ValueBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_BrickColorValue: unique symbol;
    /**
     * Used to hold a `BrickColor` value.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BrickColorValue#Value)
     */
    Value: BrickColor;
    /**
     * Fired whenever the `BrickColorValue.Value` of the BrickColorValue is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/BrickColorValue#Changed)
     */
    readonly Changed: RBXScriptSignal<(value: BrickColor) => void>;
}
/**
 * A container object for a single CFrame value.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CFrameValue)
 */
interface CFrameValue extends ValueBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_CFrameValue: unique symbol;
    /**
     * Used to hold a `CFrame` value.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CFrameValue#Value)
     */
    Value: CFrame;
    /**
     * Fired whenever the `CFrameValue.Value` of the CFrameValue is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/CFrameValue#Changed)
     */
    readonly Changed: RBXScriptSignal<(value: CFrame) => void>;
}
/**
 * A container object for a single Color3 value.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Color3Value)
 */
interface Color3Value extends ValueBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Color3Value: unique symbol;
    /**
     * The stored `Color3`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Color3Value#Value)
     */
    Value: Color3;
    /**
     * Fired whenever the `Color3Value.Value` is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Color3Value#Changed)
     */
    readonly Changed: RBXScriptSignal<(value: Color3) => void>;
}
/**
 * **Deprecated:** The DoubleConstrainedValue object has been deprecated as developers can now use the `math.clamp()` function to constrain values.
 *
 * An instance which is used to create a number value which can never be less than the MinValue or more than the MaxValue.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DoubleConstrainedValue)
 *
 * @deprecated
 */
interface DoubleConstrainedValue extends ValueBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_DoubleConstrainedValue: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DoubleConstrainedValue#ConstrainedValue)
     */
    ConstrainedValue: number;
    /**
     * The highest number that the `DoubleConstrainedValue.Value` property can be.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DoubleConstrainedValue#MaxValue)
     */
    MaxValue: number;
    /**
     * The lowest number that the `DoubleConstrainedValue.Value` property can be.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DoubleConstrainedValue#MinValue)
     */
    MinValue: number;
    /**
     * Used to hold a number value between `DoubleConstrainedValue.MinValue` and `DoubleConstrainedValue.MaxValue`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DoubleConstrainedValue#Value)
     */
    Value: number;
    /**
     * Fired whenever the `DoubleConstrainedValue.Value` of the `DoubleConstrainedValue` is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/DoubleConstrainedValue#Changed)
     */
    readonly Changed: RBXScriptSignal<(value: number) => void>;
}
/**
 * **Deprecated:** The IntConstrainedValue object has been deprecated as developers can now use the `math.clamp()` function to constrain values.
 *
 * An IntConstrainedValue is used to store a value which can never be less than MinValue and can never be more than MaxValue.
 *
 * - **Tags**:
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IntConstrainedValue)
 *
 * @deprecated
 */
interface IntConstrainedValue extends ValueBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_IntConstrainedValue: unique symbol;
    /**
     * Hold an `Integer` value between `IntConstrainedValue.MinValue` and `IntConstrainedValue.MaxValue`. Replaced by `IntConstrainedValue.Value`, but still functional.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IntConstrainedValue#ConstrainedValue)
     */
    ConstrainedValue: number;
    /**
     * The highest number that the `IntConstrainedValue.Value` property can be.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IntConstrainedValue#MaxValue)
     */
    MaxValue: number;
    /**
     * The lowest number that the `IntConstrainedValue.Value` property can be.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IntConstrainedValue#MinValue)
     */
    MinValue: number;
    /**
     * Used to hold an integer value between `IntConstrainedValue.MinValue` and `IntConstrainedValue.MaxValue`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IntConstrainedValue#Value)
     */
    Value: number;
    /**
     * Fired whenever the Value of the IntConstrainedValue is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IntConstrainedValue#Changed)
     */
    readonly Changed: RBXScriptSignal<(value: number) => void>;
}
/**
 * A container object for a single integer.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IntValue)
 */
interface IntValue extends ValueBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_IntValue: unique symbol;
    /**
     * Used to hold an integer.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IntValue#Value)
     */
    Value: number;
    /**
     * Fires whenever the `IntValue.Value` is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/IntValue#Changed)
     */
    readonly Changed: RBXScriptSignal<(value: number) => void>;
}
/**
 * A container object for a single double-precision floating point number.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/NumberValue)
 */
interface NumberValue extends ValueBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_NumberValue: unique symbol;
    /**
     * Used to hold a double value.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/NumberValue#Value)
     */
    Value: number;
    /**
     * Fires whenever the `NumberValue.Value` is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/NumberValue#Changed)
     */
    readonly Changed: RBXScriptSignal<(value: number) => void>;
}
/**
 * A container object for a reference to another instance.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ObjectValue)
 */
interface ObjectValue extends ValueBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ObjectValue: unique symbol;
    /**
     * Holds a reference to an instance.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ObjectValue#Value)
     */
    Value: Instance | undefined;
    /**
     * Fires whenever the `ObjectValue.Value` is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ObjectValue#Changed)
     */
    readonly Changed: RBXScriptSignal<(value?: Instance) => void>;
}
/**
 * A container object for a single Ray.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RayValue)
 */
interface RayValue extends ValueBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_RayValue: unique symbol;
    /**
     * The stored Ray.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RayValue#Value)
     */
    Value: Ray;
    /**
     * Fired when `RayValue.Value` is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/RayValue#Changed)
     */
    readonly Changed: RBXScriptSignal<(value: Ray) => void>;
}
/**
 * A container object for a single string.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StringValue)
 */
interface StringValue extends ValueBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_StringValue: unique symbol;
    /**
     * The stored string.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StringValue#Value)
     */
    Value: string;
    /**
     * Fires whenever `StringValue.Value` is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/StringValue#Changed)
     */
    readonly Changed: RBXScriptSignal<(value: string) => void>;
}
/**
 * A container object for a single Vector3 value.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Vector3Value)
 */
interface Vector3Value extends ValueBase {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Vector3Value: unique symbol;
    /**
     * The stored `Vector3`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Vector3Value#Value)
     */
    Value: Vector3;
    /**
     * Fired whenever `Vector3Value.Value` is changed.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Vector3Value#Changed)
     */
    readonly Changed: RBXScriptSignal<(value: Vector3) => void>;
}
/**
 * A sorted list of time-value pairs that define a curve. Used to animate a any type of value.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ValueCurve)
 */
interface ValueCurve extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_ValueCurve: unique symbol;
    /**
     * Number of keys in the value curve.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ValueCurve#Length)
     */
    readonly Length: number;
    /**
     * Read-only value indicating the type held in this curve.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ValueCurve#ValueType)
     */
    readonly ValueType: string;
    /**
     * Returns a copy of a key at a given index.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ValueCurve#GetKeyAtIndex)
     * @param this A sorted list of time-value pairs that define a curve. Used to animate a any type of value.
     * @param index The index in the existing set of keys held by this `ValueCurve`.
     */
    GetKeyAtIndex(this: ValueCurve, index: number): ValueCurveKey;
    /**
     * Returns the index of the last and first key of a period of time.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ValueCurve#GetKeyIndicesAtTime)
     * @param this A sorted list of time-value pairs that define a curve. Used to animate a any type of value.
     * @param time A time during the animation. Inputs will be clamped between `0` and the time of the last key held by this `ValueCurve`.
     */
    GetKeyIndicesAtTime(this: ValueCurve, time: number): Array<unknown>;
    /**
     * Returns a copy of all the keys in the ValueCurve as a Luau array of `ValueCurveKeys`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ValueCurve#GetKeys)
     * @param this A sorted list of time-value pairs that define a curve. Used to animate a any type of value.
     * @returns Array of `ValueCurveKeys`.
     */
    GetKeys(this: ValueCurve): Array<unknown>;
    /**
     * Samples the value curve at a given time passed as argument.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ValueCurve#GetValueAtTime)
     * @param this A sorted list of time-value pairs that define a curve. Used to animate a any type of value.
     * @param time Time at which to sample the curve.
     * @returns Value of the curve at the requested `time`.
     */
    GetValueAtTime(this: ValueCurve, time: number): unknown | undefined;
    /**
     * Adds the key passed as an argument to this curve. If a key at the same time is found, it will be replaced.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ValueCurve#InsertKey)
     * @param this A sorted list of time-value pairs that define a curve. Used to animate a any type of value.
     * @param key `ValueCurveKey` to insert.
     * @returns (see description)
     */
    InsertKey(this: ValueCurve, key: ValueCurveKey): Array<unknown>;
    /**
     * Creates a key for the given value and inserts it at the given time. If a key at the same time is found, it will be replaced.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ValueCurve#InsertKeyValue)
     * @param this A sorted list of time-value pairs that define a curve. Used to animate a any type of value.
     * @param time Time at which to insert the new `ValueCurveKey`. - type: number
     * @param value Value of the inserted `ValueCurveKey`. - type: any
     * @param Interpolation Interpolation mode of the inserted `ValueCurveKey`. - type: KeyInterpolationMode
     * @returns (see description)
     */
    InsertKeyValue(this: ValueCurve, time: number, value: unknown, keyInterpolationMode?: CastsToEnum<Enum.KeyInterpolationMode>): Array<unknown>;
    /**
     * Removes a given number of keys starting from a given index.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ValueCurve#RemoveKeyAtIndex)
     * @param this A sorted list of time-value pairs that define a curve. Used to animate a any type of value.
     * @param startingIndex Starting index from which to remove keys.
     * @param count Number of keys to remove.
     * @returns Number of keys removed.
     */
    RemoveKeyAtIndex(this: ValueCurve, startingIndex: number, count?: number): number;
    /**
     * Resets this curve's keys using the `ValueCurveKey` array passed as an argument.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/ValueCurve#SetKeys)
     * @param this A sorted list of time-value pairs that define a curve. Used to animate a any type of value.
     * @param keys Array of `ValueCurveKeys`.
     * @returns Number of keys inserted.
     */
    SetKeys(this: ValueCurve, keys: Array<unknown>): number;
}
/**
 * Represents a 3D vector curve, grouping three `FloatCurve` instances.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Vector3Curve)
 */
interface Vector3Curve extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Vector3Curve: unique symbol;
    /**
     * Returns the three `FloatCurves` (X, Y, Z) at the passed time argument.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Vector3Curve#GetValueAtTime)
     * @param this Represents a 3D vector curve, grouping three `FloatCurve` instances.
     * @param time Time at which to get the value.
     * @returns The three `FloatCurves` (X, Y, Z) at the passed time argument.
     */
    GetValueAtTime(this: Vector3Curve, time: number): LuaTuple<[
        number | undefined,
        number | undefined,
        number | undefined
    ]>;
    /**
     * Returns the `FloatCurve` controlling the X channel (the first child instance of type `FloatCurve` named `X`).
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Vector3Curve#X)
     * @param this Represents a 3D vector curve, grouping three `FloatCurve` instances.
     */
    X(this: Vector3Curve): FloatCurve;
    /**
     * Returns the `FloatCurve` controlling the Y channel (the first child instance of type `FloatCurve` named `Y`).
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Vector3Curve#Y)
     * @param this Represents a 3D vector curve, grouping three `FloatCurve` instances.
     */
    Y(this: Vector3Curve): FloatCurve;
    /**
     * Returns the `FloatCurve` controlling the Z channel (the first child instance of type `FloatCurve` named `Z`).
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Vector3Curve#Z)
     * @param this Represents a 3D vector curve, grouping three `FloatCurve` instances.
     */
    Z(this: Vector3Curve): FloatCurve;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoCaptureService)
 */
interface VideoCaptureService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VideoCaptureService: unique symbol;
}
/**
 * - **Tags**: NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDeviceInput)
 */
interface VideoDeviceInput extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VideoDeviceInput: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDeviceInput#Active)
     */
    Active: boolean;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDeviceInput#CameraId)
     */
    CameraId: string;
    /**
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDeviceInput#CaptureQuality)
     */
    CaptureQuality: Enum.VideoDeviceCaptureQuality;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoDeviceInput#IsReady)
     */
    readonly IsReady: boolean;
}
/**
 * Used to play video assets.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer)
 */
interface VideoPlayer extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VideoPlayer: unique symbol;
    /**
     * Indicates when the `VideoContent` has loaded and is ready to play.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#IsLoaded)
     */
    readonly IsLoaded: boolean;
    /**
     * Denotes whether this `VideoPlayer` is currently playing.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#IsPlaying)
     */
    readonly IsPlaying: boolean;
    /**
     * Controls whether this `VideoPlayer` loops.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#Looping)
     */
    Looping: boolean;
    /**
     * Controls the speed at which the video is played.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#PlaybackSpeed)
     */
    PlaybackSpeed: number;
    /**
     * Gets the original source resolution of the `VideoContent` file.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#Resolution)
     */
    readonly Resolution: Vector2;
    /**
     * Indicates the length of the `VideoContent` in seconds.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#TimeLength)
     */
    readonly TimeLength: number;
    /**
     * Indicates the progress in seconds of the `VideoContent`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#TimePosition)
     */
    TimePosition: number;
    /**
     * The asset to be loaded into the `VideoPlayer`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#VideoContent)
     */
    VideoContent: Content;
    /**
     * Controls how loudly the audio track will be played.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#Volume)
     */
    Volume: number;
    /**
     * Returns an array of `Wires` that are connected to the specified pin.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#GetConnectedWires)
     * @param this Used to play video assets.
     * @param pin An input or output pin on this instance
     * @returns An array of `Wires`
     */
    GetConnectedWires(this: VideoPlayer, pin: string): Array<Instance>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.TargetName` to connect to this instance via its `Wire.TargetInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#GetInputPins)
     * @param this Used to play video assets.
     * @returns An array of strings representing valid pin names.
     */
    GetInputPins(this: VideoPlayer): Array<unknown>;
    /**
     * Gets the list of pins that `Wire` can use in `Wire.SourceName` to connect to this instance via its `Wire.SourceInstance` property.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#GetOutputPins)
     * @param this Used to play video assets.
     * @returns An array of strings representing valid pin names.
     */
    GetOutputPins(this: VideoPlayer): Array<unknown>;
    /**
     * Pauses the `VideoPlayer` wherever its `TimePosition` is.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#Pause)
     * @param this Used to play video assets.
     */
    Pause(this: VideoPlayer): void;
    /**
     * Plays the `VideoPlayer` from wherever its `TimePosition` is.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#Play)
     * @param this Used to play video assets.
     */
    Play(this: VideoPlayer): void;
    /**
     * Unloads the `VideoPlayer.VideoContent` to save resources.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#Unload)
     * @param this Used to play video assets.
     */
    Unload(this: VideoPlayer): void;
    /**
     * Loads the `VideoContent` before it is played.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#LoadAsync)
     * @param this Used to play video assets.
     */
    LoadAsync(this: VideoPlayer): Enum.AssetFetchStatus;
    /**
     * Fires when the `VideoContent` has completed playback and stopped.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#DidEnd)
     */
    readonly DidEnd: RBXScriptSignal<() => void>;
    /**
     * Fires when the `VideoContent` loops.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#DidLoop)
     */
    readonly DidLoop: RBXScriptSignal<() => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#PlayFailed)
     */
    readonly PlayFailed: RBXScriptSignal<(error: Enum.AssetFetchStatus) => void>;
    /**
     * Fires when another instance is connected to or disconnected from the `VideoPlayer` via a `Wire`.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoPlayer#WiringChanged)
     */
    readonly WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance) => void>;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoScreenCaptureService)
 */
interface VideoScreenCaptureService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VideoScreenCaptureService: unique symbol;
}
/**
 * An internal service that offers no functionality to developers.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoService)
 */
interface VideoService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VideoService: unique symbol;
    /**
     * Creates a `VideoSampler` that samples frames from the provided video content.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoService#CreateVideoSamplerAsync)
     * @param this An internal service that offers no functionality to developers.
     * @param content The video content to sample from.
     * @param options Options table for creating the `VideoSampler`: - `Size` – A `VideoSampleSize` value that determines the   resolution of textures produced by the `VideoSampler`.   Defaults to `VideoSampleSize.Small`. Use the smallest   resolution that meets your needs to minimize memory usage and   improve sampling performance.
     *
     *
     * @returns The created `VideoSampler`.
     */
    CreateVideoSamplerAsync(this: VideoService, content: Content, options?: object): VideoSampler;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VisibilityCheckDispatcher)
 */
interface VisibilityCheckDispatcher extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VisibilityCheckDispatcher: unique symbol;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VisualizationMode)
 */
interface VisualizationMode extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VisualizationMode: unique symbol;
}
/**
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VisualizationModeCategory)
 */
interface VisualizationModeCategory extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VisualizationModeCategory: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VisualizationModeService)
 */
interface VisualizationModeService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VisualizationModeService: unique symbol;
}
/**
 * - **Tags**: NotCreatable, Service, NotBrowsable
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal)
 */
interface VoiceChatInternal extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VoiceChatInternal: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: Hidden, NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#VoiceChatState)
     *
     * @deprecated
     */
    readonly VoiceChatState: Enum.VoiceChatState;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#GetAudioProcessingSettings)
     *
     * @deprecated
     */
    GetAudioProcessingSettings(this: VoiceChatInternal): unknown;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#GetMicDevices)
     *
     * @deprecated
     */
    GetMicDevices(this: VoiceChatInternal): unknown;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#GetParticipants)
     *
     * @deprecated
     */
    GetParticipants(this: VoiceChatInternal): Array<unknown>;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#GetSpeakerDevices)
     *
     * @deprecated
     */
    GetSpeakerDevices(this: VoiceChatInternal): unknown;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#GetVoiceChatApiVersion)
     *
     * @deprecated
     */
    GetVoiceChatApiVersion(this: VoiceChatInternal): number;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#GetVoiceChatAvailable)
     *
     * @deprecated
     */
    GetVoiceChatAvailable(this: VoiceChatInternal): number;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#IsPublishPaused)
     *
     * @deprecated
     */
    IsPublishPaused(this: VoiceChatInternal): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#IsSubscribePaused)
     *
     * @deprecated
     */
    IsSubscribePaused(this: VoiceChatInternal, userId: number): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#JoinByGroupId)
     *
     * @deprecated
     */
    JoinByGroupId(this: VoiceChatInternal, groupId: string, isMicMuted?: boolean): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#JoinByGroupIdToken)
     *
     * @deprecated
     */
    JoinByGroupIdToken(this: VoiceChatInternal, groupId: string, isMicMuted: boolean, isRetry?: boolean): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#Leave)
     *
     * @deprecated
     */
    Leave(this: VoiceChatInternal): void;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#PublishPause)
     *
     * @deprecated
     */
    PublishPause(this: VoiceChatInternal, paused: boolean): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#SetMicDevice)
     *
     * @deprecated
     */
    SetMicDevice(this: VoiceChatInternal, micDeviceName: string, micDeviceGuid: string): void;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#SetSpeakerDevice)
     *
     * @deprecated
     */
    SetSpeakerDevice(this: VoiceChatInternal, speakerDeviceName: string, speakerDeviceGuid: string): void;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#SubscribePause)
     *
     * @deprecated
     */
    SubscribePause(this: VoiceChatInternal, userId: number, paused: boolean): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#SubscribePauseAll)
     *
     * @deprecated
     */
    SubscribePauseAll(this: VoiceChatInternal, paused: boolean): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#IsVoiceEnabledForUserIdAsync)
     */
    IsVoiceEnabledForUserIdAsync(this: VoiceChatInternal, userId: number): boolean;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**:
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatInternal#StateChanged)
     *
     * @deprecated
     */
    readonly StateChanged: RBXScriptSignal<(oldValue: Enum.VoiceChatState, newValue: Enum.VoiceChatState) => void>;
}
/**
 * **VoiceChatService** is responsible for voice chat's high-level functionality.
 *
 * - **Tags**: NotCreatable, Service
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatService)
 */
interface VoiceChatService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VoiceChatService: unique symbol;
    /**
     * Returns chat group IDs that indicate which players can voice chat together.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatService#GetChatGroupsAsync)
     * @param this **VoiceChatService** is responsible for voice chat's high-level functionality.
     * @param players A list of `Players` currently in the experience to evaluate for voice chat compatibility.
     * @returns A sorted array of arrays of chat group ID strings. Players who share a matching chat group ID are eligible to voice chat with each other.
     */
    GetChatGroupsAsync(this: VoiceChatService, players: Array<Instance>): Array<unknown>;
    /**
     * Returns whether or not the given user has voice enabled.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoiceChatService#IsVoiceEnabledForUserIdAsync)
     * @param this **VoiceChatService** is responsible for voice chat's high-level functionality.
     * @param userId The `Player.UserId` to check.
     * @returns If that user has voice enabled.
     */
    IsVoiceEnabledForUserIdAsync(this: VoiceChatService, userId: number): boolean;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebSocketClient)
 */
interface WebSocketClient extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_WebSocketClient: unique symbol;
    /**
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebSocketClient#ConnectionState)
     */
    readonly ConnectionState: Enum.WebSocketState;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebSocketClient#Close)
     */
    Close(this: WebSocketClient): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebSocketClient#Send)
     */
    Send(this: WebSocketClient, data: string): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebSocketClient#Closed)
     */
    readonly Closed: RBXScriptSignal<() => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebSocketClient#MessageReceived)
     */
    readonly MessageReceived: RBXScriptSignal<(data: string) => void>;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebSocketClient#Opened)
     */
    readonly Opened: RBXScriptSignal<() => void>;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebSocketService)
 */
interface WebSocketService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_WebSocketService: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebSocketService#CreateClient)
     */
    CreateClient(this: WebSocketService, uri: string): WebSocketClient;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebViewService)
 */
interface WebViewService extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_WebViewService: unique symbol;
}
/**
 * Connects two `BaseParts` together such that their relative position and orientation remain the same.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WeldConstraint)
 */
interface WeldConstraint extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_WeldConstraint: unique symbol;
    /**
     * Indicates if the WeldConstraint is currently active in the world.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WeldConstraint#Active)
     */
    readonly Active: boolean;
    /**
     * Toggles the constraint on and off.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WeldConstraint#Enabled)
     */
    Enabled: boolean;
    /**
     * The first part connected by the constraint.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WeldConstraint#Part0)
     */
    Part0: BasePart | undefined;
    /**
     * The second part connected by the constraint.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WeldConstraint#Part1)
     */
    Part1: BasePart | undefined;
}
/**
 * Connects one or more `Instances` to form a processing graph of their streams. At the moment, only audio streams are supported, but this may expand in the future.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Wire)
 */
interface Wire extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_Wire: unique symbol;
    /**
     * Denotes whether the `Wire` is carrying a stream of data.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Wire#Connected)
     */
    readonly Connected: boolean;
    /**
     * The `Instance` producing a stream to be carried over the wire.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Wire#SourceInstance)
     */
    SourceInstance: Instance | undefined;
    /**
     * The name of the pin on `SourceInstance` that is producing a stream.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Wire#SourceName)
     */
    SourceName: string;
    /**
     * The `Instance` to receive a stream from `SourceInstance`.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Wire#TargetInstance)
     */
    TargetInstance: Instance | undefined;
    /**
     * The name of the pin on `TargetInstance` that is receiving a stream.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/Wire#TargetName)
     */
    TargetName: string;
}
/**
 * - **Tags**: NotCreatable, Service, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapDeformMeshProvider)
 */
interface WrapDeformMeshProvider extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_WrapDeformMeshProvider: unique symbol;
}
/**
 * `WrapTextureTransfer` allows a parent `Decal` to be wrapped around its parent `MeshPart` based on the cage of its `WrapTarget`.
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapTextureTransfer)
 */
interface WrapTextureTransfer extends Instance {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_WrapTextureTransfer: unique symbol;
    /**
     * An optional reference mesh used for pruning and validating the target cage.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapTextureTransfer#ReferenceCageMeshContent)
     */
    ReferenceCageMeshContent: Content;
    /**
     * Determines the maximum bound of the UV space to include in the transfer.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapTextureTransfer#UVMaxBound)
     */
    UVMaxBound: Vector2;
    /**
     * Determines the minimum bound of the UV space to include in the transfer.
     *
     * - **ThreadSafety**: ReadSafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WrapTextureTransfer#UVMinBound)
     */
    UVMinBound: Vector2;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MLSession)
 */
interface MLSession extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_MLSession: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/MLSession#ForwardAsync)
     * @param this
     * @param data
     */
    ForwardAsync(this: MLSession, data: object): object;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/OutputLink)
 */
interface OutputLink extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_OutputLink: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/PluginConnection)
 */
interface PluginConnection extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_PluginConnection: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainIterateOperation)
 */
interface TerrainIterateOperation extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TerrainIterateOperation: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainIterateOperation#CommitBlock)
     * @param this
     * @param block
     */
    CommitBlock(this: TerrainIterateOperation, block: object): RBXScriptSignal;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainIterateOperation#Ready)
     */
    readonly Ready: RBXScriptSignal<(block: object) => void>;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainModifyOperation)
 */
interface TerrainModifyOperation extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TerrainModifyOperation: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainModifyOperation#CommitBlock)
     * @param this
     * @param block
     */
    CommitBlock(this: TerrainModifyOperation, block: object): RBXScriptSignal;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainModifyOperation#Ready)
     */
    readonly Ready: RBXScriptSignal<(block: object) => void>;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainReadOperation)
 */
interface TerrainReadOperation extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TerrainReadOperation: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainReadOperation#Ready)
     */
    readonly Ready: RBXScriptSignal<(block: object) => void>;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainWriteOperation)
 */
interface TerrainWriteOperation extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_TerrainWriteOperation: unique symbol;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainWriteOperation#CommitBlock)
     * @param this
     * @param block
     */
    CommitBlock(this: TerrainWriteOperation, block: object): RBXScriptSignal;
    /**
     * - **ThreadSafety**: Unsafe
     * - **Tags**: CustomLuaState
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/TerrainWriteOperation#GetBlock)
     * @param this
     */
    GetBlock(this: TerrainWriteOperation): object;
}
/**
 * An object for sampling frames from video content.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoSampler)
 */
interface VideoSampler extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VideoSampler: unique symbol;
    /**
     * The length of the `VideoContent` in seconds.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoSampler#TimeLength)
     */
    readonly TimeLength: number;
    /**
     * The asset loaded into the `VideoSampler`.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoSampler#VideoContent)
     */
    readonly VideoContent: Content;
    /**
     * Gets image frames at the specified timestamps.
     *
     * - **ThreadSafety**: Unsafe
     * - **Tags**: Yields
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VideoSampler#GetSamplesAtTimesAsync)
     * @param this An object for sampling frames from video content.
     * @param times An array of requested timestamps in seconds for which to retrieve image frames. Each timestamp should be a number between `0` and `TimeLength`.
     * @returns An array of dictionary or nil values for each requested timestamp. If a requested timestamp is out of range or the `VideoSampler` was unable to produce a sample, the corresponding entry in the returned array will be nil. Each dictionary contains the following keys: - `Time` (number): The timestamp of the returned image frame in   seconds. This value may differ slightly from the requested   timestamp.
     * - `Image` (`Content`): A `Content` with a   `SourceType` of   `ContentSourceType.Opaque` containing the image frame at the   corresponding timestamp.
     */
    GetSamplesAtTimesAsync(this: VideoSampler, times: Array<unknown>): Array<unknown>;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VirtualInput)
 */
interface VirtualInput extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VirtualInput: unique symbol;
}
/**
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/VoxelBuffer)
 */
interface VoxelBuffer extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_VoxelBuffer: unique symbol;
}
/**
 * Maintains a streaming connection.
 *
 * - **Tags**: NotCreatable, NotReplicated
 *
 * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebStreamClient)
 */
interface WebStreamClient extends RBXObject {
    /**
     * **DO NOT USE!**
     *
     * This field exists to force TypeScript to recognize this as a nominal type
     * @hidden
     * @deprecated
     */
    readonly _nominal_WebStreamClient: unique symbol;
    /**
     * The current `WebStreamClientState` of the client.
     *
     * - **ThreadSafety**: ReadSafe
     * - **Tags**: NotReplicated
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebStreamClient#ConnectionState)
     */
    readonly ConnectionState: Enum.WebStreamClientState;
    /**
     * Closes the client, aborting the ongoing request.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebStreamClient#Close)
     * @param this Maintains a streaming connection.
     */
    Close(this: WebStreamClient): void;
    /**
     * Enqueues data to be transmitted to the server over the streaming connection.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebStreamClient#Send)
     * @param this Maintains a streaming connection.
     * @param data Text string to send to the server.
     */
    Send(this: WebStreamClient, data: string): void;
    /**
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebStreamClient#Closed)
     */
    readonly Closed: RBXScriptSignal<() => void>;
    /**
     * Fires if an error is received while establishing the connection or during the connection lifetime.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebStreamClient#Error)
     */
    readonly Error: RBXScriptSignal<(responseStatusCode: number, errorMessage: string) => void>;
    /**
     * Fires each time a message is received from the server.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebStreamClient#MessageReceived)
     */
    readonly MessageReceived: RBXScriptSignal<(message: string) => void>;
    /**
     * Fires when the a connection is successfully established between the client and server, allowing for events to begin streaming.
     *
     * - **ThreadSafety**: Unsafe
     *
     * [Creator Hub](https://create.roblox.com/docs/reference/engine/classes/WebStreamClient#Opened)
     */
    readonly Opened: RBXScriptSignal<(responseStatusCode: number, headers: string) => void>;
}
