declare const userBalanceStore: {
    /**
     * Get the user's Stacks address from Clerk's publicMetadata
     */
    getUserStacksAddress(userId: string): Promise<string | null>;
    /**
     * Fetch a user's on-chain balance from the contract
     */
    fetchContractBalance(user: string): Promise<number>;
    /**
     * Get user balance using their Clerk ID
     * Fetches directly from blockchain if Stacks address is available
     */
    getUserBalance(userId: string): Promise<{
        userId: string;
        availableBalance: number;
        totalDeposited: number;
        totalWithdrawn: number;
        inPredictions: number;
        lastUpdated: string;
        stacksAddress: string | null;
    } | null>;
    updateBalanceForPrediction(userId: string, amount: number): Promise<any>;
    updateBalanceForResolvedPrediction(userId: string, originalAmount: number, winnings?: number): Promise<any>;
    addFunds(userId: string, amount: number): Promise<any>;
    withdrawFunds(userId: string, amount: number): Promise<any>;
    refreshBalance(userId: string): Promise<{
        availableBalance: number;
        stacksAddress: string;
        lastUpdated: string;
        userId: string;
        totalDeposited: number;
        totalWithdrawn: number;
        inPredictions: number;
    }>;
};

export { userBalanceStore };
