import { ScaleDegree } from './scale-degree'; import { ChordQuality } from '../chord/chord-quality'; import { Interval } from '../interval/interval'; import { Note } from '../note/note'; import { Scale } from '../scale'; import { Accidental } from '../accidental'; export interface RomanNumeralParameters { scaleDegree: ScaleDegree; quality: ChordQuality; inversion?: number; hasSeventh?: boolean; fullyDiminishedSeventh?: boolean; applied?: ScaleDegree | null; accidental?: Accidental; flags?: { [key: string]: boolean; }; } export declare class RomanNumeral { readonly name: string; readonly scaleDegree: ScaleDegree; readonly inversion: number; protected _inversionInterval: Interval; readonly quality: ChordQuality; readonly hasSeventh: boolean; readonly accidental: Accidental; readonly applied: ScaleDegree | null; readonly scale: Scale; /** * Intervals above the root */ protected _intervals: Interval[]; /** * Intervals above the bass */ protected _figuredBass: string; readonly flags: Readonly<{ [key: string]: boolean; }>; static fromString(value: string, scale: Scale): RomanNumeral; constructor(params: RomanNumeralParameters, scale: Scale); get intervals(): Interval[]; get notes(): Note[]; get root(): Note; get inversionInterval(): Interval; get inversionSymbol(): string[]; get inversionString(): string; relativeToScale(scale: Scale): RomanNumeral | null; diatonicized(): RomanNumeral | null; asParams(): RomanNumeralParameters; with(params: Partial): RomanNumeral; }