import { NoteInfo } from './staff_info'; import { BarsInfo } from './bars_info'; export declare type StaffBlockMap = Map; export interface StaffNote extends NoteInfo { vSteps: number; accidental: number; tiedFrom?: StaffNote; tiedTo?: StaffNote; } export declare function splitStaffNote(staffNote: StaffNote, quarters: number): StaffNote; export declare class StaffBlock { start: number; length: number; headIndex: number; headAlteration?: number; notes: StaffNote[]; barNumber: number; maxVStep: number; minVStep: number; beamedFrom?: StaffBlock; beamingBackwards?: boolean; beamingForwards?: boolean; beatBegin?: boolean; beatEnd?: boolean; constructor(start?: number, length?: number, notes?: StaffNote[], barNumber?: number, maxVStep?: number, minVStep?: number); addNote(staffNote: StaffNote): boolean; split(quarters: number, barsInfo: BarsInfo): StaffBlock; splitToBeat(barsInfo: BarsInfo): StaffBlock; splitToSymbols(barsInfo: BarsInfo, increasing: boolean): StaffBlock; splitShorter(barsInfo: BarsInfo): StaffBlock; splitLonger(barsInfo: BarsInfo): StaffBlock; mergeToMap(map: StaffBlockMap): void; isBarBeginning(): boolean; setBeaming(previousStaffBlock: StaffBlock, barsInfo: BarsInfo): void; }