import BaseAPI from "./BaseAPI"; import Client from "../Client"; export type ValidateDisplayNameNewUserOptions = { displayName: string; birthdate: string; }; export type ValidateDisplayNameNewUser = unknown; export type ValidateDisplayNameExistingUserOptions = { userId: number; displayName: string; }; export type ValidateDisplayNameExistingUser = unknown; export type SetSelfDisplayNameOptions = { userId: number; newDisplayName: string; }; export type SetSelfDisplayName = unknown; export type GetUserByIdOptions = { userId: number; }; export type GetUserById = { description: string; created: string; isBanned: boolean; id: number; name: string; displayName: string; }; export type GetSelfAuthenticatedUserInformation = { id: number; name: string; displayName: string; }; export type GetUsersByUsernamesOptions = { usernames: string[]; excludeBannedUsers?: boolean; }; export type GetUsersByUsernames = { data: { requestedUsername: string; id: number; name: string; displayName: string; }[]; }; export type GetUsersByUserIdsOptions = { userIds: number[]; excludeBannedUsers?: boolean; }; export type GetUsersByUserIds = { data: Omit[]; }; export type GetUserStatusOptions = { userId: number; }; export type GetUserStatus = { status: string; }; export type UpdateSelfStatusOptions = { userId: number; status: string; }; export type UpdateSelfStatus = { status: string; }; export type SearchUsersOptions = { keyword: string; limit?: 10 | 25 | 50 | 100; cursor?: string; }; export type SearchUsers = { previousPageCursor: string; nextPageCursor: string; data: { previousUsernames: string[]; id: number; name: string; displayName: string; }[]; }; export default class UsersAPI extends BaseAPI { constructor(client: Client); validateDisplayNameNewUser(options: ValidateDisplayNameNewUserOptions): Promise; validateDisplayNameExistingUser(options: ValidateDisplayNameExistingUserOptions): Promise; setDisplayName(options: SetSelfDisplayNameOptions): Promise; getUserById(options: GetUserByIdOptions): Promise; getAuthenticatedUserInformation(): Promise; getUsersByUsernames(options: GetUsersByUsernamesOptions): Promise; getUsersByIds(options: GetUsersByUserIdsOptions): Promise; getUserStatus(options: GetUserStatusOptions): Promise; updateStatus(options: UpdateSelfStatusOptions): Promise; searchUsers(options: SearchUsersOptions): Promise; }