import * as EventEmitter from 'events';
import { type HIDDeviceInfo, type HIDDeviceEvents, type ChildHIDDeviceInfo, type StreamDeckTcpChildDeviceInfo } from '@elgato-stream-deck/core';
import type { SocketWrapper } from '../socketWrapper.js';
import type { TcpHidDevice } from './api.js';
/**
 * A HIDDevice implementation for TCP connections
 * This isn't really HID, but it fits the existing structure well enough
 * Note: this gets destroyed when the socket is closed, so we can rely on this for resetting the state
 */
export declare class TcpLegacyHidDevice extends EventEmitter<HIDDeviceEvents> implements TcpHidDevice {
    #private;
    get isPrimary(): boolean;
    set onChildInfoChange(cb: ((info: Omit<StreamDeckTcpChildDeviceInfo, 'model'> | null) => void) | null);
    constructor(socket: SocketWrapper);
    close(): Promise<void>;
    sendFeatureReport(data: Uint8Array): Promise<void>;
    getFeatureReport(reportId: number, _reportLength: number): Promise<Uint8Array>;
    sendReports(buffers: Buffer[]): Promise<void>;
    getDeviceInfo(): Promise<HIDDeviceInfo>;
    getChildDeviceInfo(): Promise<ChildHIDDeviceInfo | null>;
}
//# sourceMappingURL=legacy.d.ts.map