import type { Command } from 'commander';
import type LightController from '../deviceControl/lightControl.js';
import type { CommandCallback, CommandDeps, CommandOptions, Device } from '../deviceControl/types.js';
export declare function isLightDevice(device: Device): boolean;
export declare function getLightDevices(devices: Device[]): Device[];
export declare function commandCallbackPromise(register: (callback: CommandCallback) => void): Promise<void>;
/**
 * Adds standard options to a commander command
 */
export declare function addStandardOptions(command: Command): Command;
/**
 * Options for runDeviceAction
 */
interface DeviceActionOptions {
    deps: CommandDeps;
    options: CommandOptions;
    deviceQuery?: string;
    actionName: string;
    onSuccess?: (device: Device) => string;
}
/**
 * Common pattern for connecting, finding devices, executing an action, and disconnecting
 */
export declare function runDeviceAction({ deps, options, deviceQuery, actionName, onSuccess }: DeviceActionOptions, action: (device: Device, controller: LightController) => void | Promise<void>, allAction: (controller: LightController) => void | Promise<void>): Promise<void>;
export {};
//# sourceMappingURL=cmdUtils.d.ts.map