import type { InitializationStatus } from './boilerplateTemplates'; /** * Parameters controlling one string-record merge into a JSON file. */ type MergeStringRecordJsonFileOptions = { readonly projectPath: string; readonly relativeFilePath: string; readonly fieldPath: string; readonly nextEntries: Readonly>; readonly ensureParentDirectoryPath?: string; /** Optional narrowly scoped migration of existing entries before missing defaults are added. */ readonly transformExistingEntries?: (entries: Readonly>) => Readonly> | Promise>>; }; /** * Result of one additive string-record merge into a JSON file. * * @private internal utility of `coder init` command */ export type MergedStringRecordJsonFile = { /** * Status describing whether the JSON file had to be created or updated. */ readonly status: InitializationStatus; /** * Keys which were missing in the JSON file and therefore added by the merge. */ readonly addedEntryKeys: ReadonlyArray; }; /** * Ensures one JSON object field contains the provided string-record entries. * * Entries are additive unless a caller explicitly supplies a scoped migration callback. * Hand-tuned scripts and settings survive repeated `ptbk coder init`; migrations recognize generated entries only. * * @private function of `initializeCoderProjectConfiguration` */ export declare function mergeStringRecordJsonFile({ projectPath, relativeFilePath, fieldPath, nextEntries, ensureParentDirectoryPath, transformExistingEntries, }: MergeStringRecordJsonFileOptions): Promise; export {};