import { SpotiflyBase } from "./base.js";
export declare class SpotiflyPlaylist extends SpotiflyBase {
    id: string;
    constructor(cookie: string);
    create(name: string): Promise<{
        uri: string;
        revision: string;
    }>;
    rename(newName: string): Promise<unknown>;
    changeDescription(newDescription: string): Promise<unknown>;
    fetchMetadata(limit?: number): Promise<{
        __typename: string;
        uri: string;
        name: string;
        description: string;
        ownerV2: {
            data: {
                __typename: string;
                uri: string;
                username: string;
                name: string;
                avatar: {
                    sources: Array<{
                        url: string;
                        width: number;
                        height: number;
                    }>;
                };
            };
        };
        images: {
            items: Array<{
                extractedColors: {
                    colorRaw: {
                        hex: string;
                        isFallback: boolean;
                    };
                };
                sources: Array<{
                    url: string;
                    width: any;
                    height: any;
                }>;
            }>;
        };
        collaborative: boolean;
        followers: number;
        format: string;
        attributes: Array<any>;
        sharingInfo: {
            shareUrl: string;
        };
        content: {
            __typename: string;
            totalCount: number;
            pagingInfo: {
                limit: number;
            };
            items: Array<{
                itemV2: {
                    __typename: string;
                    data: {
                        __typename: string;
                        uri: string;
                        trackDuration: {
                            totalMilliseconds: number;
                        };
                    };
                };
            }>;
        };
    }>;
    fetchContents(limit?: number): Promise<{
        uid: string;
        addedAt: {
            isoString: string;
        };
        addedBy: {
            data: {
                __typename: string;
                uri: string;
                username: string;
                name: string;
                avatar: {
                    sources: Array<{
                        url: string;
                        width: number;
                        height: number;
                    }>;
                };
            };
        };
        attributes: Array<any>;
        itemV2: {
            __typename: string;
            data: {
                __typename: string;
                uri: string;
                name: string;
                trackDuration: {
                    totalMilliseconds: number;
                };
                playcount: string;
                albumOfTrack: {
                    uri: string;
                    name: string;
                    artists: {
                        items: Array<{
                            uri: string;
                            profile: {
                                name: string;
                            };
                        }>;
                    };
                    coverArt: {
                        sources: Array<{
                            url: string;
                            width: number;
                            height: number;
                        }>;
                    };
                };
                artists: {
                    items: Array<{
                        uri: string;
                        profile: {
                            name: string;
                        };
                    }>;
                };
                discNumber: number;
                trackNumber: number;
                playability: {
                    playable: boolean;
                    reason: string;
                };
                contentRating: {
                    label: string;
                };
            };
        };
    }[]>;
    add(...trackUris: string[]): Promise<unknown>;
    remove(...trackUris: string[]): Promise<unknown>;
    cloneFrom(id: string, config?: {
        name?: string;
        description?: string;
        limit?: number;
    }): Promise<void>;
    delete(): Promise<unknown>;
}
