import { ProjectUIDL, ComponentUIDL } from '@teleporthq/teleport-types'; import { NextPartialGeneratorOptions } from './partial'; export interface SplitProjectResult { /** Parsed and validated ProjectUIDL */ projectUIDL: ProjectUIDL; /** Individual page UIDLs ready for generatePage() */ pages: ComponentUIDL[]; /** Individual component UIDLs ready for generateComponent() */ components: Record; /** Root UIDL ready for generateStyleSheet() */ rootUIDL: ComponentUIDL; /** Shared options to pass when constructing the partial generator */ sharedOptions: NextPartialGeneratorOptions; /** Env variables (if any), ready for generateEnvFiles() */ env?: Record; /** Resource items (if any), ready for generateResource() */ resources: { items: ProjectUIDL['resources']['items']; mappers: ProjectUIDL['resources']['resourceMappers']; }; /** Data sources (if any), ready for resolveDataSourceDependencies() */ dataSources?: Record; } /** * Takes a raw project JSON (or already-parsed ProjectUIDL) and splits it * into the individual pieces needed by each NextPartialGenerator method. * * This replicates the splitting logic from teleport-project-generator's * internal createPageUIDLs / prepareComponentOutputOptions / resolveLocalDependencies * utilities, so callers can work with partial generation without needing the * full project generator pipeline. */ export declare const splitProjectUIDL: (input: Record | ProjectUIDL) => SplitProjectResult; //# sourceMappingURL=split-utils.d.ts.map