UNPKG

x-api-sdk-ts

Version:

TypeScript Library for the X (ex-twitter) API V2

44 lines (43 loc) 2.05 kB
import type { ITwitterClient } from './interfaces/ITwitterClient'; import type { AbstractPosts } from './interfaces/api/IPosts'; import type { AbstractMedia } from './interfaces/api/IMedia'; import type { AbstractUsers } from './interfaces/api/IUsers'; import { AbstractLikes } from './interfaces/api/ILikes'; import type { IApiConstructor } from './interfaces/api/IApiConstructor'; import type { AbstractOAuth1Auth } from './interfaces/auth/IOAuth1Auth'; import type { AbstractOAuth2Auth, IOAuth2Config } from './interfaces/auth/IOAuth2Auth'; import type { IRequestClientConstructor, RCResponse, RCResponseSimple } from './interfaces/IRequestClient'; import { IHttpAdapter } from './interfaces/IHttpAdapter'; import { IOAuthConstructor } from './interfaces/auth/IOAuthConstructor'; export type ITwitterClientConfig = { oAuth2: IOAuth2Config; }; export type IHttpAdapterInjection = [new (...args: any[]) => IHttpAdapter, ...any[]]; export declare class TwitterClient implements ITwitterClient { private config; readonly oAuth1: AbstractOAuth1Auth | undefined; readonly oAuth2: AbstractOAuth2Auth; private baseUrl; private requestClient; private httpAdapter; readonly posts: AbstractPosts; readonly media: AbstractMedia; readonly users: AbstractUsers; readonly likes: AbstractLikes; constructor(config: ITwitterClientConfig, options?: { baseUrl?: string | null; httpAdapter?: IHttpAdapterInjection; requestClient?: IRequestClientConstructor; auth?: { oAuth2?: IOAuthConstructor<IOAuth2Config, AbstractOAuth2Auth>; } | null; apiModules?: ({ posts?: IApiConstructor<AbstractPosts>; media?: IApiConstructor<AbstractMedia>; users?: IApiConstructor<AbstractUsers>; likes?: IApiConstructor<AbstractLikes>; } | null); }); isSuccessResponse<T>(response: RCResponse<T>): response is RCResponseSimple<T>; isErrorResponse<T>(response: RCResponse<T>): response is RCResponse<never>; }