/// <reference types="node" />
import { EventEmitter } from 'events';
import { AbstractCommand } from './commands';
export declare class ViscaDevice extends EventEmitter {
    private log?;
    private _address;
    private _socket;
    constructor(address: string, port?: number, debug?: boolean, log?: ((...args: any[]) => void) | undefined);
    connect(): void;
    disconnect(): void;
    get address(): string;
    set address(address: string);
    sendCommand<T extends AbstractCommand>(command: T): Promise<ReturnType<T["deserializeReply"]>>;
}
//# sourceMappingURL=visca.d.ts.map