import { Speedcore } from '../speedcore'; import { BMSChart } from '../bms/chart'; import { SpeedSegment } from '../speedcore/segment'; /** * A Positioning represents the relation between song beats and * display position, and provides a way to convert between them. * * In some rhythm games, the amount of scrolling per beat may be different. * StepMania’s `#SCROLL` segments is an example. */ export declare class Positioning { _speedcore: Speedcore; /** * Constructs a Positioning from the given `segments`. * @param segments */ constructor(segments: PositioningSegment[]); /** * Returns the scrolling speed at specified beat. * @param beat the beat number */ speed(beat: number): number; /** * Returns the total elapsed scrolling amount at specified beat. * @param beat the beat number */ position(beat: number): number; /** * Creates a {Positioning} object from the {BMSChart}. * @param {BMSChart} chart A {BMSChart} to construct a {Positioning} from */ static fromBMSChart(chart: BMSChart): Positioning; } export interface PositioningSegment extends SpeedSegment { /** the beat number */ t: number; /** the total elapsed amount of scrolling at beat `t` */ x: number; /** the amount of scrolling per beat */ dx: number; /** whether or not to include the starting beat `t` as part of the segment */ inclusive: boolean; } //# sourceMappingURL=index.d.ts.map