import { IOcaCommand, OcaCommand } from '../../types/OcaCommand.js'; import { PropertyEvent } from '../property_event.js'; import { RemoteDevice } from '../remote_device.js'; import { OcaProgram } from './OcaProgram.js'; /** * A command set. Child of **OcaProgram**. * @extends OcaProgram * @class OcaCommandSet */ export declare class OcaCommandSet extends OcaProgram { /** * This event is emitted whenever Commands changes. */ OnCommandsChanged: PropertyEvent; constructor(objectNumber: number, device: RemoteDevice); /** * Gets the list of commands in the commandset. * * @method OcaCommandSet#GetCommands * @returns {Promise} * A promise which resolves to a single value of type :class:`OcaCommand[]`. */ GetCommands(): Promise; /** * Sets the list of commands in the commandset. * * @method OcaCommandSet#SetCommands * @param {IOcaCommand[]} Commands * * @returns {Promise} */ SetCommands(Commands: IOcaCommand[]): Promise; /** * Gets the command designated by the **Index** parameter. * * @method OcaCommandSet#GetCommand * @param {number} Index * * @returns {Promise} * A promise which resolves to a single value of type :class:`OcaCommand`. */ GetCommand(Index: number): Promise; /** * Replaces the command designated by the **Index** parameter. * * @method OcaCommandSet#SetCommand * @param {number} Index * @param {IOcaCommand} Command * * @returns {Promise} */ SetCommand(Index: number, Command: IOcaCommand): Promise; /** * Inserts a command into the CommandSet after the command with the given * **Index** value. * * @method OcaCommandSet#InsertCommand * @param {number} Index * @param {IOcaCommand} Command * * @returns {Promise} */ InsertCommand(Index: number, Command: IOcaCommand): Promise; /** * Removes command with the given **Index** value from the commandset. * * @method OcaCommandSet#DeleteCommand * @param {number} Index * * @returns {Promise} */ DeleteCommand(Index: number): Promise; /** * Removes all commands from the command set. * * @method OcaCommandSet#Clear * @returns {Promise} */ Clear(): Promise; }