import type { ChildProcess } from 'node:child_process'; import type { CgroupOomSnapshot } from './oxigraph-memory.js'; export interface OxigraphMemoryLimits { highMiB?: number; maxMiB: number; } export interface OxigraphSpawnSpec { command: string; args: string[]; environment?: NodeJS.ProcessEnv; } export type ListenOwnerResolver = (child: ChildProcess, port: number, host: string, ownership?: 'child-only' | 'process-tree') => Promise; export interface OxigraphLaunchStrategy { readonly mode: 'direct' | 'systemd-scope'; nextSpawnSpec(binaryPath: string, binaryArgs: string[]): OxigraphSpawnSpec; resolveListenerPid(child: ChildProcess, port: number, host: string, resolver: ListenOwnerResolver): Promise; observeStderr(child: ChildProcess, text: string): void; classifyOomExit(input: { child: ChildProcess; code: number | null; signal: NodeJS.Signals | null; snapshot?: CgroupOomSnapshot; readOomKill: (dir: string) => number | null; }): boolean; logSummary(): string | null; } export declare function normalizeOxigraphMemoryLimits(input: { highMiB?: unknown; maxMiB?: unknown; }): OxigraphMemoryLimits | undefined; export declare function createOxigraphLaunchStrategy(opts: { memoryLimits?: OxigraphMemoryLimits; platform: NodeJS.Platform; parentPid: number; uid: number; nodeExecutable?: string; watchdogPath?: string; }): OxigraphLaunchStrategy; //# sourceMappingURL=oxigraph-launch-strategy.d.ts.map