import type { Identifier, ObjectEither, ObjectPrettify, ObjectKeysToCamelCase } from "typeforge"; import type { LongRunningOperation } from "../../../apis/apis.types"; type InstanceDetails = ObjectEither<{ Folder: {}; }, ObjectEither<{ LocalScript: { Enabled: boolean; RunContext: "Legacy" | "Server" | "Client" | "Plugin"; Source: string; }; }, ObjectEither<{ ModuleScript: { Source: string; }; }, ObjectEither<{ Script: { Enabled: boolean; RunContext: "Legacy" | "Server" | "Client" | "Plugin"; Source: string; }; }, {}>>>>; type RawInstance = ObjectPrettify<{ path: `universes/${UniverseId}/places/${PlaceId}/instances/${"root" extends InstanceId ? string : InstanceId}`; hasChildren: boolean; engineInstance: { Id: "root" extends InstanceId ? string : InstanceId; Parent: string; Name: string; Details: InstanceDetails; }; }>; type PrettifiedInstance = ObjectPrettify<{ path: `universes/${UniverseId}/places/${PlaceId}/instances/${"root" extends InstanceId ? string : InstanceId}`; hasChildren: boolean; engineInstance: { id: "root" extends InstanceId ? string : InstanceId; parent: string; name: string; details: ObjectKeysToCamelCase; }; }>; export type RawInstanceData = LongRunningOperation<`universes/${UniverseId}/places/${PlaceId}/instances/${InstanceId}/operations/${string}`, { "@type": "type.googleapis.com/roblox.open_cloud.cloud.v2.Instance"; } & RawInstance>; export type PrettifiedInstanceData = LongRunningOperation<`universes/${UniverseId}/places/${PlaceId}/instances/${InstanceId}/operations/${string}`, { "@type": "type.googleapis.com/roblox.open_cloud.cloud.v2.Instance"; } & PrettifiedInstance>; type InstanceChildrenData = LongRunningOperation<`universes/${UniverseId}/places/${PlaceId}/instances/${InstanceId}/operations/${string}`, { "@type": "type.googleapis.com/roblox.open_cloud.cloud.v2.ListInstanceChildrenResponsee"; instances: Instances[]; nextPageToken: string; }>; export type RawInstanceChildrenData = (InstanceChildrenData>); export type PrettifiedInstanceChildrenData = (InstanceChildrenData>); export type UpdateInstance_NewData = { name?: string; parent?: string; } & ObjectEither<{ folder: {}; }, ObjectEither<{ localScript: { enabled?: boolean; runContext?: "Legacy" | "Server" | "Client" | "Plugin"; source?: string; }; }, ObjectEither<{ moduleScript: { source?: string; }; }, { script: { enabled?: boolean; runContext?: "Legacy" | "Server" | "Client" | "Plugin"; source?: string; }; }>>>; export {};