import type { ServiceRecord } from "@velum-labs/routekit-runtime/service";
import { acquireLifecycleLock } from "@velum-labs/routekit-runtime/service";
import { RouteKitFailure } from "@velum-labs/routekit-runtime/effect";
import { Effect } from "effect";
export declare function withDaemonLifecycleLock(effect: Effect.Effect, options?: Parameters[1]): Effect.Effect;
/** Replace a pre-worker-protocol daemon without changing its recorded listener. */
export declare const replaceLegacyDaemon: (input: {
record: ServiceRecord;
reason: "restart" | "upgrade";
timeoutGraceMs: number | undefined;
requestedGraceMs: number | undefined;
}) => Effect.Effect<{
client: import("@velum-labs/routekit-control").RouteKitControlClient;
record: ServiceRecord;
telemetryTarget: import("../cli-session.js").ResolvedTelemetryTarget;
start?: import("@velum-labs/routekit-runtime/service").StartDaemonResult;
} | {
client: import("@velum-labs/routekit-control").RouteKitControlClient;
}, Error, any>;