import { Bet } from '../database/entities/Bet';
export interface ProposeBetResult {
    success: boolean;
    error?: string;
    bet?: Bet;
}
export declare function proposeBet(guildId: string, creatorId: string, opponentId: string, description: string, stakeAmount: number): Promise<ProposeBetResult>;
export declare function acceptBet(betId: number, userId: string): Promise<{
    success: boolean;
    error?: string;
}>;
export declare function declineBet(betId: number, userId: string): Promise<{
    success: boolean;
    error?: string;
}>;
export declare function declareWinner(betId: number, declarerId: string, winnerId: string): Promise<{
    success: boolean;
    error?: string;
}>;
export declare function confirmOutcome(betId: number, userId: string): Promise<{
    success: boolean;
    error?: string;
    winnerId?: string;
    payout?: number;
}>;
export declare function disputeBet(betId: number, userId: string): Promise<{
    success: boolean;
    error?: string;
}>;
export declare function adminResolveBet(betId: number, winnerId: string | null, adminId: string): Promise<{
    success: boolean;
    error?: string;
}>;
export declare function cancelBet(betId: number): Promise<{
    success: boolean;
    error?: string;
}>;
export declare function getBet(id: number): Promise<Bet | null>;
export declare function listPendingBetsForUser(guildId: string, userId: string): Promise<Bet[]>;
export declare function listActiveBetsForUser(guildId: string, userId: string): Promise<Bet[]>;
export declare function listOutgoingBetsForUser(guildId: string, userId: string): Promise<Bet[]>;
export declare function listDisputedBets(guildId: string): Promise<Bet[]>;
export declare function isParticipant(bet: Bet, userId: string): boolean;
export declare function getOtherParticipant(bet: Bet, userId: string): string;
export declare function needsConfirmationFrom(bet: Bet, userId: string): boolean;
export declare function expirePendingBets(): Promise<number>;
//# sourceMappingURL=betService.d.ts.map