import { Input, Output } from '@julusian/midi';
import { MIDIProtocolParams } from '@showbridge/types/dist/models/params/protocols.js';
import Protocol from './protocol.js';
type MIDIOutput = {
    name: string;
    index: number;
    output: Output;
};
declare class MIDIProtocol extends Protocol<MIDIProtocolParams> {
    #private;
    inputs: Input[];
    outputs: MIDIOutput[];
    virtualInputName: string;
    virtualOutputName: string;
    virtualInput: Input;
    virtualOutput: Output;
    stopped: boolean;
    constructor(protocolObj: any, router: any);
    reload(params: any): void;
    send(bytes: number[], port: string): void;
    stop(): void;
    get status(): {
        enabled: boolean;
        devices: any[];
    };
}
export default MIDIProtocol;
