/** * Shared gsk-mesh "what's the latest release" probe against the backend. * * Extracted from upgrade.ts so BOTH the explicit `gsk mesh upgrade` path AND * first-run download (download.ts::ensureMeshBinary) can ask the backend for the * current release — without a circular import (upgrade.ts imports download.ts, * and download.ts now needs this probe). * * Endpoint (gen-spark#32059): * GET {base}/api/gsk-mesh/checkupdate/{target}?channel=stable|beta * ¤t_version= * → 200 {version, sha256, url, notes} (update / latest available) * → 204 (already latest / none promoted) * * Pass currentVersion=null to always get the channel's latest (first-run / * `--force`). Auth is optional: the probe frequently fires unauthenticated, so * the bearer token is sent only when present. */ import { type MeshTarget } from './manifest.js'; export interface CheckUpdateResponse { version: string; sha256: string; url: string; notes?: string; } /** * Resolve the backend base URL the gsk-mesh endpoint is served from. * * Priority: explicit CLI override > GSK_BASE_URL env > config file > PROD * default. Falls back to PROD rather than gsk's localhost dev default because * the gsk-mesh binaries + endpoint are production-served. */ export declare function resolveBaseUrl(override?: string): string; /** * Query the backend for the latest gsk-mesh release for `target` + `channel`. * Returns the manifest (200), null (204 / no update), or throws on transport / * HTTP errors. */ export declare function fetchCheckUpdate(target: MeshTarget, channel: 'stable' | 'beta', currentVersion: string | null, baseUrlOverride?: string): Promise; //# sourceMappingURL=checkupdate.d.ts.map