import type { GetAchievementResponse, GetLeaderboardResponse, ListAchievementsResponse, ListLeaderboardsResponse, MyAchievementsResponse, MyLeaderboardsResponse, SetAchievementProgressRequest, SetAchievementProgressResponse, SubmitLeaderboardScoreRequest, SubmitLeaderboardScoreResponse, UnlockAchievementResponse } from '@playdrop/types';
type ApiResponseLike<T> = {
    status: number;
    body: T;
    headers: Headers;
};
type RequestExecutor = <T>(input: {
    method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
    path: string;
    body?: unknown;
    headers?: Record<string, string>;
    signal?: AbortSignal;
}) => Promise<ApiResponseLike<T>>;
type ErrorHandler = (response: ApiResponseLike<unknown>, defaultMessage: string) => never;
export declare function buildPlayerMetaApiClientMethods(input: {
    request: RequestExecutor;
    handleApiError: ErrorHandler;
}): {
    listAchievements(appId: number, options?: {
        includeHiddenDefinitions?: boolean;
        includeRetired?: boolean;
    }): Promise<ListAchievementsResponse>;
    getAchievement(appId: number, key: string, options?: {
        includeHiddenDefinitions?: boolean;
        includeRetired?: boolean;
    }): Promise<GetAchievementResponse>;
    unlockAchievement(appId: number, key: string): Promise<UnlockAchievementResponse>;
    setAchievementProgressAtLeast(appId: number, key: string, payload: SetAchievementProgressRequest): Promise<SetAchievementProgressResponse>;
    listLeaderboards(appId: number, options?: {
        includeRetired?: boolean;
    }): Promise<ListLeaderboardsResponse>;
    getLeaderboard(appId: number, key: string, options?: {
        top?: number;
        aroundMe?: number;
        includeRetired?: boolean;
    }): Promise<GetLeaderboardResponse>;
    submitLeaderboardScore(appId: number, key: string, payload: SubmitLeaderboardScoreRequest): Promise<SubmitLeaderboardScoreResponse>;
    fetchMyAchievements(): Promise<MyAchievementsResponse>;
    fetchMyLeaderboards(): Promise<MyLeaderboardsResponse>;
};
export {};
//# sourceMappingURL=player-meta.d.ts.map