/** * Options for saving editable JSON files. */ interface EditableJsonSaveOptions { /** * Whether to ignore whitespace-only changes when determining if save is needed. * @default false */ ignoreWhitespace?: boolean | undefined; /** * Whether to sort object keys alphabetically before saving. * @default false */ sort?: boolean | undefined; } /** * EditableJson class for non-destructive JSON file manipulation. * Preserves formatting when updating JSON files. */ export declare class EditableJson> { private _canSave; private _content; private _path; private _readFileContent; private _readFileJson; get content(): Readonly; get filename(): string; get path(): string | undefined; /** * Create a new JSON file instance. */ create(path: string): this; /** * Initialize from content object (disables saving). */ fromContent(data: unknown): this; /** * Initialize from JSON string. */ fromJSON(data: string): this; /** * Load JSON file from disk. */ load(path: string, create?: boolean): Promise; /** * Update content with new values. */ update(content: Partial): this; /** * Save JSON file to disk asynchronously. */ save(options?: EditableJsonSaveOptions): Promise; /** * Check if save will occur based on current changes. */ willSave(options?: EditableJsonSaveOptions): boolean; } /** * Get the EditableJson class for JSON file manipulation. */ export declare function getEditableJsonClass>(): typeof EditableJson; export {}; //# sourceMappingURL=editable-json.d.mts.map