@etherna/sdk-js
Version:
Etherna SDKs for operations on the network
33 lines • 1.53 kB
TypeScript
import { BaseReader } from "../base-reader";
import type { Profile, Video, VideoDetailsRaw, VideoPreviewRaw, VideoRaw } from "../..";
import type { EthernaIndexClient, IndexVideo, IndexVideoManifest, Reference } from "../../clients";
import type { IndexVideoPreview } from "../../clients/index/types";
import type { VideoPreview } from "../../schemas/video";
import type { ReaderDownloadOptions, ReaderOptions } from "../base-reader";
interface VideoReaderOptions extends ReaderOptions {
indexClient?: EthernaIndexClient;
owner?: Profile;
prefetchedVideo?: Video;
}
interface VideoReaderDownloadOptions extends ReaderDownloadOptions {
mode: "preview" | "details" | "full";
previewData?: VideoPreview;
}
export declare class VideoReader extends BaseReader<Video | null, string, VideoRaw | IndexVideo> {
reference: Reference;
indexReference?: string;
private beeClient;
private indexClient?;
private prefetchedVideo?;
constructor(reference: string, opts: VideoReaderOptions);
download(opts: VideoReaderDownloadOptions): Promise<Video | null>;
static indexVideoToRaw(video: IndexVideo): VideoRaw;
static indexVideoPreviewToRaw(videoPreview: IndexVideoPreview | IndexVideo): VideoPreviewRaw;
static emptyVideoPreview(): VideoPreviewRaw;
static emptyVideoDetails(): VideoDetailsRaw;
private fetchIndexVideo;
private fetchSwarmVideo;
static isValidatingManifest(manifest: IndexVideoManifest | null): boolean;
}
export {};
//# sourceMappingURL=reader.d.ts.map