import { MixerConnection } from '../mixer-connection';
import { MixerStore } from '../state/mixer-store';
import { AuxBus } from './aux-bus';
import { MtxBusChannel } from './mtx-bus-channel';
import { MtxMasterChannel } from './mtx-master-channel';
/**
 * Represents a matrix bus.
 * A matrix bus is an AUX bus that has been converted into a matrix.
 * Unlike a regular AUX bus, a matrix routes other buses (AUX buses, subgroups
 * and the master mix) to an AUX output. Matrix buses are only available on the Ui24R.
 *
 * The matrix output (level, name, mute, solo, delay) is controlled like an AUX
 * output via `conn.master.mtx(n)`.
 */
export declare class MtxBus {
    private conn;
    private store;
    private bus;
    /** Whether this bus is currently configured as a matrix bus (Ui24R only) */
    readonly isMatrix$: import('rxjs').Observable<boolean>;
    constructor(conn: MixerConnection, store: MixerStore, bus: number);
    /**
     * Get an AUX bus as a source on the matrix
     * @param channel AUX bus number
     */
    aux(channel: number): MtxBusChannel;
    /**
     * Get a subgroup as a source on the matrix
     * @param channel Subgroup number
     */
    sub(channel: number): MtxBusChannel;
    /**
     * Get the master mix as a source on the matrix
     */
    master(): MtxMasterChannel;
    /**
     * Switch this matrix bus to a regular AUX bus (Ui24R only).
     * When this bus is stereo-linked, the linked neighbour is switched as well.
     * @returns the AUX bus (`AuxBus`) for the same slot
     */
    switchToAux(): AuxBus;
}
