export type ProcessStatus = 'running' | 'done' | 'failed' | 'orphaned';
export interface ProcessEntry {
    id: string;
    ts: number;
    pid?: number;
    runner?: string;
    agentName: string;
    status: ProcessStatus;
    exitCode?: number | null;
    lastOutputAt?: number;
}
export declare function isPidAlive(pid: number): Promise<boolean>;
export declare function killProcessTree(pid: number): Promise<void>;
export declare function registerProcess(pid: number, meta: {
    agentName: string;
    runner?: string;
    configPath?: string;
}): Promise<void>;
export declare function linkSessionToPid(sessionId: string, pid: number, configPath?: string): Promise<void>;
/** appendOutput — NO-OP: agent_lifecycle handles output in RAM */
export declare function appendOutput(pid: number, chunk: string, configPath?: string): Promise<void>;
export declare function updateProcessStatus(pid: number, status: ProcessStatus, exitCode?: number | null, configPath?: string): Promise<void>;
export declare function getProcessStatus(agentName: string, runner?: string, configPath?: string): Promise<ProcessEntry | null>;
export declare function killAgent(agentName: string, runner?: string, configPath?: string): Promise<{
    killed: boolean;
    pid?: number;
}>;
export declare function unregisterProcess(pid: number, configPath?: string): Promise<void>;
export declare function cleanupRegistry(configPath?: string): Promise<{
    orphaned: number;
    expired: number;
}>;
export declare function getRunningProcesses(configPath?: string): Promise<ProcessEntry[]>;
export declare function startAutoCleanup(configPath?: string): void;
//# sourceMappingURL=processRegistry.d.ts.map