export interface IControllerProcessIdentity { pid: number; processGroupId: number; processGroupLeader: boolean; /** Linux /proc start-time ticks, used to reject PID reuse. */ startTicks?: string; arguments: string[]; argumentsTruncated?: boolean; fingerprint: string; } export interface IControllerProcessCandidate { identity: IControllerProcessIdentity; command: '__serve' | 'foreground'; port: number; } export interface IControllerDataWriterProcessCandidate { kind: 'controller' | 'temp-password' | 'flex-child'; identity: IControllerProcessIdentity; } export declare const readControllerProcessIdentity: (pidArg: number) => Promise; /** Track a previously verified process until its kernel resources are released. */ export declare const controllerProcessIdentityIsLive: (pidArg: number, fingerprintArg: string) => Promise; export declare const readProcessGroupMemberPids: (processGroupIdArg: number) => Promise; export declare const processIdentityHasFileArgument: (identityArg: IControllerProcessIdentity, filePathArg: string, optionsArg?: { allowMissingAbsolutePath?: boolean; }) => Promise; export declare const processIdentityHasCliCommand: (identityArg: IControllerProcessIdentity, cliPathArg: string, commandArg: "__serve" | "__upgrade-worker" | "upgrade" | "start" | "foreground" | "temp-password", optionsArg?: { allowMissingAbsolutePath?: boolean; }) => Promise; export declare const listControllerProcessesForCli: (cliPathArg: string) => Promise; export declare const listControllerDataWriterProcessesForCli: (cliPathArg: string, optionsArg?: { includeInstalledPackagePaths?: boolean; }) => Promise; export declare const listControllerDataWriterProcessesForCliPaths: (cliPathsArg: readonly string[], optionsArg?: { includeInstalledPackagePaths?: boolean; }) => Promise; export declare const inspectControllerProcess: (optionsArg: { pid: number; cliPath: string; port: number; expectedProcessGroupId?: number; expectedFingerprint?: string; command: "__serve" | "foreground"; }) => Promise; export declare const signalVerifiedControllerProcess: (optionsArg: { pid: number; cliPath: string; port: number; expectedProcessGroupId: number; expectedFingerprint: string; signal: NodeJS.Signals; signalProcessGroup: boolean; command: "__serve" | "foreground"; }) => Promise;