import { PredictionsService } from './predictions.service';
import { CreatePredictionDto } from './dto/create-prediction.dto';
export declare class PredictionsController {
    private predictionsService;
    constructor(predictionsService: PredictionsService);
    createOrUpdatePrediction(dto: CreatePredictionDto, req: any): Promise<{
        match: {
            homeTeam: {
                id: string;
                name: string;
                code: string;
                flagUrl: string | null;
                flagEmoji: string | null;
            };
            awayTeam: {
                id: string;
                name: string;
                code: string;
                flagUrl: string | null;
                flagEmoji: string | null;
            };
        } & {
            id: string;
            status: import(".prisma/client").$Enums.MatchStatus;
            stageId: string;
            groupId: string | null;
            matchNumber: number;
            homeTeamId: string | null;
            awayTeamId: string | null;
            homeFromMatchId: string | null;
            homeFromSide: import(".prisma/client").$Enums.MatchSide | null;
            awayFromMatchId: string | null;
            awayFromSide: import(".prisma/client").$Enums.MatchSide | null;
            scheduledAt: Date | null;
            homeScore: number | null;
            awayScore: number | null;
            apiFootballId: string | null;
        };
    } & {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        userId: string;
        homeScore: number;
        awayScore: number;
        matchId: string;
        winnerId: string | null;
        points: number | null;
        lockedAt: Date | null;
    }>;
    getPredictionsByUser(userId: string, tournamentId?: string): Promise<({
        match: {
            homeTeam: {
                id: string;
                name: string;
                code: string;
                flagUrl: string | null;
                flagEmoji: string | null;
            };
            awayTeam: {
                id: string;
                name: string;
                code: string;
                flagUrl: string | null;
                flagEmoji: string | null;
            };
        } & {
            id: string;
            status: import(".prisma/client").$Enums.MatchStatus;
            stageId: string;
            groupId: string | null;
            matchNumber: number;
            homeTeamId: string | null;
            awayTeamId: string | null;
            homeFromMatchId: string | null;
            homeFromSide: import(".prisma/client").$Enums.MatchSide | null;
            awayFromMatchId: string | null;
            awayFromSide: import(".prisma/client").$Enums.MatchSide | null;
            scheduledAt: Date | null;
            homeScore: number | null;
            awayScore: number | null;
            apiFootballId: string | null;
        };
    } & {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        userId: string;
        homeScore: number;
        awayScore: number;
        matchId: string;
        winnerId: string | null;
        points: number | null;
        lockedAt: Date | null;
    })[]>;
    getPredictionsByMatch(matchId: string): Promise<({
        user: {
            username: string;
            id: string;
            displayName: string;
        };
    } & {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        userId: string;
        homeScore: number;
        awayScore: number;
        matchId: string;
        winnerId: string | null;
        points: number | null;
        lockedAt: Date | null;
    })[]>;
}
