import { HttpClient, HttpParams } from '@angular/common/http'; import { MediaItem } from '../models/media-item'; import { Game, GameStatuses } from '../models/game'; import { PaginatedResponse } from './paginated-response.interface'; import { ConfigService } from '../services/config.service'; import { TournamentGamesFilters } from './tournament-api'; export interface GameMediaFilters extends TournamentGamesFilters { mediaCount?: number; } export interface MediaFilters { mediaType?: 'photo' | 'video' | 'live_video'; sort?: string; teamId?: number; statuses?: GameStatuses[]; } export declare class MediaApi { private httpClient; private configService; constructor(httpClient: HttpClient, configService: ConfigService); getMedia(mediaId: number): Promise; getTournamentGameMedia(tournamentId: number, page: number, size: number, filters?: GameMediaFilters): Promise>; getLeagueGameMedia(leagueId: number, page: number, size: number, filters?: GameMediaFilters): Promise>; getLeagueMedia(leagueId: number, page: number, size: number, filters?: MediaFilters): Promise>; getGameMediaById(gameId: number): Promise; getGameMedia(gameId: number): Promise; createZip(mediaIds: number[]): Promise; downloadMedia(mediaId: number): Promise; } export declare function applyGameMediaFilters(filters: GameMediaFilters, params: HttpParams): HttpParams;