import { type MediaInventory } from "./artifacts.ts"; export type AddedMediaBinding = { path: string; sha256: string; assetId: string; origin: "customer" | "stock" | "authored" | "unknown"; role: "asset" | "poster"; productionHash?: string; }; export type AddedMediaFinding = { code: "ADDED_MEDIA_METADATA" | "ADDED_MEDIA_HASH" | "ADDED_MEDIA_CONFLICT" | "ADDED_MEDIA_PATH" | "ADDED_MEDIA_BOUND_CHANGED"; path: string; assetId?: string; owner: "media" | "trial"; category: "repairable" | "integrity"; explanation: string; }; /** One contract for media completion and trial preflight. Original capture bytes are checked separately. */ export declare function validateAddedMedia(root: string, inventory: MediaInventory | undefined, originals?: Set, accepted?: AddedMediaBinding[]): { findings: AddedMediaFinding[]; bindings: AddedMediaBinding[]; }; export declare function registerRecoveredMedia(root: string, options: { path: string; source: string; disposition: "use" | "retain"; id?: string; description?: string; role?: string; poster?: string; }): MediaInventory["assets"][number];