import { StaffInfo, NoteInfo } from './staff_info'; import { StaffModel } from './staff_model'; export declare const MAX_QUARTER_DIVISION = 16; export declare enum ScrollType { PAGE = 0, NOTE = 1, BAR = 2 } export interface StaffRenderConfig { noteHeight?: number; noteSpacing?: number; pixelsPerTimeStep?: number; noteRGB?: string; activeNoteRGB?: string; defaultKey?: number; scrollType?: ScrollType; } export declare class StaffSVGRender { staffInfo: StaffInfo; staffModel: StaffModel; private config; private height; private width; private parentElement; private div; private staffSVG; private staffG; private linesG; private musicG; private signaturesG; private overlaySVG; private overlayG; private signaturesQuarters; private signaturesBlinking; private scale; private vStepSize; private hStepSize; private staffOffset; private currentKey; private currentTimeSignature; private signaturesList; private signatureCurrent; private signatureNext; private playingNotes; private scrollType; private ticking; private lastKnownScrollLeft; private lastQ; private lastBar; constructor(score: StaffInfo, config: StaffRenderConfig, div: HTMLDivElement); clear(): void; redraw(activeNote?: NoteInfo, scrollIntoView?: boolean): number; private isPaintingActiveNote; private drawStaffBlock; private drawNotes; private drawRests; private redrawStaffLines; private drawBarIfNeeded; private clearSignatureOverlay; private drawSignaturesIfNeeded; private drawSignatures; private changeKeySignatureIfNeeded; private changeTimeSignatureIfNeeded; private changeAndDrawSignaturesIfNeeded; private handleScrollEvent; private scrollIntoViewIfNeeded; private updateVerticalBoundaries; private getColor; private getOpacity; private getGroup; }