import type { CollectionBase, ICollection, RecordMeetingConfig } from '../interfaces/core'; import { IndexType, SearchType } from '../types/search'; import type { FileUploadConfig, URLUploadConfig } from '../types/collection'; import type { CreateCaptureSessionConfig, ListCaptureSessionsConfig } from '../types/capture'; import { HttpClient } from '../utils/httpClient'; import { SearchResult } from './search/searchResult'; import { Video } from './video'; import { Audio } from './audio'; import { Image } from './image'; import { Meeting } from './meeting'; import { CaptureSession } from './captureSession'; import { RTStream, RTStreamSearchResult } from './rtstream'; /** * The base VideoDB class * @remarks * The base class through which all videodb actions are possible */ export declare class Collection implements ICollection { #private; readonly id: string; readonly name?: string; readonly description?: string; readonly isPublic?: boolean; constructor(http: HttpClient, data: CollectionBase); /** * Get all videos from the collection * @returns A list of objects of the Video class * @throws an error if the request fails */ getVideos: () => Promise; /** * Get all the information for a specific video * @param videoId - Unique ID of the video. * @returns An object of the Video class * @throws an error if the request fails */ getVideo: (videoId: string) => Promise