/// import { IClientSettings, ITwitterApiClientPlugin, TClientTokens, TwitterApiPluginResponseOverride, TwitterRateLimit, TwitterResponse } from '../types'; import TweetStream from '../stream/TweetStream'; import type { ClientRequestArgs } from 'http'; import OAuth1Helper from './oauth1.helper'; import type { IGetHttpRequestArgs, IGetStreamRequestArgs, IGetStreamRequestArgsAsync, IGetStreamRequestArgsSync, IWriteAuthHeadersArgs, TAcceptedInitToken } from '../types/request-maker.mixin.types'; import { IComputedHttpRequestArgs } from '../types/request-maker.mixin.types'; export declare class ClientRequestMaker { bearerToken?: string; consumerToken?: string; consumerSecret?: string; accessToken?: string; accessSecret?: string; basicToken?: string; clientId?: string; clientSecret?: string; rateLimits: { [endpoint: string]: TwitterRateLimit; }; clientSettings: Partial; protected _oauth?: OAuth1Helper; protected static readonly BODY_METHODS: Set; constructor(settings?: Partial); /** @deprecated - Switch to `@twitter-api-v2/plugin-rate-limit` */ getRateLimits(): { [endpoint: string]: TwitterRateLimit; }; protected saveRateLimit(originalUrl: string, rateLimit: TwitterRateLimit): void; /** Send a new request and returns a wrapped `Promise`. */ send(requestParams: IGetHttpRequestArgs): Promise>; /** * Create a new request, then creates a stream from it as a `TweetStream`. * * Request will be sent only if `autoConnect` is not set or `true`: return type will be `Promise`. * If `autoConnect` is `false`, a `TweetStream` is directly returned and you should call `stream.connect()` by yourself. */ sendStream(requestParams: IGetHttpRequestArgs & IGetStreamRequestArgsSync): TweetStream; sendStream(requestParams: IGetHttpRequestArgs & IGetStreamRequestArgsAsync): Promise>; sendStream(requestParams: IGetHttpRequestArgs & IGetStreamRequestArgs): Promise> | TweetStream; initializeToken(token?: TAcceptedInitToken): void; getActiveTokens(): TClientTokens; protected buildOAuth(): OAuth1Helper; protected getOAuthAccessTokens(): { key: string; secret: string; } | undefined; getPlugins(): ITwitterApiClientPlugin[]; hasPlugins(): boolean; applyPluginMethod(method: K, args: Parameters[K]>[0]): Promise; protected writeAuthHeaders({ headers, bodyInSignature, url, method, query, body }: IWriteAuthHeadersArgs): Record; protected getUrlObjectFromUrlString(url: string): URL; protected getHttpRequestArgs({ url: stringUrl, method, query: rawQuery, body: rawBody, headers, forceBodyMode, enableAuth, params, }: IGetHttpRequestArgs): IComputedHttpRequestArgs; protected applyPreRequestConfigHooks(requestParams: IGetHttpRequestArgs): Promise | undefined>; protected applyPreStreamRequestConfigHooks(requestParams: IGetHttpRequestArgs): void; protected applyPreRequestHooks(requestParams: IGetHttpRequestArgs, computedParams: IComputedHttpRequestArgs, requestOptions: Partial): Promise; protected applyPostRequestHooks(requestParams: IGetHttpRequestArgs, computedParams: IComputedHttpRequestArgs, requestOptions: Partial, response: TwitterResponse): Promise; protected applyResponseErrorHooks(requestParams: IGetHttpRequestArgs, computedParams: IComputedHttpRequestArgs, requestOptions: Partial, promise: Promise>): Promise>; }