import { Chord, Note, Scale, PitchClass } from 'types.js'; /** * Transposes a pitch class by the given interval. * @param {PitchClass} pitchClass pitch class to transpose, e.g 5, 7 * @param {number} interval The interval, e.g 5, 7 * @returns {PitchClass} * @example * transposePitchClass('C', 7) // => 'G' */ export declare function transposePitchClass(pitchClass: PitchClass, interval: number): PitchClass; /** * Transposes a note by the given interval. * @param {Note} note note to transpose, e.g 5, 7 * @param {number} interval The interval, e.g 5, 7 * @returns {PitchClass} * @example * transposeNote('C4', 7) // => 'G4' */ export declare function transposeNote(note: Note, interval: number): Note; /** * Transposes a pitch class or a note by the given interval. * @param {PitchClass | Note} note note to transpose, e.g 5, 7 * @param {number} interval The interval, e.g 5, 7 * @returns {PitchClass} * @example * transpose('C4', 7) // => 'G4' */ export declare function transpose(note: PitchClass | Note, interval: number): string; /** * Generate a note from frequency. * @param frequency * @returns {Note} * @example * noteFromFrequency(440) // => 'A4' */ export declare function noteFromFrequency(frequency: number): string; /** * Creates an array of notes from a note/pitch class & an array of intervals. * @param {PitchClass | Note} note * @param {Array} pattern * @returns {Array} * @example * notesFromPattern('C4', [0, 2, 4, 5, 7, 9, 11]) // => ['C4', 'D4', 'E4', 'F4', 'G4', 'A4', 'B4'] */ export declare function intervalsToNotes(note: PitchClass | Note, pattern: Array): Array; /** * Inverts a chord * @param chord * @param type * @returns {Array} */ export declare function invertChord(chord: Chord, type: number): Array; /** * Returns the note in degree of a scale(array of notes). * for example - if the Scale is a C Major, * than interval(1) will return D. * @param {Scale} scale An array of notes. * @param {Number} degree The degree of the note. * @returns {PitchClass | Note} * @example * const majorScale = ['C', 'D', 'E', 'F', 'G', 'A', 'B']; * scaleDegree(majorScale, 1) // => 'D' */ export declare function scaleDegree(scale: Scale, degree: number): PitchClass | Note; /** * Returns the chord at the degree with specified size. * @param {Scale} scale An array of notes. * @param {number} degree Degree to get chord at. * @param {number} size Number of notes in the chord. * @returns {Chord} */ export declare function getChordFromScale(scale: Scale, degree: number, size?: number): Chord; /** * Returns an array of chords from a scale with specified size. * @param scale * @param size * @returns {Array} */ export declare function scaleToChords(scale: Scale, size?: number): Array;