import { type LocalProcess, type LocalProcessContext } from "@cotal-ai/workspace"; export declare function processRecorded(component: LocalProcess, context: LocalProcessContext): boolean; export interface StopLocalProcessOptions { /** Runs while this caller holds the `.stopping` reservation, after exact target verification and * immediately before the stop request. Throwing aborts without signalling and preserves the pid record. */ beforeSignal?: (attempt: { target: { pid: number; token: string; } | { pid: number; token?: undefined; }; stopper: { pid: number; marker: string; }; }) => void; /** Runs, still under the reservation, when a stop that entered `beforeSignal` ends without a * confirmed stop. It undoes what `beforeSignal` published: done after the reservation is released, * the undo could remove what the next stop to take the reservation published. */ afterFailedSignal?: () => void; /** Whether a live process's command line is this component's. Consulted only for a record with no * identity pin, where the command line is the only evidence of what the pid now runs. */ owns?: (command: string) => boolean; /** The pid the caller decided to stop. A record naming another pid was published by a successor * after that decision, so the stop leaves it untouched and returns false. */ pid?: number; } /** Stop one recorded process and await its actual exit before the next dependency is stopped. */ export declare function stopLocalProcess(component: LocalProcess, context: LocalProcessContext, options?: StopLocalProcessOptions): Promise; //# sourceMappingURL=local-process-stop.d.ts.map