/// <reference types="node" />
import { PassThrough } from 'stream';
import { Wasd } from '../types/api';
export default class RestClient {
    private token;
    private _axios;
    constructor(token: string);
    getJWT(): Promise<Wasd.JWT>;
    getChannelInfo(channel_name: string): Promise<Wasd.ChannelInfo>;
    getStreamChatMessages<T extends Wasd.InfoType>(stream_id: number, message_type: Wasd.MessageType, limit?: number, offset?: number): Promise<Wasd.RestMessage<T>[]>;
    setChatSettings(stream_id: number, chat_role_limit: Wasd.ChatPermission, chat_delay: Wasd.ChatDelay): Promise<boolean>;
    addModerator(channel_id: number, user_id: number): Promise<boolean>;
    deleteModerator(channel_id: number, user_id: number): Promise<boolean>;
    listModerator(streamer_id: number): Promise<Wasd.Moderator[]>;
    banUser(channel_id: number, user_id: number, stream_id: number, keep_messages?: boolean, duration?: number): Promise<boolean>;
    unbanUser(channel_id: number, user_id: number): Promise<boolean>;
    listBanned(streamer_id: number): Promise<Wasd.BannedUser[]>;
    getGifts(media_container_id: number): Promise<Wasd.Gift[]>;
    productsToSell(user_id: number): Promise<Wasd.Product[]>;
    getWebCustomBlocks(channel_id: number): Promise<Wasd.WebCustomBlock[]>;
    getStickerPack(streamer_id: number, limit?: number, offset?: number): Promise<Wasd.StickerPack[]>;
    getPopularClips(): Promise<Wasd.Clip[]>;
    getClips(channel_id: number, limit: number, offset: number): Promise<Wasd.Clip[]>;
    getGames(limit?: number, offset?: number): Promise<Wasd.Game[]>;
    getMediaContainers(media_container_status?: Wasd.MediaStatus, media_container_type?: Wasd.MediaContainerType, game_id?: number, limit?: number, offset?: number): Promise<Wasd.MediaContainerExtra[]>;
    getChannelMediaContainers(media_container_status?: Wasd.MediaStatus, media_container_type?: Wasd.MediaContainerType, channel_id?: number, limit?: number, offset?: number): Promise<Wasd.MediaContainerExtra[]>;
    getProfile(): Promise<Wasd.User>;
    getNotifications(): Promise<Wasd.Notification[]>;
    getChannelLinks(channel_id: number): Promise<Wasd.ChannelLink[]>;
    searchGames(search_phrase: string, limit: number, offset: number): Promise<Wasd.SearchResult<Wasd.Game>>;
    searchProfile(search_phrase: string, limit: number, offset: number): Promise<Wasd.SearchResult<Wasd.UserProfile>>;
    searchChannel(search_phrase: string, limit: number, offset: number): Promise<Wasd.SearchResult<Wasd.Channel>>;
    searchMediaContainer(media_container_name?: string, media_container_status?: Wasd.MediaStatus, limit?: number, offset?: number): Promise<Wasd.SearchResult<Wasd.MediaContainerExtra>>;
    getTags(type?: Wasd.TagType, limit?: number, offset?: number): Promise<Wasd.Tag[]>;
    getStreamPushUrl(): Promise<Wasd.StreamPushUrl>;
    getStreamClosedViewUrl(): Promise<Wasd.StreamClosedViewUrl>;
    getBroadcastLimits(): Promise<Wasd.BroadcastLimits>;
    setSetting(setting_key: Wasd.SettingKey, setting_value: any): Promise<Wasd.Setting[]>;
    getPosts(user_id: number, limit: number, offset: number): Promise<Wasd.Post[]>;
    getSchedule(user_id: number): Promise<Wasd.Schedule[]>;
    downloadLiveMediaStream(user_id: number): PassThrough;
    downloadMediaByUrl(url: string): PassThrough;
    downloadVod(media_container: Wasd.MediaContainer): PassThrough;
    getMediaStreamMetadata(user_id: number): Promise<Wasd.MediaStreamMetadata>;
    private errorHandler;
}
