import { MovingHeadState } from "rust_native_module";
import { Tuple4 } from "./types";

export type RenderUpdate = {
  absolute: number,
  beatRelative: number | null,
  bassVolume: number,
};

export type PatternOutput = Tuple4<MovingHeadState> | null;

export interface Pattern {
  render(update: RenderUpdate): PatternOutput;
}
