import type { MediaAsset, MediaAssetKind, MediaStorageSource } from '@ankhorage/contracts'; import type { ProjectManager } from '../orchestrator/projectManager'; import { type ProjectMediaStorageContext } from './projectMediaStorage'; export interface ProjectMediaIngestInput { readonly assetId: string; readonly name: string; readonly kind: MediaAssetKind; readonly body: Uint8Array; readonly contentType?: string; readonly sizeBytes?: number; readonly width?: number; readonly height?: number; readonly durationMs?: number; } type MediaStorageResolver = (args: { readonly projectId: string; readonly projectManager: ProjectManager; readonly workspaceRoot: string; }) => Promise; export declare class ProjectMediaService { private readonly projectManager; private readonly workspaceRoot; private readonly resolveStorage; constructor(projectManager: ProjectManager, workspaceRoot: string, resolveStorage?: MediaStorageResolver); ingest(projectId: string, input: ProjectMediaIngestInput): Promise; resolve(projectId: string, source: MediaStorageSource): Promise; remove(projectId: string, source: MediaStorageSource): Promise; private getStorage; } export declare function createAuthoringMediaPath(assetId: string, fileName: string): string; export {}; //# sourceMappingURL=projectMediaService.d.ts.map