import type { AppManifest, MediaAsset, MediaAssetKind, MediaAssetReference, MediaAssetRegistry } from '@ankhorage/contracts'; export interface StudioMediaUsage { readonly screenId: string; readonly nodeId: string; readonly propertyPath: string; } export type StudioMediaAssetRemovalResult = { readonly ok: true; readonly manifest: AppManifest; } | { readonly ok: false; readonly reason: 'not-found' | 'in-use'; readonly usages: readonly StudioMediaUsage[]; }; export type StudioMediaDeleteResult = { readonly ok: true; readonly cleanup: 'none' | 'removed'; } | { readonly ok: false; readonly reason: 'not-found' | 'in-use'; readonly usages: readonly StudioMediaUsage[]; } | { readonly ok: false; readonly reason: 'save-failed'; readonly message: string; readonly mediaRemoved: false; } | { readonly ok: false; readonly reason: 'cleanup-failed'; readonly message: string; readonly mediaRemoved: true; }; export type StudioUrlMediaAssetResult = { readonly ok: true; readonly asset: MediaAsset; } | { readonly ok: false; readonly error: 'invalid-url'; }; export declare function listStudioMediaAssets(manifest: AppManifest, mediaKinds?: readonly MediaAssetKind[]): readonly MediaAsset[]; export declare function createStudioMediaAssetReference(mediaId: string): MediaAssetReference; export declare function readStudioMediaAssetReference(value: unknown): MediaAssetReference | null; export declare function createStudioMediaAssetId(name: string, registry?: MediaAssetRegistry): string; export declare function createStudioUrlMediaAsset(args: { readonly id: string; readonly name: string; readonly kind: MediaAssetKind; readonly url: string; }): StudioUrlMediaAssetResult; export declare function upsertStudioMediaAsset(manifest: AppManifest, asset: MediaAsset): AppManifest; export declare function collectStudioMediaAssetUsages(manifest: AppManifest, mediaId: string): readonly StudioMediaUsage[]; export declare function removeStudioMediaAsset(manifest: AppManifest, mediaId: string): StudioMediaAssetRemovalResult; //# sourceMappingURL=mediaAuthoringModel.d.ts.map