import type { MediaAssetRepository } from "../../domain/port/MediaAssetRepository.js"; import type { MediaAsset } from "../../domain/port/MediaStorage.js"; import type { UpdateMediaAssetRequest } from "../dto/media/index.js"; /** * `UpdateMediaAssetUseCase` — patch alt/caption on a committed asset * (#434). Variants/mime/bytes/createdAt are frozen at commit; only the * two operator-authored text fields are mutable here. `save` upserts by * id (the commit use case shares the same writer), so the read → * merge → save round-trips the full row while touching only alt/caption. * * A field left `undefined` in the request is preserved; an empty string * clears it. Rejects `MEDIA_ASSET_NOT_FOUND` when the id is absent so a * PATCH against a deleted asset doesn't silently re-create a partial row. */ export declare class UpdateMediaAssetUseCase { private readonly assets; constructor(assets: MediaAssetRepository); execute(request: UpdateMediaAssetRequest): Promise; } //# sourceMappingURL=UpdateMediaAssetUseCase.d.ts.map