x-api-sdk-ts
Version:
TypeScript Library for the X (ex-twitter) API V2
44 lines (43 loc) • 2.05 kB
TypeScript
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>;
}