/** Unescape token part of a JSON Pointer string `token` should *not* contain any '/' characters. > Evaluation of each reference token begins by decoding any escaped > character sequence. This is performed by first transforming any > occurrence of the sequence '~1' to '/', and then transforming any > occurrence of the sequence '~0' to '~'. By performing the > substitutions in this order, an implementation avoids the error of > turning '~01' first into '~1' and then into '/', which would be > incorrect (the string '~01' correctly becomes '~1' after > transformation). Here's my take: ~1 is unescaped with higher priority than ~0 because it is a lower-order escape character. I say "lower order" because '/' needs escaping due to the JSON Pointer serialization technique. Whereas, '~' is escaped because escaping '/' uses the '~' character. */ export declare function unescapeToken(token: string): string; /** Escape token part of a JSON Pointer string > '~' needs to be encoded as '~0' and '/' > needs to be encoded as '~1' when these characters appear in a > reference token. This is the exact inverse of `unescapeToken()`, so the reverse replacements must take place in reverse order. */ export declare function escapeToken(token: string): string; export interface PointerEvaluation { parent: any; key: string; value: any; } /** JSON Pointer representation */ export declare class Pointer { tokens: string[]; constructor(tokens?: string[]); /** `path` *must* be a properly escaped string. */ static fromJSON(path: string): Pointer; toString(): string; /** Returns an object with 'parent', 'key', and 'value' properties. In the special case that this Pointer's path == "", this object will be {parent: null, key: '', value: object}. Otherwise, parent and key will have the property such that parent[key] == value. */ evaluate(object: any): PointerEvaluation; get(object: any): any; set(object: any, value: any): void; push(token: string): void; /** `token` should be a String. It'll be coerced to one anyway. immutable (shallowly) */ add(token: string): Pointer; }