import { Pitch } from '@tonaljs/pitch'; interface RomanNumeral extends Pitch { readonly name: string; readonly empty: boolean; readonly roman: string; readonly interval: string; readonly acc: string; readonly chordType: string; readonly major: boolean; readonly dir: 1; } interface NoRomanNumeral extends Partial { readonly empty: true; readonly name: ""; readonly chordType: ""; } /** * Get properties of a roman numeral string * * @function * @param {string} - the roman numeral string (can have type, like: Imaj7) * @return {Object} - the roman numeral properties * @param {string} name - the roman numeral (tonic) * @param {string} type - the chord type * @param {string} num - the number (1 = I, 2 = II...) * @param {boolean} major - major or not * * @example * romanNumeral("VIIb5") // => { name: "VII", type: "b5", num: 7, major: true } */ declare function get(src: any): RomanNumeral | NoRomanNumeral; /** * @deprecated * @use RomanNumeral.get */ declare const romanNumeral: typeof get; /** * Get roman numeral names * * @function * @param {boolean} [isMajor=true] * @return {Array} * * @example * names() // => ["I", "II", "III", "IV", "V", "VI", "VII"] */ declare function names(major?: boolean): string[]; type RomanNumeralTokens = [string, string, string, string]; declare function tokenize(str: string): RomanNumeralTokens; /** @deprecated */ declare const _default: { names: typeof names; get: typeof get; romanNumeral: typeof get; }; export { type NoRomanNumeral, type RomanNumeral, _default as default, get, names, romanNumeral, tokenize };