import Base from '../Base';
import EventTokens from '../structures/EventTokens';
import Tournament from '../structures/Tournament';
import type { FullPlatform, Region, TournamentSessionMetadata } from '../../resources/structs';
import type { TournamentWindowResults } from '../../resources/httpResponses';
/**
 * Represent's the client's tournament manager.
 */
declare class TournamentManager extends Base {
    /**
     * Downloads a file from the CDN (used for replays)
     * @param url The URL of the file to download
     * @param responseType The response type
     */
    private downloadReplayCDNFile;
    /**
     * Fetches the event tokens for an account.
     * This can be used to check if a user is eligible to play a certain tournament window
     * or to check a user's arena division in any season
     * @param user The id(s) or display name(s) of the user(s)
     * @throws {UserNotFoundError} The user wasn't found
     * @throws {EpicgamesAPIError}
     */
    getEventTokens(user: string | string[]): Promise<EventTokens[]>;
    /**
     * Fetches the current and past Battle Royale tournaments
     * @param region The region
     * @param platform The platform
     * @throws {EpicgamesAPIError}
     */
    get(region?: Region, platform?: FullPlatform): Promise<Tournament[]>;
    getData(): Promise<Tournament[]>;
    /**
     * Fetches a tournament session's metadata
     * @param sessionId The session ID
     * @throws {MatchNotFoundError} The match wasn't found
     * @throws {EpicgamesAPIError}
     * @throws {Error}
     */
    getSessionMetadata(sessionId: string): Promise<TournamentSessionMetadata>;
    /**
     * Fetches the results for a tournament window
     * @param eventId The tournament's ID
     * @param eventWindowId The tournament window's ID
     * @param showLiveSessions Whether to show live sessions
     * @param page The results page index
     * @throws {EpicgamesAPIError}
     */
    getWindowResults(eventId: string, eventWindowId: string, showLiveSessions?: boolean, page?: number): Promise<TournamentWindowResults>;
}
export default TournamentManager;
