/// <reference path="../../../../../../src/@types/@kano/common/index.d.ts" />
import { Part } from '../../part.js';
import { EventEmitter } from '@kano/common/index.js';
import { PartComponent } from '../../component.js';
import Sequencer from './tone.js';
declare class SequencerComponent extends PartComponent {
    step: EventEmitter;
    hit: EventEmitter;
    bpm: number;
}
export interface IStepEvent {
    id: string;
    column: number;
}
export interface IStepsChangeEvent {
    id: string;
    steps: boolean[];
}
export declare class SequencerPart extends Part {
    sequencers: Map<string, Sequencer>;
    core: SequencerComponent;
    private _onDidStep;
    private _onDidStepsChange;
    private _onDidChangeSequencers;
    readonly onDidStep: import("@kano/common/index.js").IEvent<IStepEvent>;
    readonly onDidStepsChange: import("@kano/common/index.js").IEvent<IStepsChangeEvent>;
    readonly onDidChangeSequencers: import("@kano/common/index.js").IEvent<void>;
    constructor();
    render(): void;
    onStop(): void;
    createSteps(id: string, steps: number[]): Sequencer;
    bpm: number;
    start(): void;
    stop(): void;
    shuffle(): void;
}
export {};
