import type { RuntimePackEnvelope } from '@forgeax/engine-pack/runtime'; import { ShaderRegistry } from '@forgeax/engine-shader'; import { type Asset, type CatalogEntry, type LoadContext, type Loader, type Result } from '@forgeax/engine-types'; import type { AssetRegistry } from './asset-registry.js'; import type { CatalogSource } from './catalog-source.js'; import type { LoaderRegistry } from './loader-registry.js'; export interface PublicationPreparationServices { readonly registry?: AssetRegistry; readonly shaderRegistry?: ShaderRegistry; readonly pack?: RuntimePackEnvelope | undefined; readonly loaders?: readonly Loader[]; readonly dependencies?: ReadonlyMap; } /** Adapter for producer injection. App supplies its actual consuming owner. */ export declare function validateAssetPublication(rows: readonly CatalogEntry[], fetcher: typeof fetch, external?: { readonly catalog: CatalogSource; readonly fetcher: typeof fetch; }, services?: PublicationPreparationServices): Promise Promise)>, unknown>>; /** Private staging uses the owner's domain loaders; no Catalog or temporary Registry is installed. */ export declare function preparePublicationPayloads(rows: readonly CatalogEntry[], fetcher: typeof fetch, external: { readonly catalog: CatalogSource; readonly fetcher: typeof fetch; } | undefined, services: PublicationPreparationServices, loaders: LoaderRegistry, context: LoadContext): Promise, unknown>>; //# sourceMappingURL=validate-publication.d.ts.map