import { JSONValuePath } from '../../../utils/JSONDefinitions.js'; import { JSONPath, JSONPathCommonMethods } from './JSONPath.js'; export declare class TreePath extends JSONPath implements JSONPathCommonMethods { #private; static readonly name = "TreePath"; static empty(): TreePath; /** * Build a `TreePath` from a JSON value path * @param path */ static fromJsonValuePath(path: JSONValuePath): TreePath; /** * Build a `TreePath` from a string representation * @param stringPath */ static fromString(stringPath: string): TreePath; /** * By passing a string to the constructor, **nothing will be validated. So only do it if you know what you're doing** */ constructor(path: Array, string?: string); /** * Returns true if the path is empty = root level of token tree */ get isRoot(): boolean; /** * Mutates the current path * @param path */ update(path: Array): this; /** * Mutates the current path * @param item */ prepend(item: string): this; /** * Mutates the current path */ append(item: string): this; /** * Mutates the current path */ removeLeft(until: number): this; /** * Mutates the current path */ removeRight(until: number): this; /** * Mutates the current path */ replaceAt(i: number, replacer: string): this; /** * Creates a copy */ clone(): TreePath; /** * Creates a copy */ merge(otherTreePath: TreePath): TreePath; /** * Creates a copy */ slice(from: number, to?: number): TreePath; /** * Creates a copy */ makeParentPath(): TreePath; }