import { type RouterConfig } from "@velum-labs/routekit-config"; import type { ServiceUnitSpec } from "@velum-labs/routekit-runtime/service"; export declare const ROUTEKIT_PRODUCT = "routekit"; /** * The entry script the current invocation runs from. For a global install * this is the stable `routekit` bin shim, so units written with it pick up * upgraded code without being rewritten. */ export declare function cliEntryPath(): string; /** * Environment the service process needs but a supervisor-started process * would not inherit from the user's shell: provider credentials and base-URL * overrides for the configured providers, plus RouteKit's own knobs. */ export type ServiceEnvironment = { set: Record; unset: string[]; }; /** Build the explicit environment contract for a supervised RouteKit daemon. */ export declare function serviceEnvironment(config: RouterConfig, sourceEnv?: NodeJS.ProcessEnv): ServiceEnvironment; export declare function missingServiceCredentialVariables(config: RouterConfig, env?: NodeJS.ProcessEnv): string[]; export declare function serviceEnvFilePath(kind: string): string; /** Write the 0600 secrets file a systemd unit references via EnvironmentFile. */ export declare function writeServiceEnvFile(kind: string, env: Record): string; export declare function removeServiceEnvFile(kind: string): void; export declare function serviceEnvironmentContractInstalled(supervisor: "systemd" | "launchd"): boolean; export declare function daemonUnitSpec(input: { args: readonly string[]; supervisor: "systemd" | "launchd"; env: ServiceEnvironment; drainGraceMs: number; cwd?: string; }): ServiceUnitSpec;