import { Address } from "@project-serum/anchor";
import { PointsLeaderboardWithUserInfo, ReferralsUser, ReferralsUserUi, UserPointsBalances, PointsQueryParams } from "./types";
import { PointsLeaderboardResponse } from "./types/responseTypes";
export declare class Points {
    baseUrl: string;
    private headers;
    private client;
    constructor(baseUrl: string, accessToken?: string);
    getLeaderboard(refresh?: boolean): Promise<PointsLeaderboardResponse>;
    getLeaderboardWithUserInfo(user: Address, refresh?: boolean): Promise<PointsLeaderboardWithUserInfo>;
    getUserPointsBalances(user: Address): Promise<UserPointsBalances>;
    getUserPointsBalance(user: Address): Promise<string>;
    isRegistered({ user, isForPerpetualPoints }: PointsQueryParams): Promise<boolean>;
    register({ user, isForPerpetualPoints }: PointsQueryParams, accessToken?: string): Promise<boolean>;
    generateReferralCode(user: Address, referralCode: string, accessToken?: string): Promise<ReferralsUser>;
    useReferralCode(user: Address, referralCode: string, accessToken?: string): Promise<ReferralsUser>;
    getReferralsUserInfo(user: Address, accessToken?: string): Promise<ReferralsUserUi>;
    getUserReferredByCode(user: Address): Promise<string | undefined>;
}
//# sourceMappingURL=points.d.ts.map