import * as types from './types'; import TypedEmitter from 'typed-emitter'; declare class Nexus { events: TypedEmitter; private mBaseData; private mBaseURL; private mQuota; private mValidationResult; private mRateLimit; private mOAuthCredentials; private mOAuthConfig; private mJwtRefreshTries; constructor(appName: string, appVersion: string, defaultGame: string, timeout?: number); static create(apiKey: string, appName: string, appVersion: string, defaultGame: string, timeout?: number): Promise; static createWithOAuth(credentials: types.IOAuthCredentials, config: types.IOAuthConfig, appName: string, appVersion: string, defaultGame: string, timeout?: number): Promise; setGame(gameId: string): void; getValidationResult(): types.IValidateKeyResponse; setKey(apiKey: string): Promise; getRateLimits(): { daily: number; hourly: number; }; validateKey(key?: string): Promise; getTrackedMods(): Promise; trackMod(modId: string, gameId?: string): Promise; untrackMod(modId: string, gameId?: string): Promise; getGames(): Promise; getLatestAdded(gameId?: string): Promise; getLatestUpdated(gameId?: string): Promise; getTrending(gameId?: string): Promise; getEndorsements(): Promise; getColourschemes(): Promise; getColorschemes(): Promise; getGameInfo(gameId?: string): Promise; getRecentlyUpdatedMods(period: types.UpdatePeriod, gameId?: string): Promise; endorseMod(modId: number, modVersion: string, endorseStatus: 'endorse' | 'abstain', gameId?: string): Promise; getModInfo(modId: number, gameId?: string): Promise; getChangelogs(modId: number, gameId?: string): Promise; getModFiles(modId: number, gameId?: string): Promise; getFileInfo(modId: number, fileId: number, gameId?: string): Promise; getDownloadURLs(modId: number, fileId: number, key?: string, expires?: number, gameId?: string): Promise; getFileByMD5(hash: string, gameId?: string): Promise; getOwnIssues(): Promise; sendFeedback(title: string, message: string, fileBundle: string, anonymous: boolean, groupingKey?: string, id?: string): Promise; private checkFileSize; private request; private set oAuthCredentials(value); private handleJwtRefresh; private filter; private args; } export default Nexus;