import type { HttpClient as Transport } from '../client/http.js'; import type { YahooLeagueResponseDto, YahooLeaguesResponseDto } from '../domain/normalized.js'; import { PlayersCollection } from './player.js'; import { type CollectionParams, type RequestState, Resource, type ResourceParams } from './resource.js'; import type { AppendResponsePath, RequireResponsePath, ResponsePath } from './response-contract.js'; import { TeamsCollection } from './team.js'; import { TransactionsCollection } from './transaction.js'; import type { LeagueKeyLike, PlayerKeyLike, TeamKeyLike, TransactionKeyLike } from './types.js'; declare const leagueSubResources: readonly ['settings', 'standings', 'scoreboard']; type LeagueSubResource = (typeof leagueSubResources)[number]; type LeagueExpansionField = T extends 'settings' | 'standings' | 'scoreboard' ? T : never; type LeagueExpansionPath = TSubResource extends TSubResource ? LeagueExpansionField extends infer TField extends string ? AppendResponsePath : never : never; type LeagueResourceParams = ResourceParams; type LeaguesCollectionParams = CollectionParams; declare abstract class LeagueBase extends Resource> { teams(...keys: TeamKeyLike[]): TeamsCollection>; teams(keys: TeamKeyLike[]): TeamsCollection>; players(...keys: PlayerKeyLike[]): PlayersCollection>; players(keys: PlayerKeyLike[]): PlayersCollection>; transactions(...keys: TransactionKeyLike[]): TransactionsCollection>; transactions(keys: TransactionKeyLike[]): TransactionsCollection>; } export declare class LeagueResource extends LeagueBase { static create(transport: Transport, state: RequestState, key: LeagueKeyLike): LeagueResource; include(...subResources: TSubResources): LeagueResource>; } export declare class LeaguesCollection extends LeagueBase { static create(transport: Transport, state: RequestState, keys?: LeagueKeyLike[]): LeaguesCollection; include(...subResources: TSubResources): LeaguesCollection>; } export {}; //# sourceMappingURL=league.d.ts.map