import { ObjectEditOperation } from '../definitions/objectEditOperation'; import { IsStrictlyAny } from '../utils/typeUtils'; import { DeepRequired } from 'ts-essentials'; interface CommitFunction { /** * @description * Applies all changes. */ commit(): void | Promise; } interface ClearFunction { /** * @description * Clears the root value to an empty object. */ clear(): void; } export declare type PathEditContentBundle = ({} extends T ? ClearFunction : {}) & CommitFunction & (IsStrictlyAny extends true ? { [K: string]: any; } : DeepRequired); export declare type PathEditContent = ({} extends T ? ClearFunction : {}) & (IsStrictlyAny extends true ? { [K: string]: any; } : DeepRequired); export default function createPathEditContentAPI(onCommit: (operations: ObjectEditOperation[]) => void | Promise, bundle?: B): true extends B ? PathEditContentBundle : PathEditContent; export {};