export type RuntimeComponent = "server" | "device" | "postgres" | "embeddings"; export interface ComponentDescriptor { name: string; version: string; entries: Record; verify?: string; } export interface ComponentInstallOptions { cacheRoot?: string; offline?: boolean; signal?: AbortSignal; fetchImpl?: typeof fetch; /** Artifact transport seam for local release verification. */ fetchArtifact?: (component: ComponentDescriptor, directory: string) => Promise; installDependencies?: (directory: string, signal?: AbortSignal) => Promise; } export declare function selectedRuntimeComponents(surface: "server" | "device", env: Record, needsEmbeddings?: boolean): RuntimeComponent[]; export declare function runtimeCacheRoot(): string; export declare function runtimePlatformKey(): string; export declare function ensureComponent(component: ComponentDescriptor, options?: ComponentInstallOptions): Promise; export declare function prepareRuntime(surface: "server" | "device", env: Record, options?: ComponentInstallOptions & { localEmbeddings?: boolean; }): Promise<{ directory: string; env: Record; entries: Record; }>; type DeviceCommands = { daemon: typeof import("../commands/daemon.js"); automation: typeof import("../commands/automation.js"); connector: typeof import("../commands/connector.js"); }; export declare function loadDeviceCommand(command: K): Promise; export declare function preinstallRuntime(keys: string[], offline?: boolean): Promise; export {}; //# sourceMappingURL=runtime-components.d.ts.map