import { Playlist } from "../../schemas/playlist";
import { PlaylistBuilder } from "./builder";
import type { EthAddress, Reference } from "../../clients";
import type { WriterOptions, WriterUploadOptions } from "../base-writer";
interface PlaylistWriterOptions extends WriterOptions {
}
interface PlaylistWriterUploadOptions extends WriterUploadOptions {
}
export declare class PlaylistWriter {
    private playlistBuilder;
    private beeClient;
    constructor(playlistBuilder: PlaylistBuilder, opts: PlaylistWriterOptions);
    upload(opts?: PlaylistWriterUploadOptions): 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;
        };
    }>;
    static emptyPlaylist(owner: EthAddress, id?: string): Playlist;
}
export {};
//# sourceMappingURL=writer.d.ts.map