/**
 * @file Editable JSON file manipulation with formatting preservation.
 */
import type { EditableJsonConstructor } from './types';
/**
 * Get the EditableJson class for JSON file manipulation.
 *
 * @example
 *   ;```ts
 *   import { getEditableJsonClass } from '@socketsecurity/lib/json/edit'
 *
 *   const EditableJson = getEditableJsonClass<MyConfigType>()
 *   const config = await EditableJson.load('./config.json')
 *   config.update({ someField: 'newValue' })
 *   await config.save({ sort: true })
 *   ```
 */
export declare function getEditableJsonClass<T = Record<string, unknown>>(): EditableJsonConstructor<T>;
/**
 * Read file content from disk with retry logic for ENOENT errors.
 *
 * @private
 */
export declare function readFile(filepath: string): Promise<string>;
/**
 * Retry a file write operation with exponential backoff on Windows EPERM
 * errors. Windows can have transient file locking issues with temp
 * directories.
 *
 * @private
 */
export declare function retryWrite(filepath: string, content: string, retries?: number, baseDelay?: number): Promise<void>;
