import { type UpdateChannel } from "./update-channel.js"; /** * The server runs from a managed install at ~/.shadok-ai/app so that `/update` * can refresh just the server (npm i shadok-ai@latest there) while the * supervisor — launched from the npx cache — keeps running. */ export declare const APP_DIR: string; /** Absolute path to the installed server entry point. */ export declare function serverEntry(): string; /** Version of the currently installed managed server, or null if absent. */ export declare function installedVersion(): string | null; /** * The version this instance should be running, for its channel. * * Beta reads `latest`; alpha reads `alpha` but never accepts a version older * than `latest` — see `pickTarget` for the promotion window that rule exists * for. The two lookups run together: they are independent, and doing them in * sequence would double the poll's latency for no reason. */ export declare function latestVersion(channel?: UpdateChannel): Promise; /** Install the given server version; report what landed (or the failure). */ export declare function update(version: string): Promise<{ ok: true; version: string; } | { ok: false; error: string; }>;