import type { Asset, AssetGuid, Result } from '@forgeax/engine-types'; import type { PackOutput } from './pack-authoring.js'; /** * Build-time Pack vocabulary shared by the source loader and output * producers. ScriptablePack and Pack authoring definitions live in the shared * Pack authoring implementation; this facade is the browser-safe source entry. */ export * from './guid.js'; export * from './pack-authoring.js'; export * from './plugin-asset.js'; /** Closed ordinary kind vocabulary shared by Pack discovery and producers. */ export type ScriptablePackAssetKind = Asset['kind']; export declare const SCRIPTABLE_PACK_ASSET_KINDS: readonly ["plugin", "mesh", "material", "scene", "texture", "equirect", "sampler", "font", "render-pipeline", "tileset", "video", "skeleton", "skin", "animation-clip", "animation-graph", "audio", "particle-effect", "ies-profile", "terrain", "navigation-mesh"]; export declare function isScriptablePackAssetKind(value: string): value is ScriptablePackAssetKind; export declare const SCRIPTABLE_PACK_CAPABILITY_MANIFEST: { readonly assetKinds: readonly ["plugin", "mesh", "material", "scene", "texture", "equirect", "sampler", "font", "render-pipeline", "tileset", "video", "skeleton", "skin", "animation-clip", "animation-graph", "audio", "particle-effect", "ies-profile", "terrain", "navigation-mesh"]; readonly durablePayload: true; readonly refs: true; readonly artifacts: true; readonly hostCapabilities: readonly ["audio-install", "video-play", "particle-execute"]; }; export interface ScriptablePackSceneComponentInput { readonly name: string; readonly fields: Readonly>; } export interface ScriptablePackSceneComponent { readonly name: string; readonly fields: Readonly>; } export declare function projectScriptablePackSceneComponents(components: readonly ScriptablePackSceneComponentInput[] | undefined): readonly ScriptablePackSceneComponent[]; /** Source closure evidence used to fence one isolated build generation. */ export interface ScriptablePackSourceClosureEntry { readonly path: string; readonly digest: string; } /** AssetReader is intentionally a small, realm-neutral source boundary. */ export interface AssetReader { readByGuid(guid: AssetGuid): Promise>; } export interface ScriptablePackReadError { readonly code: string; readonly expected: string; readonly hint: string; readonly detail?: unknown; } //# sourceMappingURL=scriptable-pack.d.ts.map