/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
/**
 * A command received through an OOB channel from the test implementation to the subject.
 */
export type BackchannelCommand = BackchannelCommand.SimulateLongPress | BackchannelCommand.SimulateMultiPress | BackchannelCommand.SimulateLatchPosition | BackchannelCommand.SimulateSwitchIdle | BackchannelCommand.OperationalStateChange | BackchannelCommand.RvcErrors | BackchannelCommand.RvcNoParameters | BackchannelCommand.RvcRemoveMap | BackchannelCommand.RvcAddMap | BackchannelCommand.RvcRemoveArea | BackchannelCommand.RvcAddArea | BackchannelCommand.SetBooleanState | BackchannelCommand.NoParameters;
export declare namespace BackchannelCommand {
    interface Subject {
        backchannel(command?: BackchannelCommand): void | Promise<void>;
    }
    type SimulateLongPress = {
        name: "simulateLongPress";
        endpointId: number;
        buttonId: number;
        longPressDelayMillis: number;
        longPressDurationMillis: number;
    };
    type SimulateMultiPress = {
        name: "simulateMultiPress";
        endpointId: number;
        buttonId: number;
        multiPressPressedTimeMillis: number;
        multiPressReleasedTimeMillis: number;
        multiPressNumPresses: number;
        featureMap: number;
        multiPressMax: number;
    };
    type SimulateSwitchIdle = {
        name: "simulateSwitchIdle";
        endpointId: number;
    };
    type SimulateLatchPosition = {
        name: "simulateLatchPosition";
        endpointId: number;
        positionId: number;
    };
    type OperationalStateChange = {
        name: "operationalStateChange";
        device: "Generic" | "Oven";
        operation: "Stop" | "OnFault" | "Start" | "Resume" | "Pause";
        param: number;
    };
    type RvcNoParameters = {
        name: "reset" | "chargerFound" | "charged" | "charging" | "docked";
    };
    type RvcErrors = {
        name: "errorEvent";
        error: "unableToStartOrResume" | "unableToCompleteOperation" | "commandInvalidInState" | "failedToFindChargingDock" | "stuck" | "dustBinMissing" | "dustBinFull" | "waterTankEmpty" | "waterTankMissing" | "waterTankLidOpen" | "mopCleaningPadMissing";
    };
    type RvcRemoveMap = {
        name: "removeMap";
        mapId: number;
    };
    type RvcAddMap = {
        name: "addMap";
        mapId: number;
        mapName: string;
    };
    type RvcRemoveArea = {
        name: "removeArea";
        areaId: number;
    };
    type RvcAddArea = {
        name: "addArea";
        areaId: number;
        mapId: number;
        locationName: string;
    };
    type SetBooleanState = {
        name: "setBooleanState";
        endpointId: number;
        newState: boolean;
    };
    type NoParameters = {
        name: "factoryReset" | "reboot" | "start" | "stop";
    };
}
//# sourceMappingURL=backchannel.d.ts.map