/** * Studio Web import-contract knowledge, kept out of the generic bundler. * * Studio Web's solution import accepts only `project.uiproj`-manifested * projects for API Workflows: it drops a `project.json` Api project from a * mixed solution, and fails an Api-only solution with HTTP 400 code 20001 * ("the project archive is corrupt or the compression isn't supported"). * Studio-Web-bound bundlers pass {@link assertStudioWebCompatibleProjects} * to `bundleSolution`'s `validateProjects` hook so the defect is caught * client-side, with its real cause, before anything is uploaded. * UV-15161 / STUD-81261. * * This module is the rule's single shared home: tool packages must not * import each other, so the two Studio-Web-bound callers (solution-tool's * upload, agent-tool's debug) can only share the rule through solution-sdk. */ import type { UipxProject } from "./types"; /** * Thrown by {@link assertStudioWebCompatibleProjects} when the `.uipx` * references an API Workflow project manifested by `project.json`. */ export declare class StudioWebIncompatibleProjectError extends Error { readonly offendingProjects: string[]; constructor(offendingProjects: string[]); } /** * Throws {@link StudioWebIncompatibleProjectError} when any project is an * API Workflow manifested by `project.json`. `Type` comes from user-owned * `.uipx` JSON with no runtime validation, so it is narrowed before string * methods — a malformed value falls through to the regular bundle path. */ export declare function assertStudioWebCompatibleProjects(projects: UipxProject[]): void;