import { BasicMIDI } from "spessasynth_core"; export type TrackId = string; export type CanonicalNote = { midi: number; time: number; duration: number; velocity: number; ticks: number; }; export type TimeSignatureChange = { ticks: number; numerator: number; denominator: number; }; export type CanonicalTrack = { id: TrackId; sourceTrackIndex: number; sourcePort: number; sourceChannel?: number; playbackPort?: number; playbackChannel?: number; playbackChannelIndex?: number; name: string; program?: number; instrument: string; instrumentFamily: string; isDrums: boolean; notes: CanonicalNote[]; }; export type CanonicalMidiDocument = { original: BasicMIDI; duration: number; ppq: number; timeSignatures: TimeSignatureChange[]; tracks: CanonicalTrack[]; }; export declare function parseCanonicalMidi(binary: ArrayBuffer, fileName?: string): CanonicalMidiDocument; export declare function createTrackId(trackIndex: number, port: number, channel?: number): TrackId; export declare function isChannelMessage(statusByte: number): boolean;