import { type LocalControlStatus, type ShutdownAccepted, type ShutdownRequest } from './local-control.js'; export interface ShutdownStep { name: string; run: (request: ShutdownRequest) => void | Promise; } export interface ShutdownCoordinatorDeps { markShuttingDown: (request: ShutdownRequest) => void; steps: ShutdownStep[]; exit: (code: number) => void; schedule?: (run: () => void) => void; now?: () => Date; log?: Pick; } export interface ShutdownCoordinator { request(request: ShutdownRequest): ShutdownAccepted; status(): LocalControlStatus['shutdown']; completion(): Promise | null; } export declare function createShutdownCoordinator(deps: ShutdownCoordinatorDeps): ShutdownCoordinator;