/** * Shared device-daemon bootstrap: flag validation + worker registration + the * poll loop. Both the `connector-worker` binary and the `lobu daemon` command * call this, so the two cannot drift on validation or registration semantics. */ import { type WorkerDaemon } from './index.js'; import { type InteractiveSession } from './interactive-session.js'; export interface DaemonStartOptions { apiUrl: string; workerId?: string; version?: string; /** Host platform for device registration (macos, headless, …). */ platform?: string; /** Device default supplied by `lobu daemon`; omitted by fleet worker callers. */ defaultPlatform?: string; label?: string; /** Declared capability names (already comma-split). */ capabilities?: string[]; /** Durable `owl_pat_…` personal access token for device mode. */ workerApiToken?: string; debug?: boolean; /** False only when the operator explicitly disables inherited-session delivery. */ interactiveSession?: false; workerCredentialMaintenance?: (activate: (workerApiToken: string) => void) => Promise; /** Active organization slug for action permission management URL. */ activeOrg?: string; } export declare function resolveDaemonWorkerId(opts: Pick, platform: string | undefined, shortHostname: string, interactiveSession?: InteractiveSession): string; export declare function resolveDaemonLaunchContext(opts: Pick, env?: NodeJS.ProcessEnv, sessionsDir?: string): { platform: string | undefined; interactiveSession: InteractiveSession | undefined; }; /** * Validate the options and boot the daemon. Throws a user-facing `Error` on * bad input; the caller prints it and exits non-zero. */ export declare function startDaemonCommand(opts: DaemonStartOptions): Promise; //# sourceMappingURL=start.d.ts.map