import { Note } from "./Note"; import { Fraction } from "../../Common/DataObjects/Fraction"; import { Pitch } from "../../Common/DataObjects/Pitch"; import { TieTypes } from "../../Common/Enums/"; import { PlacementEnum } from "../VoiceData/Expressions/AbstractExpression"; /** * A [[Tie]] connects two notes of the same pitch and name, indicating that they have to be played as a single note. */ export declare class Tie { constructor(note: Note, type: TieTypes); private notes; private type; TieNumber: number; TieDirection: PlacementEnum; /** Can contain tie directions at certain note indices. * For example, if it contains {2: PlacementEnum.Below}, then * the tie should go downwards from Tie.Notes[2] onwards, * even if tie.TieDirection is PlacementEnum.Above (tie starts going up on Notes[0]). */ NoteIndexToTieDirection: NoteIndexToPlacementEnum; getTieDirection(startNote?: Note): PlacementEnum; get Notes(): Note[]; get Type(): TieTypes; get StartNote(): Note; get Duration(): Fraction; get Pitch(): Pitch; AddNote(note: Note): void; } export interface NoteIndexToPlacementEnum { [key: number]: PlacementEnum; }