import type { DaemonLeaseOwner } from "./writer-lease.js"; export interface RuntimeReplacementIdentity { version: string; buildSha: string; } export interface RuntimeReplacementTarget extends RuntimeReplacementIdentity { leaseOwner: Pick; } /** Exact serving authority configured into one daemon closure. */ export interface RuntimeReplacementAuthority { runtimeIdentity?: RuntimeReplacementIdentity; runtimeLeaseOwner?: Pick; } export type DaemonShutdownRpcReceipt = { ok: true; fenced?: true; targetBound?: true; }; export declare function replacementRefusal(error: unknown): boolean; /** Socket shutdown protocol owner. Ordinary operator shutdown stays delayed and * forceful. Runtime replacement instead runs one synchronous activity check and * composition callback; that callback must check setup then enter the shared * shutdown state machine before returning its promise. */ export declare function dispatchShutdownRpc(method: string, params: unknown, transientActivity: number, readRecords: () => Iterable<{ state: string; }>, requestOperatorShutdown: () => Promise, requestRuntimeReplacement?: () => Promise, configuredRuntimeIdentity?: RuntimeReplacementIdentity, configuredLeaseOwner?: Pick): DaemonShutdownRpcReceipt | null; //# sourceMappingURL=daemon-shutdown-rpc.d.ts.map