import type { IValueSubject, Nullable } from "@vkontakte/videoplayer-shared"; import type { ChapterBranch, ManifestVideo, Chapter, Manifest, GraphEditChapter, GraphViewChapter, AnyManifest } from "../../manifest"; import { Loadable, type Loaders } from "./Loadable"; type BranchesData = { chapter: Chapter; graph: GraphEditChapter | GraphViewChapter | undefined; media: ManifestVideo; }; export declare class ManifestController extends Loadable { manifest: Nullable; chapter: Nullable; media: Nullable; graph: Nullable; prevChapter$: IValueSubject; onError: (err: unknown) => void; constructor(loaders: Partial, onError: (err: unknown) => void); release(): this; setManifest(source: AnyManifest | string): Promise; setInitial(): Promise; setNext(chapterId?: string | undefined): Promise; errorHandler(errors: unknown): void; getInitial(): Nullable; getByChapterId(chapterId?: string | undefined): Nullable; getBranches(chapterId?: string | undefined): BranchesData[]; getByBranches(branches?: ChapterBranch[]): BranchesData[]; getCurrent(): { chapter: Nullable; media: Nullable; graph: Nullable; }; isInitialChapter(): boolean; isEndChapter(): boolean; } export {};