UNPKG

@trophyso/node

Version:
46 lines (45 loc) 1.68 kB
/** * This file was auto-generated by Fern from our API Definition. */ import * as environments from "../../../../environments"; import * as core from "../../../../core"; import * as TrophyApi from "../../.."; export declare namespace Achievements { interface Options { environment?: core.Supplier<environments.TrophyApiEnvironment | string>; apiKey: core.Supplier<string>; } interface RequestOptions { timeoutInSeconds?: number; maxRetries?: number; } } export declare class Achievements { protected readonly _options: Achievements.Options; constructor(_options: Achievements.Options); /** * Get all achievements and their completion stats. * @throws {@link TrophyApi.UnauthorizedError} * @throws {@link TrophyApi.NotFoundError} * @throws {@link TrophyApi.UnprocessableEntityError} * * @example * await trophyApi.achievements.all() */ all(requestOptions?: Achievements.RequestOptions): Promise<TrophyApi.AchievementWithStatsResponse[]>; /** * Mark an achievement as completed for a user. * @throws {@link TrophyApi.UnauthorizedError} * @throws {@link TrophyApi.NotFoundError} * @throws {@link TrophyApi.UnprocessableEntityError} * * @example * await trophyApi.achievements.complete("finish-onboarding", { * user: { * email: "user@example.com", * tz: "Europe/London" * } * }) */ complete(key: string, request: TrophyApi.AchievementsCompleteRequest, requestOptions?: Achievements.RequestOptions): Promise<TrophyApi.AchievementCompletionResponse>; }