import { Pcset } from '@tonaljs/pcset'; import { NoteName } from '@tonaljs/pitch-note'; interface Mode extends Pcset { readonly name: string; readonly modeNum: number; readonly alt: number; readonly triad: string; readonly seventh: string; readonly aliases: string[]; } type ModeLiteral = string | { name: string; }; /** * Get a Mode by it's name * * @example * get('dorian') * // => * // { * // intervals: [ '1P', '2M', '3m', '4P', '5P', '6M', '7m' ], * // modeNum: 1, * // chroma: '101101010110', * // normalized: '101101010110', * // name: 'dorian', * // setNum: 2902, * // alt: 2, * // triad: 'm', * // seventh: 'm7', * // aliases: [] * // } */ declare function get(name: ModeLiteral): Mode; /** @deprecated */ declare const mode: typeof get; /** * Get a list of all modes */ declare function all(): Mode[]; /** @deprecated */ declare const entries: typeof all; /** * Get a list of all mode names */ declare function names(): string[]; declare function notes(modeName: ModeLiteral, tonic: NoteName): string[]; declare const triads: (modeName: ModeLiteral, tonic: NoteName) => string[]; declare const seventhChords: (modeName: ModeLiteral, tonic: NoteName) => string[]; declare function distance(destination: ModeLiteral, source: ModeLiteral): string; declare function relativeTonic(destination: ModeLiteral, source: ModeLiteral, tonic: NoteName): string; /** @deprecated */ declare const _default: { get: typeof get; names: typeof names; all: typeof all; distance: typeof distance; relativeTonic: typeof relativeTonic; notes: typeof notes; triads: (modeName: ModeLiteral, tonic: NoteName) => string[]; seventhChords: (modeName: ModeLiteral, tonic: NoteName) => string[]; entries: typeof all; mode: typeof get; }; export { type Mode, all, _default as default, distance, entries, get, mode, names, notes, relativeTonic, seventhChords, triads };