import { AxiosRequestConfig } from 'axios'; import { Authflow } from 'prismarine-auth'; import { RESTXblmessageInboxResponse } from './types/xblmessaging'; import { SessionRequest, RESTSessionResponse, SessionHandlePayload } from './types/sessiondirectory'; import { RESTSocialPostBulkFriendRequestResponse } from './types/social'; type RequestHeaders = { [x: string]: string | boolean | number | undefined; }; type MethodRequestConfig = { relyingParty?: string; contractVersion?: string; params?: AxiosRequestConfig['params']; data?: AxiosRequestConfig['data']; headers?: RequestHeaders; }; type RequestConfig = MethodRequestConfig & { url: string; }; export default class Rest { auth: Authflow; options: { headers?: RequestHeaders; }; constructor(authflow: Authflow, options?: {}); get(url: string, config?: MethodRequestConfig): Promise; post(url: string, config?: MethodRequestConfig): Promise; put(url: string, config?: MethodRequestConfig): Promise; delete(url: string, config?: MethodRequestConfig): Promise; _request(method: 'GET' | 'POST' | 'PUT' | 'DELETE', config: RequestConfig): Promise; sendHandle(payload: SessionHandlePayload): Promise; setActivity(sessionName: string): Promise; sendInvite(sessionName: string, xuid: string): Promise; getSession(sessionName: string): Promise; updateSession(sessionName: string, payload: SessionRequest): Promise; updateMemberCount(sessionName: string, count: number, maxCount?: number): Promise; addConnection(sessionName: string, xuid: string, connectionId: string, subscriptionId: string): Promise; updateConnection(sessionName: string, connectionId: string): Promise; leaveSession(sessionName: string): Promise; getProfile(input: string): Promise; getProfiles(xuids: string[]): Promise; getXboxFriends(): Promise; getXboxFollowers(): Promise; getFriendRequestsReceived(): Promise; acceptFriendRequests(xuids: string[]): Promise; declineFriendRequests(xuids: string[]): Promise; addXboxFriend(xuid: string): Promise; removeXboxFriend(xuid: string): Promise; getInboxMessages(inbox: 'primary' | 'secondary'): Promise; setPresence(xuid: string): Promise; } export {};