/// <reference types="node" />
import { EventEmitter } from 'events';
export declare class CircuitFlashInterface extends EventEmitter {
    circuit: string;
    private daliMaster;
    private flashLoop;
    currentlyFlashing: boolean;
    devices: any;
    deviceIndex: number;
    private selectedObjectIns;
    private addressingMode;
    private onLevel;
    private offLevel;
    private flashRate;
    private groupAddress;
    private linker;
    constructor(conID: any, getNode: any);
    /**
     * Send status update
     * @param message - Status update message
     */
    private updateStatus;
    /**
     * Send updated device list
     */
    private sendUpdatedDeviceList;
    /**
     * Send updated object list
     */
    sendUpdatedObjectList(): void;
    /**
     * Update the device list
     * @param deviceList - The new device list
     */
    updateDeviceList(deviceList: any): void;
    /**
     * Update the flash settings
     * @param addrMode - The new addressing mode (short / group / broadcast)
     * @param onLevel - The new on light level (0 - 100)
     * @param offLevel - The new off light level (0 - 100)
     * @param rate - The flash rate
     */
    updateSettings(addrMode: any, onLevel: any, offLevel: any, rate: any): void;
    /**
     * Select a device within the device list
     * @param addr - The DALI short address of the device to be selected
     */
    selectDevice(addr: any): void;
    /**
     * Select a new mobius luminaire object
     * @param ins - The ins of the mobius luminaire object to be selected (0001 - 003F)
     */
    selectObject(ins: any): void;
    /**
     * Send relevent notifications when a new device is selected
     * @param addr - DALI short address of new device
     */
    private notifyOfStateChange;
    /**
     * Send a DALI command to control direct power to luminaires
     * @param addressingMode - The DALI addressing mode
     * @param address - The DALI address (group address or short address)
     * @param level - The set lighting level (0 - 100)
     */
    private sendDirectArcPowerCommand;
    /**
     * Start the flash process
     */
    startFlash(): void;
    /**
     * Stop the flash process
     */
    stopFlash(): void;
    /**
     * Select the next luminaire in the device list
     */
    flashNext(): void;
    /**
     * Flash the previous luminaire in the device list
     */
    flashPrevious(): void;
    /**
     * Link the currently selected luminaire device to the currently selected mobius object
     */
    linkLuminaire(): void;
    /**
     * Unlink all luminaire objects
     */
    unlinkAllMobObjects(): void;
    /**
     * Unlink the selected luminaire object
     */
    unlinkMobObject(): void;
    /**
     * Unlink a device / object pair as a result of a swap or delete process
     * @param addr - The DALI short address of the device within the pair to be unlinked
     */
    unlinkOnSwap(addr: any): void;
    changeToThisCircuit(): void;
}
