import type { GEPAState } from './types.js';
export declare const nowId: () => string;
export declare const slug: (s: string, n?: number) => string;
export declare const sha: (s: string) => string;
export declare function writeJsonAtomic<T>(file: string, obj: T): Promise<void>;
export declare function readJson<T>(file: string, fallback: T): Promise<T>;
export declare function buildRunDir(runsRoot: string, inputObj: {
    system?: string;
}): string;
export declare function acquireLock(dir: string): Promise<() => Promise<void>>;
export declare function initRun(args: {
    runsRoot: string;
    inputObj: Record<string, unknown>;
    configObj: Record<string, unknown>;
    outFile?: string | null;
}): Promise<{
    runDir: string;
    iterationsDir: string;
    state: GEPAState;
    inputObj: Record<string, unknown>;
    configObj: Record<string, unknown>;
}>;
export declare function resumeRun(runDir: string): Promise<{
    runDir: string;
    iterationsDir: string;
    state: GEPAState;
    inputObj: Record<string, unknown>;
    configObj: Record<string, unknown>;
    outPath: string | null;
}>;
export declare function saveState(runDir: string, state: GEPAState): Promise<void>;
export declare function saveIteration(iterationsDir: string, iterNo: number, payload: unknown): Promise<void>;
