import { EventEmitter } from 'events'; import child_process from 'child_process'; import type { AdapterSourceDestination } from 'etcher-sdk/build/scanner/adapters'; export interface Operation { command: string; when?: object; } export interface DeviceTypeConfigurationConfig { /** eg "/config.json" */ path: string; /** Only the intel-edison does NOT have this defined */ partition?: number | { primary: number; logical?: number; }; /** I only found this in the intel-edison eg "my/rpi.img" */ image?: string; } export type DeviceTypeConfigurationConfigWithImage = DeviceTypeConfigurationConfig & Required>; export interface CopyOperation extends Operation { command: 'copy'; from: DeviceTypeConfigurationConfig; to: DeviceTypeConfigurationConfig; } export interface ReplaceOperation extends Operation { command: 'replace'; copy: string; find: string; replace: string; file: { path: string; image?: string; }; } export interface RunScriptOperation extends Operation { command: 'run-script'; script: string; arguments?: string[]; } export interface BurnOperation extends Operation { command: 'burn'; image?: string; } export declare const commands: { copy(image: string, operation: CopyOperation): Promise; replace(image: string, operation: ReplaceOperation): Promise; 'run-script'(image: string, operation: RunScriptOperation): Promise>; burn(image: string, operation: BurnOperation, options?: { drive: AdapterSourceDestination | string; }): Promise>; };