import { Mockable } from "./mockable"; import { GameByDatelike, Teamlike } from "./ncaab"; import { ProjectionEntrylike } from "./ncaab"; import { ontology } from ".."; export interface BracketGameViewlike extends Mockable { top?: Teamlike; bottom?: Teamlike; game?: GameByDatelike; gameProjection?: ProjectionEntrylike; topProbability?: number; bottomProbability?: number; topWin?: number; bottomWin?: number; winnerId?: string; rankTop?: number; rankBottom?: number; } export declare const MockBracketGameView: BracketGameViewlike; export declare const MockBracketGameViewB: BracketGameViewlike; export declare type PackedBracketlike = [string | undefined, string | undefined][]; export declare type SparseBracketlike = [string | undefined, string | undefined][][]; export interface IdSparseBracketlike { _id: string; ffWest: SparseBracketlike; west: SparseBracketlike; ffEast: SparseBracketlike; east: SparseBracketlike; ffMidwest: SparseBracketlike; midwest: SparseBracketlike; ffSouth: SparseBracketlike; south: SparseBracketlike; leftFinalFour: SparseBracketlike; rightFinalFour: SparseBracketlike; championship: SparseBracketlike; champion?: string; } export declare type PartIdSparseBracketlike = IdSparseBracketlike & { _id?: string; }; export declare type IdLookuplike = { _id: string; }; export declare type SparseBracketViewlike = (BracketGameViewlike | undefined)[][]; export declare const Mock4TeamBracket: SparseBracketViewlike; export declare const MockSelectionTeamBracket: SparseBracketViewlike; export declare const getEmptyBracketViewOfSize: (x: number) => ontology.SparseBracketViewlike; export declare const getEmptyBracketOfSize: (x: number) => ontology.SparseBracketlike; /** * Forms a bracket view from a list of teams. * @param teams * @returns */ export declare const getBracketViewOfTeams: (teams: ontology.Teamlike[]) => ontology.SparseBracketViewlike; /** * Forms a sparse bracket from a list of teams. * @param teams * @returns */ export declare const getSparseBracketOfTeams: (teams: ontology.Teamlike[]) => ontology.SparseBracketlike; /** * Asserts whether a bracket entry should exist at this position is a sparse bracket. * @param pos * @returns */ export declare const shouldBeBracketEntry: (pos: { rowNo: number; colNo: number; }) => boolean; /** * * @param pos * @returns */ export declare const whichBracketWindow: (pos: { rowNo: number; colNo: number; }) => number; /** * * @param pos * @returns */ export declare const shouldLeaderBeUp: (pos: { rowNo: number; colNo: number; }) => boolean; export declare const bracketHeight: (bracket: ontology.SparseBracketlike) => number; export declare const bracketWidth: (bracket: ontology.SparseBracketlike) => number; export declare const getMatchupWinner: (kwargs: { pos: { rowNo: number; colNo: number; }; bracket: SparseBracketlike; }) => string | undefined; export declare const cleanRight: (kwargs: { colNo: number; id: string; bracket: SparseBracketlike; }) => ontology.SparseBracketlike; export declare const setMatchupWinner: (kwargs: { pos: { rowNo: number; colNo: number; }; bracket: SparseBracketlike; id: string; toggle?: boolean; }) => ontology.SparseBracketlike; export declare const sliceRows: (bracket: ontology.SparseBracketlike, start: number, end: number) => [string | undefined, string | undefined][][]; export declare const sliceCols: (bracket: ontology.SparseBracketlike, start: number, end: number) => [string | undefined, string | undefined][][]; export declare const slice: (bracket: ontology.SparseBracketlike, rows: [number, number], cols: [number, number]) => [string | undefined, string | undefined][][]; export declare const getChampionshipPos: (bracket: ontology.SparseBracketlike) => { rowNo: number; colNo: number; }; export declare const getWinner: (bracket: ontology.SparseBracketlike) => string | undefined;