/** Copy a snapshot to the project cwd as ccweb private name. */
export declare function copyToProjectCwd(projectFolder: string, snapshot: Record<string, unknown>): boolean;
export interface ReloadResult {
    ok: boolean;
    data?: Record<string, unknown>;
    error?: string;
}
/**
 * Reload train.json after LLM call. Wait 200ms for OS buffer flush, then
 * try parsing. On failure (e.g. half-written file), wait another 500ms
 * and retry once.
 *
 * spec §8.2.
 */
export declare function reloadFromProjectCwd(projectFolder: string): Promise<ReloadResult>;
/** Delete cwd `.ccweb-flow-train.json`. Idempotent. */
export declare function cleanupProjectCwd(projectFolder: string): void;
/**
 * Filter a possibly LLM-mutated train.json content by the declared
 * whitelist of variable keys. Missing keys are filled with null.
 * Extra (non-whitelist) keys are discarded.
 *
 * spec §6.2 step 7 / §8.2.
 */
export declare function filterByWhitelist(data: Record<string, unknown>, whitelist: string[]): Record<string, unknown>;
//# sourceMappingURL=train-json-sync.d.ts.map