@etherna/sdk-js
Version:
Etherna SDKs for operations on the network
61 lines • 1.97 kB
TypeScript
import { PlaylistPreview } from "../../schemas/playlist";
import type { EnsAddress, EthAddress, FeedInfo, Reference } from "../../clients";
import type { ReaderOptions } from "../base-reader";
interface PlaylistReaderOptions extends ReaderOptions {
}
interface PlaylistReaderDownloadOptions {
mode: "preview" | "details" | "full";
signal?: AbortSignal;
prefetchedPreview?: PlaylistPreview;
}
export declare const createPlaylistTopicName: (id: string) => string;
export type PlaylistIdentification = {
id: string;
owner: EthAddress | EnsAddress;
} | {
rootManifest: Reference;
};
export declare class PlaylistReader {
private rootManifest;
private id;
private owner;
private beeClient;
static channelPlaylistId: "Channel";
static savedPlaylistId: "Saved";
constructor(identification: PlaylistIdentification, opts: PlaylistReaderOptions);
download(opts: PlaylistReaderDownloadOptions): Promise<{
reference: Reference;
preview: {
type: "private" | "protected" | "public";
name: string;
id: string;
createdAt: Date;
updatedAt: Date;
thumb: {
path: string;
blurhash: string;
} | null;
owner: `0x${string}`;
rootManifest: string & {
readonly length: 64;
};
passwordHint?: string | undefined;
};
details: {
videos: {
reference: string & {
readonly length: 64;
};
title: string;
addedAt: Date;
publishedAt?: Date | undefined;
}[];
name?: string | undefined;
description?: string | undefined;
};
encryptedData: string | null | undefined;
}>;
getPlaylistFeed(): Promise<FeedInfo<"epoch">>;
}
export {};
//# sourceMappingURL=reader.d.ts.map