import React from "react";
import { NoteType } from "../types";
declare type MidiTrackProps = {
    meta?: any;
    trackIndex: number;
    play?: boolean;
    onNotePlayed?: any;
    onNoteStopPlaying?: any;
    renderNote?: (...args: any[]) => any;
    notes?: Array<{
        noteNumber?: number;
        noteName?: string;
        startTimeInMS?: number;
        durationInMS?: number;
        endTimeInMS?: number;
        instrumentName?: string;
        deltaTime?: number;
        msPerTick?: number;
    }>;
};
declare type MidiTrackState = {
    playingNotes: {
        [x: string]: boolean;
    };
    uniqueNotes: any;
};
export default class MidiTrack extends React.Component<MidiTrackProps, MidiTrackState> {
    noteTimers: number[];
    constructor(props: MidiTrackProps);
    componentDidMount(): void;
    componentWillReceiveProps(nextProps: MidiTrackProps): void;
    onTimerCall: (note: NoteType) => Promise<void>;
    playTrack(): Promise<void>;
    stopPlayingTrack(): void;
    render(): JSX.Element;
}
export {};
