import Exceptional from "../util/Exceptional"; import ImmutablePrioritySet from "../util/ImmutablePrioritySet"; import Accidental from "./Accidental"; import KeySignature from "./KeySignature"; import Letter from "./Letter"; import Policy from "./Policy"; export default class Key { private letter; private accidental; constructor(letter: Letter, parameter?: Accidental | Exceptional); step(amount: number, policies?: ImmutablePrioritySet): Exceptional; apply(keySignature: KeySignature): Key; removeAccidental(): Key; natural(): Key; sharp(): Key; doubleSharp(): Key; tripleSharp(): Key; flat(): Key; doubleFlat(): Key; tripleFlat(): Key; hasAccidental(): boolean; isNatural(): boolean; isSharp(): boolean; isDoubleSharp(): boolean; isTripleSharp(): boolean; isFlat(): boolean; isDoubleFlat(): boolean; isTripleFlat(): boolean; getEnharmonicEquivalent(parameter: Letter | ImmutablePrioritySet): Exceptional; static isEnharmonic(a: Key, b: Key): boolean; static fromOffset(offset: number, policies?: ImmutablePrioritySet): Exceptional; getOffset(): number; static fromString(keyString: string): Exceptional; toString(): string; equals(other: any): boolean; getLetter(): Letter; getAccidental(): Exceptional; }