import { Player } from "../../core/Player";
import { ServerTransportModule } from "../ServerTransportModule";
/**
 * A basic in-memory implementation of the ServerTransportModule.
 * This is provided as an example and for testing - in a real application,
 * you would likely connect to an external service or database.
 */
export declare class BasicServerTransportModule implements ServerTransportModule {
    private playerBalances;
    private bets;
    /**
     * Get the current balance for a player
     * @param player The player to check balance for
     * @returns A promise that resolves to the player's balance
     */
    getPlayerBalance(player: Player): Promise<number>;
    /**
     * Set a player's balance to a specific amount
     * @param playerId The ID of the player
     * @param amount The amount to set the balance to
     */
    setPlayerBalance(playerId: string, amount: number): void;
    /**
     * Create a bet for a player
     * @param player The player making the bet
     * @param amount The amount of the bet
     * @param metadata Any additional information about the bet
     * @returns A promise that resolves to a bet ID if successful
     */
    createBet(player: Player, amount: number, metadata?: Record<string, any>): Promise<string>;
    /**
     * Mark a bet as won and award the player
     * @param betId The ID of the bet to mark as won
     * @param winAmount The amount the player won
     * @param metadata Any additional information about the win
     * @returns A promise that resolves to true if successful
     */
    markBetWon(betId: string, winAmount: number, metadata?: Record<string, any>): Promise<boolean>;
    /**
     * Mark a bet as lost
     * @param betId The ID of the bet to mark as lost
     * @param metadata Any additional information about the loss
     * @returns A promise that resolves to true if successful
     */
    markBetLost(betId: string, metadata?: Record<string, any>): Promise<boolean>;
    /**
     * Get all bets for a player
     * @param playerId The ID of the player
     * @returns An array of bets for the player
     */
    getPlayerBets(playerId: string): Array<{
        id: string;
        bet: any;
    }>;
}
