/** The sport a tenant plays: what decides the surface a place offers for it (`surfaceOf`). */ export type TenantSport = "baseball" | "soccer" | "american-football" | "canadian-football" | "basketball" | "ice-hockey" | "rugby-union" | "rugby-league" | "australian-football" | "lacrosse" | "cricket"; /** The article of English Wikipedia, at a revision, that a place's tenants were read from. */ export interface TenantArticle { title: string; revision: number; } /** Where a tenant was read. */ export interface TenantSource { /** The Wikidata statement that names the club as a tenant (CC0): `P466` (the place lists the club as an occupant), `P115` (the club lists the place as its home venue), or both. Absent where only the article names it. */ wikidata?: "P466" | "P115" | "P466 P115"; /** The article and revision of English Wikipedia (CC BY-SA 4.0) whose `tenants` line in the place's infobox lists the club. Absent where only Wikidata names it. */ wikipedia?: TenantArticle; /** Where the years were read: Wikidata's qualifiers (start time P580, end time P582), or the article. Absent when neither gives any. */ years?: "wikidata" | "wikipedia"; } /** Why a club's name in Japanese is not Wikidata's label: the label is a transliteration of an abbreviation (`abbreviation`), of a formal name or a suffix such as FC that Japanese media do not use (`formal`), a page title with a disambiguator or "history of" (`title`), or the club's name in another period (`era`). */ export type TenantNameKind = "abbreviation" | "formal" | "title" | "era"; /** The everyday Japanese form of a club's name where it is not Wikidata's label, and the source of it. */ export interface TenantNameJa { /** The name Japanese media use, which the atlas shows as `clubJa`. */ ja: string; kind: TenantNameKind; /** What was checked, where and when. */ note: string; } /** A tenant as the data gives it. */ export interface TenantData { club: string; clubJa?: string; aliasesJa?: string[]; league: string; sport: TenantSport; from?: number; to?: number; wikidata: string; statements?: "P466" | "P115" | "P466 P115"; /** The place's article lists the club in its tenants line. */ listed?: true; years?: "wikidata" | "wikipedia"; } /** A club that plays, or played, its home matches in a place, and when. */ export interface Tenant { /** The club's name in English: the one the place's article gives it (`Montreal Expos`, `Boston Braves` for a club named differently then), else Wikidata's label. */ club: string; /** The club's name in Japanese as Japanese media say it (`BCライオンズ`), where there is one for this name of the club: the curated form in `TENANT_NAMES_JA` if the club has one, else Wikidata's label. */ clubJa?: string; /** Other names the club is found by in Japanese: Wikidata's label where `clubJa` is the curated form instead (`ブリティッシュ・コロンビア・ライオンズ`). */ aliasesJa?: readonly string[]; /** The league it played in there: `MLB`, `CFL`, `MLS`, `NPB`, `Premier League`... A league that has had several names or several seasons of the same name has one (`NASL` is the league of 1968 to 1984). */ league: string; sport: TenantSport; /** The first year it played there. Not given where neither source gives it. */ from?: number; /** The last year it played there: a club still there has none. */ to?: number; /** The club's Wikidata item (`Q919062`), the key to join a tenant to other data. */ wikidata: string; source: TenantSource; } /** The tenants of every place that has any, by the place's key: the current ones first, by the year they came, then those that have left, the latest to leave first. */ export declare const TENANTS: Readonly>; /** The leagues of a list of tenants, each once, in the order they first come. */ export declare const leaguesOf: (tenants: readonly Tenant[]) => string[]; /** True when a tenant played there in `year`; a year the data does not give for a bound does not shut it out. */ export declare const playedIn: (tenant: Tenant, year: number) => boolean; /** The draw sport a tenant's sport is drawn as, and any league of its rulebook: the field of play a club's sport asks for. `undefined` where the package draws none. */ export declare const SURFACE_OF_SPORT: Readonly>; /** True when the package draws a surface for the tenant's sport and league. */ export declare const hasSurface: (tenant: Tenant) => boolean; /** The clubs whose name in Japanese is the everyday form and not Wikidata's label, by Wikidata item, with why and the source of each: `nameJaOf(tenant)` finds a tenant's. */ export declare const TENANT_JAPANESE_NAMES: Readonly>; /** The note on a tenant's name in Japanese, if its everyday form is a curated one. */ export declare const nameJaOf: (tenant: Pick) => TenantNameJa | undefined;