import { Path } from '@sanity/types';
export declare type JSONValue = number | string | boolean | {
    [key: string]: JSONValue;
} | JSONValue[];
export declare type Origin = 'remote' | 'local' | 'internal';
export declare type SetPatch = {
    path: Path;
    type: 'set';
    origin?: Origin;
    value: JSONValue;
};
export declare type IncPatch = {
    path: Path;
    type: 'inc';
    origin?: Origin;
    value: JSONValue;
};
export declare type DecPatch = {
    path: Path;
    type: 'dec';
    origin?: Origin;
    value: JSONValue;
};
export declare type SetIfMissingPatch = {
    path: Path;
    origin?: Origin;
    type: 'setIfMissing';
    value: JSONValue;
};
export declare type UnsetPatch = {
    path: Path;
    origin?: Origin;
    type: 'unset';
};
export declare type InsertPosition = 'before' | 'after';
export declare type InsertPatch = {
    path: Path;
    origin?: Origin;
    type: 'insert';
    position: InsertPosition;
    items: JSONValue[];
};
export declare type DiffMatchPatch = {
    path: Path;
    type: 'diffMatchPatch';
    origin?: Origin;
    value: string;
};
export declare type Patch = SetPatch | SetIfMissingPatch | UnsetPatch | InsertPatch | DiffMatchPatch;
//# sourceMappingURL=types.d.ts.map