import { Note, BreveNote } from './../notation-service/symbol/symbol'; declare type terminalGroup = Note[]; declare type psalmLine = { initium: Note[]; tenor: BreveNote; extraNotes: Note[]; terminalGroups: terminalGroup[]; }; interface CustomError { atIndex: number; message: string; } export declare class MelodyError implements CustomError { atIndex: number; message: string; constructor(atIndex: number, message: string); } /** * Represents an analysis of a given psalm melody, with validity checks. */ export interface PsalmMelody { originalString: string; isValid: boolean; firstLine: psalmLine | undefined; secondLine: psalmLine | undefined; errors: MelodyError[]; } export {};