import { MatchesService } from './matches.service';
export declare class MatchesController {
    private matchesService;
    constructor(matchesService: MatchesService);
    getMatchesByTournament(tournamentId: string): Promise<({
        stage: {
            id: string;
            name: string;
            tournamentId: string;
            type: import(".prisma/client").$Enums.StageType;
            order: number;
        };
        group: {
            id: string;
            name: string;
            stageId: string;
        };
        predictions: {
            id: string;
            userId: string;
            homeScore: number;
            awayScore: number;
            points: number;
        }[];
        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;
    })[]>;
    getMatch(id: string): Promise<{
        predictions: ({
            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;
        })[];
        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;
    }>;
    updateMatchScore(id: string, data: {
        homeScore: number;
        awayScore: number;
    }): Promise<{
        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;
    }>;
}
