import { Implementation, USBDevice } from '../interfaces';
interface SPUSBDevice {
    Media?: [{
        bsd_name: string;
    }];
    _name: string;
    manufacturer: string;
    product_id: number;
    serial_num: string;
    vendor_id: number;
}
interface SPStorageDevice {
    _name: string;
    bsd_name: string;
    mount_point: string;
}
interface SPUSBItems {
    _items?: Array<SPUSBItems | SPUSBDevice>;
}
interface SPStorageItems {
    _items: Array<SPStorageItems | SPStorageDevice>;
}
interface SPUSBDataType extends SPUSBItems {
    _dataType: 'SPUSBDataType';
}
interface SPStorageDataType extends SPStorageItems {
    _dataType: 'SPStorageDataType';
}
declare type DataType = SPUSBDataType | SPStorageDataType;
export declare class MacImplementation implements Implementation {
    listDevices(): Promise<USBDevice[]>;
    protected runPlistCommand(dataTypes?: string[]): Promise<DataType[]>;
}
export {};
