/** * Options for JSON merge operations */ export interface JsonMergeOptions { /** JSON path to the target location (e.g., "scripts", "hooks.dw.ocapi") */ jsonPath?: string; /** Whether to create the path if it doesn't exist */ createPath?: boolean; } /** * Create a nested path in an object * @param obj - The object to modify * @param path - Dot-separated path to create * @returns The parent object of the final key */ export declare function createPath(obj: Record, path: string): [Record, string]; /** * Merge JSON content into an existing JSON string * @param existingJson - The existing JSON string * @param newContent - JSON content to merge (string or object) * @param options - Merge options * @returns Updated JSON string */ export declare function mergeJson(existingJson: string, newContent: string | Record, options?: JsonMergeOptions): string; /** * Options for text insertion operations */ export interface TextInsertOptions { /** Marker string to find for insert-after/insert-before */ marker?: string; /** Whether to add a newline after the inserted content */ addNewline?: boolean; } /** * Insert text after a marker in existing content * @param existingContent - The existing text content * @param newContent - Content to insert * @param marker - Marker string to find * @returns Updated content */ export declare function insertAfter(existingContent: string, newContent: string, marker: string): string; /** * Insert text before a marker in existing content * @param existingContent - The existing text content * @param newContent - Content to insert * @param marker - Marker string to find * @returns Updated content */ export declare function insertBefore(existingContent: string, newContent: string, marker: string): string; /** * Append content to the end of existing content * @param existingContent - The existing text content * @param newContent - Content to append * @returns Updated content */ export declare function appendContent(existingContent: string, newContent: string): string; /** * Prepend content to the beginning of existing content * @param existingContent - The existing text content * @param newContent - Content to prepend * @returns Updated content */ export declare function prependContent(existingContent: string, newContent: string): string;