/**
 * 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<string, unknown>, path: string): [Record<string, unknown>, 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<string, unknown>, 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;
