import type { Result } from '@forgeax/engine-types'; import { type PackAuthoringError, type PackAuthoringGatewayPort, type PackAuthoringOperation, type PackAuthoringOperationResult } from './pack-authoring.js'; import { type ScanInventory } from './scanner.js'; export interface PackAuthoringMaterializedAsset { readonly packageId: string; readonly sourceKey: string; readonly guid: string; readonly kind: string; readonly sourcePath?: string; readonly refs?: readonly string[]; readonly ready?: boolean; readonly artifactsReady?: boolean; } export interface FileSystemPackAuthoringOptions { readonly gameRoot: string; /** Project owner prepares the full closure, dependency lock and candidate compile. */ readonly transfer?: (operation: PackAuthoringOperation) => Promise>; readonly scanRoots?: readonly string[]; /** Current-generation rows only; this callback is never called by mutations. */ readonly materialized?: () => readonly PackAuthoringMaterializedAsset[] | Promise; /** * GUIDs published by non-Pack producers in the same Catalog projection. * They are accepted as dependency identities but never exposed as Pack * authoring assets. */ readonly additionalKnownGuids?: () => readonly string[] | Promise; /** Build owner callback; the gateway itself does not own DDC or Catalog state. */ readonly rebuild?: (sourcePath: string, mode: 'rebuild' | 'cold-cook') => Promise>; /** Injection point for hosts that already own a validated Source Index. */ readonly inventory?: () => Promise>; } export declare function createFileSystemPackAuthoringPort(options: FileSystemPackAuthoringOptions): PackAuthoringGatewayPort; export declare function createFileSystemPackAuthoringGateway(options: FileSystemPackAuthoringOptions): PackAuthoringGatewayPort; //# sourceMappingURL=pack-authoring-node.d.ts.map