import ImmutablePrioritySet from "../util/ImmutablePrioritySet"; import Predicate from "../util/Predicate"; import Accidental from "./Accidental"; import Key from "./Key"; import KeySignature from "./KeySignature"; import Letter from "./Letter"; interface Policy extends Predicate { } declare module Policy { function prioritize(...policies: Policy[]): ImmutablePrioritySet; function matchLetter(letter: Letter): Policy; function matchAccidental(accidental: Accidental): Policy; function matchKeySignature(keySignature: KeySignature): Policy; const NONE: Policy; const NATURAL: Policy; const NONE_OR_NATURAL: (k: any) => boolean; const SHARP: Policy; const DOUBLE_SHARP: Policy; const TRIPLE_SHARP: Policy; const SHARPS: (k: any) => boolean; const FLAT: Policy; const DOUBLE_FLAT: Policy; const TRIPLE_FLAT: Policy; const FLATS: (k: any) => boolean; const DEFAULT_PRIORITY: ImmutablePrioritySet; } export default Policy;