import type { BaseType, GetElementType, TagCommand, TagType, UpdateStats as Stats, Value } from '../..'; type IndexedChange>, I extends keyof A = keyof A> = A[I] | TagCommand; export type TaggedChanges> | Value> = Partial<{ [K in keyof T]: T[K] | TagCommand; } | (T extends Array> ? { [index: string]: IndexedChange; } : { [T in TagType]: TagCommand; })>; type TagFunction = > | Value, K extends keyof T>(value: T, valueKey: K, stats: Stats, changes?: TaggedChanges) => void; export declare const $clear: TagFunction; export declare const $delete: TagFunction; export declare const $move: TagFunction; export declare const $push: TagFunction; export declare const $replace: TagFunction; export declare const $set: TagFunction; export declare const $splice: TagFunction; declare const tagMap: { "@@CLEAR": TagFunction; "@@DELETE": TagFunction; "@@MOVE": TagFunction; "@@PUSH": TagFunction; "@@REPLACE": TagFunction; "@@SET": TagFunction; "@@SPLICE": TagFunction; }; export default tagMap; export declare const isArrayOnlyTag: { (tag: BaseType): boolean; (tag: TagType): boolean; }; export declare const isClosedTag: { (tag: BaseType): boolean; (tag: TagType): boolean; };