import type { Clock } from "../../domain/port/Clock.js"; import type { MediaAssetRepository } from "../../domain/port/MediaAssetRepository.js"; import type { PendingUploadRepository } from "../../domain/port/PendingUploadRepository.js"; import type { MediaAsset, MediaStorage } from "../../domain/port/MediaStorage.js"; import type { CommitMediaUploadRequest } from "../dto/media/index.js"; /** * Finalise the variant bundle issued by `create_media_upload`. Reads * the canonical `PendingUploadRecord` (each variant's expected * mime + size + storageKey), asks the adapter to verify every * uploaded object (HEAD + bytes), and on success persists the * resulting `MediaAsset` to the `media_assets` table. * * All-or-nothing: any variant failing HEAD-verify rejects the whole * commit. The orphan sweeper (#254) cleans up partially-uploaded * bundles whose pending record expired. */ export declare class CommitMediaUploadUseCase { private readonly storage; private readonly pendingUploads; private readonly clock; private readonly assets; constructor(storage: MediaStorage, pendingUploads: PendingUploadRepository, clock: Clock, assets: MediaAssetRepository); execute(request: CommitMediaUploadRequest): Promise; } //# sourceMappingURL=CommitMediaUploadUseCase.d.ts.map