import type { UniqueID } from "@repo/rdx-ddd"; import type { Result } from "@repo/rdx-utils"; import type { AssetCatalogError } from "../domain/asset-definition"; import type { AssetInfrastructure } from "../domain/asset-infrastructure.aggregate"; export interface IInfrastructureRepository { get( company: UniqueID ): Promise< Result< { items: readonly AssetInfrastructure[]; actorNames: ReadonlyMap }, AssetCatalogError > >; save( company: UniqueID, asset: UniqueID, change: ( previous: AssetInfrastructure | undefined ) => Result ): Promise< Result< { item: AssetInfrastructure; actorNames: ReadonlyMap }, AssetCatalogError > >; }