import { type CreateDesignImportOptions, type DesignImportController, type DesignImportManifest } from '../editor/designImport.js'; import { type PygmalionRevisionCatalog } from '../editor/revisionCatalog.js'; import type { WorkspaceConfiguration } from '../workspace/configuration.js'; export declare const PYGMALION_HOST_PROJECT_VERSION: 1; /** Product declarations only. No editor session or executable mock handlers. */ export type PygmalionHostStoryboard = Omit; export type PygmalionHostDesign = Pick; export interface PygmalionHostProjectDefinition { version: typeof PYGMALION_HOST_PROJECT_VERSION; /** Stable project identity, independent of a development server's port. */ id: string; inventory: DesignImportManifest; storyboard?: PygmalionHostStoryboard; design?: PygmalionHostDesign; /** Opaque product state is interpreted only by these host executors. */ reproduction?: Pick; presentation?: Pick; /** Source/document and data adapters used only by the browser workspace. */ workspace?: WorkspaceConfiguration; } export interface PygmalionHostProject { readonly version: typeof PYGMALION_HOST_PROJECT_VERSION; readonly id: string; readonly definition: PygmalionHostProjectDefinition; readonly designImport: DesignImportController; readonly editorProps: PygmalionHostStoryboard & PygmalionHostDesign & { designImport: DesignImportController; workspace?: WorkspaceConfiguration; }; } /** Owns the assembly shared by the browser editor and offline catalog jobs. */ export declare function createPygmalionHostProject(input: PygmalionHostProjectDefinition): PygmalionHostProject; /** * One-way projection from the same host definition, preserving the existing * wire format. Executable adapters and React implementations never cross it. */ export declare function createPygmalionRevisionCatalog(project: PygmalionHostProject, identity: { sourceRevision: string; namespace?: string; }): PygmalionRevisionCatalog; /** Project and legacy declarations cannot silently compete for ownership. */ export declare function resolvePygmalionProjectProps(props: T): Omit & Partial;