import type { RequestHandler } from 'express'; import type { Device } from '../../../balena-model.js'; /** * These typings should be used as a guide to what should be sent, but cannot be trusted as what actually *is* sent. */ export type StatePatchV3Body = { [uuid: string]: { status?: string; os_version?: string; os_variant?: string; supervisor_version?: string; provisioning_progress?: number | null; provisioning_state?: string | null; ip_address?: string; mac_address?: string; api_port?: number; api_secret?: string; memory_usage?: number; memory_total?: number; storage_block_device?: string; storage_usage?: number; storage_total?: number; cpu_temp?: number; cpu_usage?: number; cpu_id?: string; is_undervolted?: boolean; /** * Used for setting dependent devices as online */ is_online?: boolean; apps?: { [uuid: string]: { /** * We report the overall release uuid the supervisor considers the active one, even though there may be info for multiple releases. */ release_uuid?: string; releases?: { [releaseUUID: string]: { update_status?: NonNullable; services?: { [name: string]: { image: string; status: string; download_progress?: number; }; }; }; }; }; }; }; }; export declare const resolveDeviceUuids: (body: StatePatchV3Body) => string[]; export declare const statePatchV3: RequestHandler;