import { type DeviceInfo } from '../../nrfutil/device/deviceInfo'; import { type AppThunk, type RootState } from '../store'; import { type Device, type DeviceWithSerialNumber } from './deviceSlice'; import { type InitPacket } from './initPacket'; export interface DfuEntry { key: string; description?: string; application: string; semver: string; softdevice?: string | Buffer; params: Partial; } export interface JprogEntry { key: string; description?: string; fw: string; fwIdAddress: number; fwVersion: string; } export interface DeviceSetup { supportsProgrammingMode: (device: Device, deviceInfo?: DeviceInfo) => boolean; getFirmwareOptions: (device: Device, deviceInfo?: DeviceInfo) => { key: string; description?: string; programDevice: (onProgress: (progress: number, message?: string) => void) => AppThunk>; }[]; isExpectedFirmware: (device: Device, deviceInfo?: DeviceInfo) => AppThunk>; tryToSwitchToApplicationMode: (device: Device) => AppThunk>; } export interface DeviceSetupConfig { deviceSetups: DeviceSetup[]; allowCustomDevice?: boolean; confirmMessage?: string; choiceMessage?: string; } export declare const prepareDevice: (device: Device, deviceSetupConfig: DeviceSetupConfig, onSuccess: (device: Device) => void, onFail: (reason?: unknown) => void, deviceInfo: DeviceInfo | undefined, checkCurrentFirmwareVersion?: boolean, requireUserConfirmation?: boolean) => AppThunk>; export declare const setupDevice: (device: DeviceWithSerialNumber, deviceSetupConfig: DeviceSetupConfig, onDeviceIsReady: (device: Device) => void, doDeselectDevice: (device?: Device) => void, deviceInfo: DeviceInfo | undefined) => AppThunk; //# sourceMappingURL=deviceSetup.d.ts.map