import Exceptional from "../util/Exceptional"; import Accidental from "./Accidental"; import Key from "./Key"; import Letter from "./Letter"; declare class KeySignature { private accidentals; private static RELATIVE_MAJOR_TO_MINOR_DISTANCE; static ORDER_OF_FLATS: Letter[]; static ORDER_OF_SHARPS: Letter[]; constructor(accidentals: Key[]); getAccidentalCount(): number; getAccidentalFor(letter: Letter): Exceptional; static getOrderOfFlats(count?: number): Letter[]; static getOrderOfSharps(count?: number): Letter[]; static getKeyFor(accidental: Accidental, count: number, quality: KeySignature.Quality): Exceptional; static fromAccidentals(accidental: Accidental, count: number): Exceptional; static fromKey(key: Key, quality: KeySignature.Quality): KeySignature; toString(): string; getAccidentals(): Key[]; } declare module KeySignature { class Quality { static size: number; private static _values; static MAJOR: Quality; static MINOR: Quality; private constructor(); static values(): Quality[]; ordinal(): number; static valueOf(qualityString: string): Quality; toString(): string; } } export default KeySignature;