import { CursoredData } from '../../models/data/CursoredData'; import { Tweet } from '../../models/data/Tweet'; import { User } from '../../models/data/User'; import { BrowserFetcherService } from './BrowserFetcherService'; import { BrowserRettiwtConfig } from '../config/BrowserRettiwtConfig'; /** * Browser-compatible user service. * Handles interacting with resources related to user account. * * @public */ export declare class BrowserUserService extends BrowserFetcherService { /** * @param config - The browser config object for configuring the Rettiwt instance. */ constructor(config: BrowserRettiwtConfig); /** * Get the details of the currently logged in user. * * @returns The details of the logged in user. */ details(): Promise; /** * Get the details of a user by username. * * @param id - The username of the target user. * @returns The details of the user. */ detailsByUserName(id: string): Promise; /** * Get the details of a user by ID. * * @param id - The ID of the target user. * @returns The details of the user. */ detailsById(id: string): Promise; /** * Get the list of users following a user. * * @param id - The ID of the target user. * @param count - The number of followers to fetch, must be <= 100. * @param cursor - The cursor to the batch of followers to fetch. * @returns The list of users following the target user. */ followers(id: string, count?: number, cursor?: string): Promise>; /** * Get the list of users followed by a user. * * @param id - The ID of the target user. * @param count - The number of following to fetch, must be <= 100. * @param cursor - The cursor to the batch of following to fetch. * @returns The list of users followed by the target user. */ following(id: string, count?: number, cursor?: string): Promise>; /** * Get the list of tweets liked by a user. * * @param id - The ID of the target user. * @param count - The number of likes to fetch, must be <= 100. * @param cursor - The cursor to the batch of likes to fetch. * @returns The list of tweets liked by the target user. */ likes(id: string, count?: number, cursor?: string): Promise>; /** * Get the timeline of a user. * * @param id - The ID of the target user. * @param count - The number of tweets to fetch, must be <= 100. * @param cursor - The cursor to the batch of tweets to fetch. * @returns The timeline of the target user. */ timeline(id: string, count?: number, cursor?: string): Promise>; /** * Follow a user. * * @param id - The ID of the user to follow. * @returns Whether the follow was successful. */ follow(id: string): Promise; /** * Unfollow a user. * * @param id - The ID of the user to unfollow. * @returns Whether the unfollow was successful. */ unfollow(id: string): Promise; /** * Search for users. * * @param query - The search query. * @param count - The number of users to fetch. * @param cursor - The cursor for pagination. * @returns The list of users matching the query. */ search(userName: string, count?: number, cursor?: string): Promise>; /** * Get the bookmarks of the logged in user. * * @param count - The number of bookmarks to fetch, must be <= 100. * @param cursor - The cursor to the batch of bookmarks to fetch. * @returns The list of bookmarked tweets. */ bookmarks(count?: number, cursor?: string): Promise>; }