/** * Shared type definitions for solution packaging and Studio Web upload. */ /** Minimal config needed for Studio Web API calls. */ export interface StudioWebConfig { baseUrl: string; authToken: string; tenantId?: string; } /** Response from Studio Web Import/Overwrite API. */ export interface SolutionImportResponse { id: string; solutionId?: string; projects: Array<{ id: string; name: string; }>; } /** A project of a Studio Web solution, as returned by Solution_GetSolution. */ export interface StudioWebSolutionProject { /** Cloud (Studio Web) project ID. */ id: string; /** Design-time ID — matches `Projects[].Id` in the local .uipx manifest. */ designId?: string; name?: string; projectType?: string; } /** A project entry inside a .uipx file. */ export interface UipxProject { Type: string; ProjectRelativePath: string; Id: string; } /** Parsed contents of a .uipx file. */ export interface UipxFile { DocVersion?: string; StudioMinVersion?: string; SolutionId: string; Projects: UipxProject[]; } /** Result of bundling a solution directory into a .uis file. */ export interface BundleResult { uisPath: string; solutionName: string; solutionId: string; uipxPath: string; projects: Array<{ Name: string; Type: string; }>; }