import ImmutablePrioritySet from "../util/ImmutablePrioritySet"; import Stream from "../util/Stream"; import Direction from "./Direction"; import Pitch from "./Pitch"; import Policy from "./Policy"; declare class Scale { private pitch; private quality; constructor(pitch: Pitch, parameter: number[] | Scale.Quality, descending?: number[]); getDefaultPolicy(direction: Direction): ImmutablePrioritySet; stream(direction?: Direction | ImmutablePrioritySet, policies?: ImmutablePrioritySet): Stream; iterator(direction?: Direction | ImmutablePrioritySet, policies?: ImmutablePrioritySet): Iterator; getPitches(direction?: Direction | ImmutablePrioritySet, policies?: ImmutablePrioritySet): Pitch[]; toString(direction?: Direction): string; getPitch(): Pitch; getQuality(): Scale.Quality; } declare module Scale { class Quality { private ascending; private descending; static MAJOR: Quality; static NATURAL_MINOR: Quality; static HARMONIC_MINOR: Quality; static MELODIC_MINOR: Quality; static CHROMATIC: Quality; static WHOLE_TONE: Quality; constructor(ascending?: number[], descending?: number[]); getStepPattern(direction?: Direction): number[]; isOctaveRepeating(direction?: Direction): boolean; } } export default Scale;