import type { FnO, Maybe } from "@thi.ng/api"; import type { Path, ZipperOps } from "./api.js"; export declare class Location { protected readonly _node: T; protected readonly _ops: ZipperOps; protected readonly _path: Maybe>; constructor(node: T, ops: ZipperOps, path?: Path); get isBranch(): boolean; get isFirst(): boolean; get isLast(): boolean; get depth(): number; get node(): T; get children(): T[]; get path(): T[] | undefined; get lefts(): T[] | undefined; get rights(): T[] | undefined; get left(): Maybe>; get right(): Maybe>; get leftmost(): Location; get rightmost(): Location; get down(): Maybe>; get up(): Maybe>; get root(): T; get prev(): Maybe>; get next(): Maybe>; replace(x: T): Location; update(fn: FnO, ...args: any[]): Location; insertLeft(x: T): Location; insertRight(x: T): Location; insertChild(x: T): Location; appendChild(x: T): Location; remove(): Location; protected newNode(node: T, children: T[]): T; protected ensureNotRoot(): void; private ensureBranch; } export declare const zipper: (ops: ZipperOps, node: T) => Location; export declare const arrayZipper: (root: T[]) => Location; //# sourceMappingURL=zipper.d.ts.map