import { LeaderboardRankingResponse, UploadScoreResponse } from './api/leaderboard'; import { UserAchievementResponse, UploadAchievementResponse } from './api/achievement'; import { GameDashboardClientOptions, LeaderboardConfig, GuestLeaderboardConfig, Scores, Achievements } from './utils/definitions'; export default class GameDashboardClient { private readonly baseURL; private readonly communityBaseURL; private readonly targetUserIriURL; private readonly token; private readonly tokenType; constructor(options: GameDashboardClientOptions); /** * get community display name * [VRCATR-46] authkey/token is no longer required to get display name */ private _getCommunityDisplayName; /** * get leaderboard ranking */ getLeaderboard(appID: string, config: LeaderboardConfig, token?: string): Promise; /** * get leaderboard ranking without login */ getGuestLeaderboard(appID: string, config: GuestLeaderboardConfig): Promise; /** * get session token and symmetric key to upload records */ private _getSessionToken; /** * upload user records * Request body should be encrypted */ uploadLeaderboardScore(appID: string, scores: Scores[], token?: string): Promise; /** * get user achievement */ getUserAchievement(appID: string, token?: string): Promise; /** * upload user achievements * Request body should be encrypted */ uploadUserAchievement(appID: string, achievements: Achievements[], token?: string): Promise; }