import { SearchResult } from '../core/search/searchResult'; import { Video } from '../core/video'; import { Audio } from '../core/audio'; import { Image } from '../core/image'; import type { SearchType } from '../types/search'; import type { FileUploadConfig, URLUploadConfig } from '../types/collection'; import type { StreamableURL, Timeline, Transcript } from '../types/video'; import { AudioAsset, VideoAsset } from '..'; import { IndexSceneConfig, SubtitleStyleProps } from '../types/config'; import type { BatchConfig, CaptureSessionStatusType } from '../types/capture'; /** * Base type for all collection objects */ export interface CollectionBase { id: string; name?: string; description?: string; isPublic?: boolean; } /** * Collection class interface for reference */ export interface ICollection extends CollectionBase { getVideos: () => Promise; getVideo: (videoId: string) => Promise