import Chat, * as ChatTypes from './Chat'; import Api, * as ApiTypes from './Api'; import { LoggerOptions } from './utils/logger'; export { Chat, ChatTypes }; export { Api, ApiTypes }; export * from './twitch'; declare type BaseTwitchJsOptions = { clientId?: string; token?: string; username?: string; log?: LoggerOptions; onAuthenticationFailure?: () => Promise; }; declare type IndividualClassOptions = { chat?: ChatTypes.ChatOptions; api?: ApiTypes.ApiOptions; }; export declare type TwitchJsOptions = BaseTwitchJsOptions & IndividualClassOptions; /** * Interact with chat and make requests to Twitch API. * * ## Initializing * ``` * const token = 'cfabdegwdoklmawdzdo98xt2fo512y' * const username = 'ronni' * const twitchJs = new TwitchJs({ token, username }) * * twitchJs.chat.connect().then(globalUserState => { * // Do stuff ... * }) * * twitchJs.api.get('channel').then(response => { * // Do stuff ... * }) * ``` */ declare class TwitchJs { chat: Chat; api: Api; static Chat: typeof Chat; static Api: typeof Api; constructor(options: TwitchJsOptions); /** * Update client options. */ updateOptions(options: IndividualClassOptions): void; } export default TwitchJs;