import type { UserOauth } from "./Oauth";
import type { ApiImage } from "../../../interfaces";
import type { ApiUser } from "../../../interfaces/user";
import type { Lunify } from "../..";
import { UserPlaylistsManager } from "../..";
import { Player } from "../player";
export * from "./Oauth";
export declare class PartialUser {
    client: Lunify;
    oauth: UserOauth;
    /**
     * Control user playback
     */
    player: Player;
    playlists: UserPlaylistsManager;
    constructor(client: Lunify, oauth: UserOauth);
}
export declare class User extends PartialUser {
    client: Lunify;
    oauth: UserOauth;
    country?: string;
    displayName: string | null;
    email?: string;
    explicitContent: {
        enabled: boolean | null;
        locked: boolean | null;
    };
    externalUrls: Record<string, string>;
    followers: {
        url: string;
        total: number;
    };
    url: string;
    id: string;
    images: ApiImage[];
    product?: "premium" | "free" | "open";
    constructor(client: Lunify, oauth: UserOauth, data: ApiUser);
}
