@etherna/sdk-js
Version:
Etherna SDKs for operations on the network
42 lines • 1.78 kB
TypeScript
import { MantarayNode } from "../../handlers/mantaray";
import { Video } from "../../schemas/video";
import type { BatchId, BeeClient, EthAddress, Reference } from "../../clients";
import type { PlaylistDetails, PlaylistDetailsRaw, PlaylistPreview, PlaylistPreviewRaw, PlaylistType } from "../../schemas/playlist";
interface PlaylistBuilderLoadOptions {
beeClient: BeeClient;
signal?: AbortSignal;
}
interface PlaylistBuilderSaveOptions {
beeClient: BeeClient;
batchId: BatchId;
signal?: AbortSignal;
}
export declare const PLAYLIST_PREVIEW_META_PATH = "preview";
export declare const PLAYLIST_DETAILS_META_PATH = "details";
export declare class PlaylistBuilder {
reference: Reference;
previewMeta: PlaylistPreviewRaw;
detailsMeta: PlaylistDetailsRaw;
node: MantarayNode;
private queue;
private playlistPassword?;
private encryptedDetails?;
constructor();
initialize(reference: Reference, ownerAddress: EthAddress, previewMeta?: PlaylistPreview, detailsMeta?: PlaylistDetails): void;
loadNode(opts: PlaylistBuilderLoadOptions): Promise<void>;
saveNode(opts: PlaylistBuilderSaveOptions): Promise<Reference>;
get isEncrypted(): boolean;
updateName(name: string, type?: "preview" | "details"): void;
updateType(type: PlaylistType): void;
updatePasswordHint(passwordHint: string): void;
updateDescription(description: string): void;
updateThumb(video: Video): void;
addVideos(videosToAdd: Video[], publishAt?: Date): void;
replaceVideo(oldReference: Reference, newVideo: Video): void;
removeVideos(videoRefsToRemove: Reference[]): void;
setEncryptionPassword(password: string): void;
updateNode(): void;
private enqueueData;
}
export {};
//# sourceMappingURL=builder.d.ts.map