import { CursoredData } from '../../models/data/CursoredData'; import { List } from '../../models/data/List'; import { Tweet } from '../../models/data/Tweet'; import { User } from '../../models/data/User'; import { RettiwtConfig } from '../../models/RettiwtConfig'; import { FetcherService } from './FetcherService'; export declare class ListService extends FetcherService { /** * @param config - The config object for configuring the Rettiwt instance. * * @internal */ constructor(config: RettiwtConfig); /** * Add a user as a member of a list. * * @param listId - The ID of the target list. * @param userId - The ID of the target user to be added as a member. * * @returns The new member count of the list. If adding was unsuccessful, return `undefined`. * * @example * * ```ts * import { Rettiwt } from 'rettiwt-api'; * * // Creating a new Rettiwt instance using the given 'API_KEY' * const rettiwt = new Rettiwt({ apiKey: API_KEY }); * * // Adding a user with ID '123456789' as a member to the list with ID '987654321' * rettiwt.list.addMember('987654321', '123456789') * .then(res => { * console.log(res); * }) * .catch(err => { * console.log(err); * }); * ``` */ addMember(listId: string, userId: string): Promise; /** * Get the details of a list. * * @param id - The ID of the target list. * * @returns * The details of the target list. * * If list not found, returns undefined. * * @example * * #### Fetching the details of a list * ```ts * import { Rettiwt } from 'rettiwt-api'; * * // Creating a new Rettiwt instance using the given 'API_KEY' * const rettiwt = new Rettiwt({ apiKey: API_KEY }); * * // Fetching the details of the list with the id '1234567890' * rettiwt.list.details('1234567890') * .then(res => { * console.log(res); * }) * .catch(err => { * console.log(err); * }); * ``` */ details(id: string): Promise; /** * Get the list of members of a tweet list. * * @param id - The ID of target list. * @param count - The number of members to fetch, must be \<= 100. * @param cursor - The cursor to the batch of members to fetch. * * @returns The list tweets in the given list. * * @example * * ```ts * import { Rettiwt } from 'rettiwt-api'; * * // Creating a new Rettiwt instance using the given 'API_KEY' * const rettiwt = new Rettiwt({ apiKey: API_KEY }); * * // Fetching the first 100 members of the Twitter list with id '1234567890' * rettiwt.list.members('1234567890') * .then(res => { * console.log(res); * }) * .catch(err => { * console.log(err); * }); * ``` * * @remarks Due a bug in Twitter API, the count is ignored when no cursor is provided and defaults to 100. */ members(id: string, count?: number, cursor?: string): Promise>; /** * Remove a member from a list. * * @param listId - The ID of the target list. * @param userId - The ID of the target user to removed from the members. * * @returns The new member count of the list. If removal was unsuccessful, return `undefined`. * * @example * * ```ts * import { Rettiwt } from 'rettiwt-api'; * * // Creating a new Rettiwt instance using the given 'API_KEY' * const rettiwt = new Rettiwt({ apiKey: API_KEY }); * * // Removing a user with ID '123456789' from the member of the list with ID '987654321' * rettiwt.list.removeMember('987654321', '123456789') * .then(res => { * console.log(res); * }) * .catch(err => { * console.log(err); * }); * ``` */ removeMember(listId: string, userId: string): Promise; /** * Get the list of tweets from a tweet list. * * @param id - The ID of target list. * @param count - The number of tweets to fetch, must be \<= 100. * @param cursor - The cursor to the batch of tweets to fetch. * * @returns The list tweets in the given list. * * @example * * ```ts * import { Rettiwt } from 'rettiwt-api'; * * // Creating a new Rettiwt instance using the given 'API_KEY' * const rettiwt = new Rettiwt({ apiKey: API_KEY }); * * // Fetching the most recent 100 tweets of the Twitter list with id '1234567890' * rettiwt.list.tweets('1234567890') * .then(res => { * console.log(res); * }) * .catch(err => { * console.log(err); * }); * ``` * * @remarks Due a bug in Twitter API, the count is ignored when no cursor is provided and defaults to 100. */ tweets(id: string, count?: number, cursor?: string): Promise>; }