import { EMediaType, IExtendedMedia as IRawExtendedMedia, ITweet as IRawTweet, IEntities as IRawTweetEntities } from 'rettiwt-core'; import { User } from './User'; /** * The details of a single tweet. * * @public */ export declare class Tweet { /** The number of bookmarks of a tweet. */ bookmarkCount: number; /** The date and time of creation of the tweet, in UTC string format. */ createdAt: string; /** Additional tweet entities like urls, mentions, etc. */ entities: TweetEntities; /** The full text content of the tweet. */ fullText: string; /** The rest id of the tweet. */ id: string; /** The language in which the tweet is written. */ lang: string; /** The number of likes of the tweet. */ likeCount: number; /** The urls of the media contents of the tweet (if any). */ media?: TweetMedia[]; /** The number of quotes of the tweet. */ quoteCount: number; /** The tweet which is quoted in the tweet. */ quoted?: Tweet; /** The number of replies to the tweet. */ replyCount: number; /** The rest id of the tweet to which the tweet is a reply. */ replyTo?: string; /** The number of retweets of the tweet. */ retweetCount: number; /** The tweet which is retweeted in this tweet (if any). */ retweetedTweet?: Tweet; /** The details of the user who made the tweet. */ tweetBy: User; /** The number of views of a tweet. */ viewCount: number; /** * @param tweet - The raw tweet details. */ constructor(tweetObject: IRawTweet | { limitedActionResults: object; tweet: IRawTweet; }); /** * Extracts and deserializes the list of tweets from the given raw response data. * * @param response - The raw response data. * * @returns The deserialized list of tweets. * * @internal */ static list(response: NonNullable): Tweet[]; /** * Extracts and deserializes a single target tweet from the given raw response data. * * @param response - The raw response data. * @param id - The id of the target tweet. * * @returns The target deserialized tweet. * * @internal */ static single(response: NonNullable, id: string): Tweet | undefined; } /** * The different types parsed entities like urls, media, mentions, hashtags, etc. * * @public */ export declare class TweetEntities { /** The list of hashtags mentioned in the tweet. */ hashtags: string[]; /** The list of IDs of users mentioned in the tweet. */ mentionedUsers: string[]; /** The list of urls mentioned in the tweet. */ urls: string[]; /** * @param entities - The raw tweet entities. */ constructor(entities: IRawTweetEntities); } /** * The details of a single media content included in a tweet. * * @public */ export declare class TweetMedia { /** The type of media. */ type: EMediaType; /** The direct URL to the media. */ url: string; /** * @param media - The raw media details. */ constructor(media: IRawExtendedMedia); }