export type ProvisioningState =
  | 'IDLE'
  | 'DETECT_ROUTER'
  | 'UPLOAD_FIRMWARE'
  | 'FLASHING'
  | 'WAITING_FOR_REBOOT'
  | 'WAITING_FOR_RECONNECT'
  | 'UPLOAD_PROVISIONING_BUNDLE'
  | 'RUN_PROVISIONING'
  | 'CAPTURE_PUBLIC_KEY'
  | 'REGISTER_PEER'
  | 'VERIFY'
  | 'COMPLETE'
  | 'ERROR';

export type ProvisionMode =
  | 'new'
  | 'reprovision';

export type ProvisioningContext = {
  mode: ProvisionMode;
  vpnIp?: string;
  publicKey?: string;
  routerIp?: string;
  error?: string;
};