import TwitterApiv2ReadOnly from './client.v2.read'; import type { ListCreateV2Params, ListCreateV2Result, ListDeleteV2Result, ListFollowV2Result, ListMemberV2Result, ListPinV2Result, ListUpdateV2Params, ListUpdateV2Result, TweetV2DeleteTweetResult, SendTweetV2Params, TweetV2HideReplyResult, TweetV2LikeResult, TweetV2PostTweetResult, TweetV2RetweetResult, UserV2BlockResult, UserV2FollowResult, UserV2MuteResult, UserV2UnfollowResult, TweetV2BookmarkResult } from '../types'; import TwitterApiv2LabsReadWrite from '../v2-labs/client.v2.labs.write'; /** * Base Twitter v2 client with read/write rights. */ export default class TwitterApiv2ReadWrite extends TwitterApiv2ReadOnly { protected _prefix: string; protected _labs?: TwitterApiv2LabsReadWrite; /** * Get a client with only read rights. */ get readOnly(): TwitterApiv2ReadOnly; /** * Get a client for v2 labs endpoints. */ get labs(): TwitterApiv2LabsReadWrite; /** * Hides or unhides a reply to a Tweet. * https://developer.twitter.com/en/docs/twitter-api/tweets/hide-replies/api-reference/put-tweets-id-hidden */ hideReply(tweetId: string, makeHidden: boolean): Promise; /** * Causes the user ID identified in the path parameter to Like the target Tweet. * https://developer.twitter.com/en/docs/twitter-api/tweets/likes/api-reference/post-users-user_id-likes * * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API. */ like(loggedUserId: string, targetTweetId: string): Promise; /** * Allows a user or authenticated user ID to unlike a Tweet. * The request succeeds with no action when the user sends a request to a user they're not liking the Tweet or have already unliked the Tweet. * https://developer.twitter.com/en/docs/twitter-api/tweets/likes/api-reference/delete-users-id-likes-tweet_id * * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API. */ unlike(loggedUserId: string, targetTweetId: string): Promise; /** * Causes the user ID identified in the path parameter to Retweet the target Tweet. * https://developer.twitter.com/en/docs/twitter-api/tweets/retweets/api-reference/post-users-id-retweets * * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API. */ retweet(loggedUserId: string, targetTweetId: string): Promise; /** * Allows a user or authenticated user ID to remove the Retweet of a Tweet. * The request succeeds with no action when the user sends a request to a user they're not Retweeting the Tweet or have already removed the Retweet of. * https://developer.twitter.com/en/docs/twitter-api/tweets/retweets/api-reference/delete-users-id-retweets-tweet_id * * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API. */ unretweet(loggedUserId: string, targetTweetId: string): Promise; /** * Creates a Tweet on behalf of an authenticated user. * https://developer.twitter.com/en/docs/twitter-api/tweets/manage-tweets/api-reference/post-tweets */ tweet(status: string, payload?: Partial): Promise; tweet(payload: SendTweetV2Params): Promise; /** * Reply to a Tweet on behalf of an authenticated user. * https://developer.twitter.com/en/docs/twitter-api/tweets/manage-tweets/api-reference/post-tweets */ reply(status: string, toTweetId: string, payload?: Partial): Promise; /** * Quote an existing Tweet on behalf of an authenticated user. * https://developer.twitter.com/en/docs/twitter-api/tweets/manage-tweets/api-reference/post-tweets */ quote(status: string, quotedTweetId: string, payload?: Partial): Promise; /** * Post a series of tweets. * https://developer.twitter.com/en/docs/twitter-api/tweets/manage-tweets/api-reference/post-tweets */ tweetThread(tweets: (SendTweetV2Params | string)[]): Promise; /** * Allows a user or authenticated user ID to delete a Tweet * https://developer.twitter.com/en/docs/twitter-api/tweets/manage-tweets/api-reference/delete-tweets-id */ deleteTweet(tweetId: string): Promise; /** * Causes the user ID of an authenticated user identified in the path parameter to Bookmark the target Tweet provided in the request body. * https://developer.twitter.com/en/docs/twitter-api/tweets/bookmarks/api-reference/post-users-id-bookmarks * * OAuth2 scopes: `users.read` `tweet.read` `bookmark.write` */ bookmark(tweetId: string): Promise; /** * Allows a user or authenticated user ID to remove a Bookmark of a Tweet. * https://developer.twitter.com/en/docs/twitter-api/tweets/bookmarks/api-reference/delete-users-id-bookmarks-tweet_id * * OAuth2 scopes: `users.read` `tweet.read` `bookmark.write` */ deleteBookmark(tweetId: string): Promise; /** * Allows a user ID to follow another user. * If the target user does not have public Tweets, this endpoint will send a follow request. * https://developer.twitter.com/en/docs/twitter-api/users/follows/api-reference/post-users-source_user_id-following * * OAuth2 scope: `follows.write` * * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API. */ follow(loggedUserId: string, targetUserId: string): Promise; /** * Allows a user ID to unfollow another user. * https://developer.twitter.com/en/docs/twitter-api/users/follows/api-reference/delete-users-source_id-following * * OAuth2 scope: `follows.write` * * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API. */ unfollow(loggedUserId: string, targetUserId: string): Promise; /** * Causes the user (in the path) to block the target user. * The user (in the path) must match the user context authorizing the request. * https://developer.twitter.com/en/docs/twitter-api/users/blocks/api-reference/post-users-user_id-blocking * * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API. */ block(loggedUserId: string, targetUserId: string): Promise; /** * Allows a user or authenticated user ID to unblock another user. * https://developer.twitter.com/en/docs/twitter-api/users/blocks/api-reference/delete-users-user_id-blocking * * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API. */ unblock(loggedUserId: string, targetUserId: string): Promise; /** * Allows an authenticated user ID to mute the target user. * https://developer.twitter.com/en/docs/twitter-api/users/mutes/api-reference/post-users-user_id-muting * * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API. */ mute(loggedUserId: string, targetUserId: string): Promise; /** * Allows an authenticated user ID to unmute the target user. * The request succeeds with no action when the user sends a request to a user they're not muting or have already unmuted. * https://developer.twitter.com/en/docs/twitter-api/users/mutes/api-reference/delete-users-user_id-muting * * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API. */ unmute(loggedUserId: string, targetUserId: string): Promise; /** * Creates a new list for the authenticated user. * https://developer.twitter.com/en/docs/twitter-api/lists/manage-lists/api-reference/post-lists */ createList(options: ListCreateV2Params): Promise; /** * Updates the specified list. The authenticated user must own the list to be able to update it. * https://developer.twitter.com/en/docs/twitter-api/lists/manage-lists/api-reference/put-lists-id */ updateList(listId: string, options?: ListUpdateV2Params): Promise; /** * Deletes the specified list. The authenticated user must own the list to be able to destroy it. * https://developer.twitter.com/en/docs/twitter-api/lists/manage-lists/api-reference/delete-lists-id */ removeList(listId: string): Promise; /** * Adds a member to a list. * https://developer.twitter.com/en/docs/twitter-api/lists/manage-lists/api-reference/post-lists-id-members */ addListMember(listId: string, userId: string): Promise; /** * Remember a member to a list. * https://developer.twitter.com/en/docs/twitter-api/lists/manage-lists/api-reference/delete-lists-id-members-user_id */ removeListMember(listId: string, userId: string): Promise; /** * Subscribes the authenticated user to the specified list. * https://developer.twitter.com/en/docs/twitter-api/lists/manage-lists/api-reference/post-users-id-followed-lists */ subscribeToList(loggedUserId: string, listId: string): Promise; /** * Unsubscribes the authenticated user to the specified list. * https://developer.twitter.com/en/docs/twitter-api/lists/manage-lists/api-reference/delete-users-id-followed-lists-list_id */ unsubscribeOfList(loggedUserId: string, listId: string): Promise; /** * Enables the authenticated user to pin a List. * https://developer.twitter.com/en/docs/twitter-api/lists/manage-lists/api-reference/post-users-id-pinned-lists */ pinList(loggedUserId: string, listId: string): Promise; /** * Enables the authenticated user to unpin a List. * https://developer.twitter.com/en/docs/twitter-api/lists/manage-lists/api-reference/delete-users-id-pinned-lists-list_id */ unpinList(loggedUserId: string, listId: string): Promise; }