import { ApplyUpdateResponse, UpdateChannel, UpdateInfo } from "@mcoda/shared"; import { GlobalCommandStatus, GlobalRepository } from "@mcoda/db"; import { SystemClient } from "@mcoda/integrations"; interface ReleasesState { lastCheck?: (UpdateInfo & { checkedAt: string; }); preferences?: { channel?: UpdateChannel; }; } export interface UpdateCheckResult { info: UpdateInfo; checkedAt: string; channel: UpdateChannel; } export type ApplyStatus = ApplyUpdateResponse["status"]; export interface ApplyResult extends ApplyUpdateResponse { targetVersion: string; npmCommand: string; } export declare class SystemUpdateService { private client; private repo?; private mcodaDir; private constructor(); static create(baseUrl?: string, options?: { client?: SystemClient; repo?: GlobalRepository; mcodaDir?: string; }): Promise; close(): Promise; private releasesPath; readState(): Promise; private writeState; startRun(payload: Record): Promise; finishRun(id: string | undefined, update: { status: GlobalCommandStatus; exitCode?: number; errorSummary?: string | null; result?: Record; }): Promise; resolveChannel(preferred?: UpdateChannel): Promise; savePreferredChannel(channel: UpdateChannel): Promise; checkUpdate(channel?: UpdateChannel): Promise; applyUpdate(channel?: UpdateChannel): Promise; recordApplyState(info: UpdateInfo, channel: UpdateChannel, targetVersion: string): Promise; runNpmInstall(targetVersion: string, options?: { quiet?: boolean; }): Promise<{ code: number; }>; } export {}; //# sourceMappingURL=SystemUpdateService.d.ts.map