import { Address } from "@project-serum/anchor";
import { PublicKey } from "@solana/web3.js";
import { Env } from "./types";
export declare class PointsSeason3 {
    private headers;
    private expressClient;
    constructor(env?: Env);
    isParticipant({ publicKey }: {
        publicKey: PublicKey;
    }): Promise<boolean>;
    getPointsBreakdown({ publicKey }: {
        publicKey: PublicKey;
    }): Promise<PPPS3UserBreakdown>;
    getLeaderboard(): Promise<PointsSeason3Leaderboard>;
    getUserLeaderboardInfo({ publicKey, }: {
        publicKey: Address;
    }): Promise<PPPS3LeaderboardInfo>;
    participate({ user }: {
        user: PublicKey;
    }): Promise<{
        id: number;
        address: string;
        byteAddress: string;
        joinedAt: string;
    }>;
}
type PPPS3UserBreakdown = {
    userAddress: string;
    date: string;
    totalBoost: string;
    dailyBoostedPoints: string;
    dailyBoostedMarginCollateralPoints: string;
    dailyBoostedFeePoints: string;
    dailyBoostedPricePnlPoints: string;
    dailyBoostedFundingPnlPoints: string;
    dailyBoostedLpPoints: string;
    dailyBoostedLiquidationPoints: string;
    stakedPrclBoost: string;
    hoaBoost: string;
    dailyStakedBalance: string;
    dailyHoaHoldings: string;
    tvl: string;
    dailyFees: string;
    tradeCount: number;
    dailyLpDeposits: string;
    dailyLpWithdraws: string;
    liquidationCount: number;
    cumulativeMarginBalance: string;
    cumulativeLpShares: string;
}[];
type PointsSeason3Leaderboard = {
    participantCount: number;
    leaderboard: {
        rank: number;
        totalBoostedPoints: number;
        totalBoostedMarginCollateralPoints: number;
        totalBoostedFeePoints: number;
        totalBoostedPricePnlPoints: number;
        totalBoostedFundingPnlPoints: number;
        totalBoostedLpPoints: number;
        totalBoostedLiquidationPoints: number;
        latestHoaBoost: number;
        latestStakedPrclBoost: number;
        latestHoaCount: number;
        latestStakedPrcl: number;
        userAddress: string;
        totalBoost: number;
    }[];
};
type PPPS3LeaderboardInfo = {
    rank: number;
    totalBoostedPoints: number;
    totalBoostedMarginCollateralPoints: number;
    totalBoostedFeePoints: number;
    totalBoostedPricePnlPoints: number;
    totalBoostedFundingPnlPoints: number;
    totalBoostedLpPoints: number;
    totalBoostedLiquidationPoints: number;
    latestHoaBoost: number;
    latestStakedPrclBoost: number;
    latestHoaCount: number;
    latestStakedPrcl: number;
    userAddress: string;
    totalBoost: number;
};
export {};
//# sourceMappingURL=pointsSeason3.d.ts.map