import { Long } from 'bson'; import { SessionWebClient } from './web-client'; import { WebApiConfig } from '../config'; import { OAuthCredential } from '../oauth'; import { AsyncCommandResult, DefaultRes } from '../request'; import { FriendFindIdStruct, FriendFindUUIDStruct, FriendListStruct, FriendReqPhoneNumberStruct, FriendReqStruct, FriendSearchStruct, LessSettingsStruct, LoginTokenStruct, MoreSettingsStruct, ProfileReqStruct } from './struct'; export declare class ServiceApiClient { private _client; constructor(client: SessionWebClient); get config(): WebApiConfig; set config(config: WebApiConfig); /** * Request more settings. Official client sends this after login * * @param {any} since Unknown */ requestMoreSettings(since?: number): AsyncCommandResult; /** * Request simplified settings. Official client sends this after login * * @param {any} since Unknown */ requestLessSettings(since?: number): AsyncCommandResult; updateSettings(settings: Partial): AsyncCommandResult; /** * Get one time web login token. * * Use @method requestSessionURL to get complete url. */ requestWebLoginToken(): AsyncCommandResult; /** * Create session url. Redirect to redirectURL with session info included. * * @param {string} redirectURL */ requestSessionURL(redirectURL: string): AsyncCommandResult; canChangeUUID(uuid: string): AsyncCommandResult; changeUUID(uuid: string): AsyncCommandResult; addFriend(id: Long, pa?: string): AsyncCommandResult; addFriendWithPhoneNumber(nickname: string, countryIso: string, countryCode: string, phoneNumber: string): AsyncCommandResult; removeFriend(id: Long): AsyncCommandResult; removeFriendList(idList: Long[]): AsyncCommandResult; hideFriend(id: Long, pa?: string): AsyncCommandResult; unhideFriend(id: Long): AsyncCommandResult; searchFriends(query: string, pageNum?: number, pageSize?: number): AsyncCommandResult; findFriendById(id: Long): AsyncCommandResult; findFriendByUUID(uuid: string): AsyncCommandResult; requestFriendList(types?: string[], eventTypes?: string[], token?: Long): AsyncCommandResult; setNickname(id: Long, nickname: string): AsyncCommandResult; addFavoriteFriends(idList: Long[]): AsyncCommandResult; removeFavoriteFriend(id: Long): AsyncCommandResult; requestMusicList(id: Long): AsyncCommandResult; requestMyProfile(): AsyncCommandResult; requestProfile(id: Long): AsyncCommandResult; getPreviewURL(url: string): AsyncCommandResult; private getAccountApiPath; private getFriendsApiPath; private getProfileApiPath; private getProfile3ApiPath; private getScrapApiPath; /** * Create default AccountClient using credential and config. * * @param {OAuthCredential} credential * @param {Partial} config */ static create(credential: OAuthCredential, config?: Partial): Promise; static createSessionURL(token: string, redirectURL: string): string; }