import { Staff, StaffObject, StaffNote } from './../staff/staff'; export interface LedgerLine { xPos: number; yPos: number; width: number; } declare type getPositionOptions = { scaledCursorPosition: number; pitch: string; staff: Staff; }; declare type positionReturnValue = { xPos: number; yPos: number; }; declare class DrawingHelpers { /** * Helper method to determine how much to move cursor * @param renderedObject object that was just drawn */ calculateCursorMovement(staff: Staff, renderedObject: StaffObject): number; /** * * @param options.xDelta needed to shift the ledger lines if there's an accidental -- is absolute */ getNecessaryLedgerLines(options: { staff: Staff; renderedNote: StaffNote; cursorPosition: number; xDelta: number; }): LedgerLine[]; /** * * @param options.scaledCursorPosition with scale factor, not staff position accounted for */ getAccidentalPosition(options: getPositionOptions): positionReturnValue; getAccentPosition(options: getPositionOptions): positionReturnValue; getLeftBracketPosition(options: getPositionOptions): positionReturnValue; getRightBracketPosition(options: getPositionOptions): positionReturnValue; } export declare const drawingHelpers: DrawingHelpers; export {};