import type { TournamentWindowBlackoutPeriod, TournamentWindowData, TournamentWindowMetadata, TournamentWindowScoreLocation, TournamentWindowTemplateData, TournamentWindowTemplatePayoutTable, TournamentWindowTemplateScoringRule, TournamentWindowTemplateTiebreakFormula } from '../../resources/httpResponses';
import type Tournament from './Tournament';
/**
 * Represents a Fortnite tournament window
 */
declare class TournamentWindow {
    /**
     * The tournament this window belongs to
     */
    tournament: Tournament;
    /**
     * The tournament window ID
     */
    id: string;
    /**
     * The count down begin date
     */
    countdownBeginTime: Date;
    /**
     * The tournament windows's begin time
     */
    beginTime: Date;
    /**
     * The tournament windows's end time
     */
    endTime: Date;
    /**
     * The blackout periods
     */
    blackoutPeriods: TournamentWindowBlackoutPeriod[];
    /**
     * The round number
     */
    round: number;
    /**
     * The payout delay
     */
    payoutDelay: number;
    /**
     * Whether this tournament window is TBD
     */
    isTBD: boolean;
    /**
     * Whether live spectating is enabled for this tournament window
     */
    canLiveSpectate: boolean;
    /**
     * The score locations
     */
    scoreLocations: TournamentWindowScoreLocation[];
    /**
     * The tournament window's visibility
     */
    visibility: string;
    /**
     * All required tokens to participate in this tournament window
     */
    requireAllTokens: string[];
    /**
     * Any tokens required to participate in this tournament window
     */
    requireAnyTokens: string[];
    /**
     * requireNoneTokensCaller
     */
    requireNoneTokensCaller: string[];
    /**
     * requireAllTokensCaller
     */
    requireAllTokensCaller: any[];
    /**
     * requireAnyTokensCaller
     */
    requireAnyTokensCaller: any[];
    /**
     * Additional requirements to participate in this tournament window
     */
    additionalRequirements: string[];
    /**
     * The team mate eligibility
     */
    teammateEligibility: string;
    /**
     * The tournament window's meta data
     */
    metadata: TournamentWindowMetadata;
    /**
     * The tournament windows's playlist id
     */
    playlistId?: string;
    /**
     * The tournament window's match cap
     */
    matchCap?: number;
    /**
     * The tournament windows's live session attributes
     */
    liveSessionAttributes?: string[];
    /**
     * The tournament windows's scoring rules
     */
    scoringRules?: TournamentWindowTemplateScoringRule[];
    /**
     * The tournament window's tiebreaker formula
     */
    tiebreakerFormula?: TournamentWindowTemplateTiebreakFormula;
    /**
     * The tournament window's payout table
     */
    payoutTable?: TournamentWindowTemplatePayoutTable[];
    /**
     * @param tournament The tournament this window belongs to
     * @param windowData The tournament window's data
     * @param tournamentWindowTemplateData The tournament window's template data
     */
    constructor(tournament: Tournament, windowData: TournamentWindowData, tournamentWindowTemplateData?: TournamentWindowTemplateData);
    /**
     * Fetches the results for this tournament window
     * @param page The results page index
     * @param showLiveSessions Whether to show live sessions
     */
    getResults(page?: number, showLiveSessions?: boolean): Promise<import("../../resources/httpResponses").TournamentWindowResults>;
}
export default TournamentWindow;
