import { GradeBandTypes } from './GradeBands'; export declare type Tuple = [number, number]; export default interface GradeScale { isType: (grade: string) => boolean; getScore: (grade: string) => number | Tuple; getGrade: (score: number | Tuple) => string; getGradeBand: (grade: string) => GradeBandTypes; displayName: string; name: GradeScalesTypes; offset: number; conversionGroup: ConversionGroupsTypes; grades: string[]; } export declare const GradeScales: { readonly AI: "ai"; readonly AID: "aid"; readonly WI: "wi"; readonly VSCALE: "vscale"; readonly YDS: "yds"; readonly FONT: "font"; readonly FRENCH: "french"; readonly UIAA: "uiaa"; readonly EWBANK: "ewbank"; readonly SAXON: "saxon"; readonly NORWEGIAN: "norwegian"; readonly BRAZILIAN_CRUX: "brazilian_crux"; }; export declare type GradeScalesTypes = typeof GradeScales[keyof typeof GradeScales]; export declare const ConversionGroups: { readonly AID: "aid"; readonly FREE: "free"; readonly BOULDERING: "bouldering"; readonly ICE: "ice"; }; export declare type ConversionGroupsTypes = typeof ConversionGroups[keyof typeof ConversionGroups]; export declare const findScoreRange: (compareFn: any, list: any) => number | Tuple; export declare function getAvgScore(score: number | Tuple): number; /** * For getting a whole number/integer tuple of a grade which resides between two adjacent grades. * Returns an integer tuple, rounded EXCLUSIVELY of the adjacent grade scores. * Related discussion: https://github.com/OpenBeta/sandbag/issues/137 */ export declare const getRoundedScoreTuple: (gradeAverage: number, nextGradeAverage: number) => Tuple;