import { StaffMeasure } from "./StaffMeasure"; import { MusicSystem } from "./MusicSystem"; import { SystemLinesEnum } from "./SystemLinesEnum"; import { GraphicalMusicSheet } from "./GraphicalMusicSheet"; import { IGraphicalSymbolFactory } from "../Interfaces/IGraphicalSymbolFactory"; export declare class MusicSystemBuilder { private measureList; private graphicalMusicSheet; private currentMusicPage; private currentPageHeight; private currentSystemParams; private numberOfVisibleStaffLines; private rules; private measureListIndex; private visibleStaffIndices; private activeRhythm; private activeKeys; private activeClefs; private globalSystemIndex; private leadSheet; private symbolFactory; initialize(graphicalMusicSheet: GraphicalMusicSheet, measureList: StaffMeasure[][], numberOfStaffLines: number, symbolFactory: IGraphicalSymbolFactory): void; buildMusicSystems(): void; private setMeasureWidth(staffMeasures, width, beginInstrWidth, endInstrWidth); private finalizeCurrentAndCreateNewSystem(measures, isPartEndingSystem?); private adaptRepetitionLineWithIfNeeded(); private addMeasureToSystem(staffMeasures, measureStartLine, measureEndLine, totalMeasureWidth, currentMeasureBeginInstructionsWidth, currentVarWidth, currentMeasureEndInstructionsWidth); private createMusicPage(); private initMusicSystem(); private getFullPageSystemWidth(); private layoutSystemStaves(); private addStaffLineToMusicSystem(musicSystem, relativeYPosition, staff); private initializeActiveInstructions(measureList); private transposeKeyInstruction(keyInstruction, graphicalMeasure); private addBeginInstructions(measures, isSystemFirstMeasure, isFirstSourceMeasure); private addEndInstructions(measures); private AddInstructionsAtMeasureBegin(firstEntry, measure, visibleStaffIdx, isFirstSourceMeasure, isSystemStartMeasure); private addInstructionsAtMeasureEnd(lastEntry, measure); private updateActiveClefs(measure, staffMeasures); private checkAndCreateExtraInstructionMeasure(measures); private addExtraInstructionMeasure(visStaffIdx, keyInstruction, rhythmInstruction); private addStaveMeasuresToSystem(staffMeasures); private getMeasureStartLine(); private getMeasureEndLine(); private getLineWidth(measure, systemLineEnum, isSystemStartMeasure); private previousMeasureEndsLineRepetition(); private thisMeasureBeginsLineRepetition(); private nextMeasureBeginsLineRepetition(); private thisMeasureEndsLineRepetition(); private nextMeasureBeginsWordRepetition(); private thisMeasureEndsWordRepetition(); private nextMeasureHasKeyInstructionChange(); private getNextMeasureKeyInstruction(); private calculateXScalingFactor(systemFixWidth, systemVarWidth); private stretchMusicSystem(isPartEndingSystem); private decreaseMusicSystemBorders(); } export declare class SystemBuildParameters { currentSystem: MusicSystem; systemMeasures: MeasureBuildParameters[]; systemMeasureIndex: number; currentWidth: number; currentSystemFixWidth: number; currentSystemVarWidth: number; maxLabelLength: number; IsSystemStartMeasure(): boolean; } export declare class MeasureBuildParameters { beginLine: SystemLinesEnum; endLine: SystemLinesEnum; }