import * as m3u8stream from "m3u8stream";
import { DownloadOptions } from "./@types/download";
import { Playlist } from "./@types/playlist";
import { SearchOptions, SearchResponse } from "./@types/search";
import { Track, TrendingOptions, TrendingTrackResponse } from "./@types/track";
import { User } from "./@types/user";
export declare class SoundCloud {
    private static clientId;
    static connect: () => Promise<void>;
    static search: (searchOptions: SearchOptions) => Promise<SearchResponse>;
    static users: {
        getUser: (url: string) => Promise<User>;
    };
    static tracks: {
        getTracksByIds: (ids: number[]) => Promise<Track[]>;
        getTrack: (url: string) => Promise<Track>;
        getTrending: (options?: TrendingOptions | undefined) => Promise<TrendingTrackResponse>;
    };
    static playlists: {
        getPlaylist: (url: string) => Promise<Playlist>;
    };
    static download: (url: string, downloadOptions?: DownloadOptions | undefined) => Promise<m3u8stream.Stream>;
    private static checkClientId;
}
export * from "./@types/playlist";
export * from "./@types/search";
export * from "./@types/track";
export * from "./@types/user";
