import Exceptional from "../util/Exceptional"; import Stream from "../util/Stream"; import Direction from "./Direction"; export default class Letter { private offset; static size: number; private static _values; /** * Values derived from General MIDI's program numbers * (https://en.wikipedia.org/wiki/General_MIDI) * and the octave convention for scientific pitch notation * (https://en.wikipedia.org/wiki/Scientific_pitch_notation) * Ex. The E (E4) above middle C (C4): * - new octaves start on C * - C4's program number is 48 * - increment that value by Letter.E's offset value (4) * - E4: 48 + 4 == 52 == E4's program number */ static A: Letter; static B: Letter; static C: Letter; static D: Letter; static E: Letter; static F: Letter; static G: Letter; private constructor(); static values(): Letter[]; ordinal(): number; static valueOf(letterString: string): Letter; getOffset(): number; static getLetters(direction?: Direction | Letter, startingLetter?: Letter): Letter[]; static stream(direction?: Direction | Letter, startingLetter?: Letter): Stream; static iterator(direction?: Direction | Letter, startingLetter?: Letter): Iterator; static isValid(letterChar: string): boolean; static fromChar(letterChar: string): Exceptional; toString(): string; }