import type { JsonPointerPath } from "@stryke/types/json";
/**
 * Escapes a JSON pointer path segment.
 *
 * @param segment - JSON pointer path segment.
 * @returns Escaped JSON pointer path segment.
 */
export declare function escapePointerSegment(segment: string): string;
/**
 * Unescapes a JSON pointer path segment.
 *
 * @param segment - JSON pointer path segment.
 * @returns Unescaped JSON pointer path segment.
 */
export declare function unescapePointerSegment(segment: string): string;
/**
 * Convert JSON pointer like "/foo/bar" to array like ["", "foo", "bar"], while
 * also un-escaping reserved characters.
 */
export declare function parseJsonPointer(pointer: string): JsonPointerPath;
/**
 * Escape and format a path array like ["", "foo", "bar"] to JSON pointer
 * like "/foo/bar".
 */
export declare function formatJsonPointer(path: JsonPointerPath): string;
/**
 * Returns true if JSON Pointer points to root value, false otherwise.
 */
export declare const isRoot: (path: string | number | JsonPointerPath) => boolean;
/**
 * Returns parent path, e.g. for ['foo', 'bar', 'baz'] returns ['foo', 'bar'].
 */
export declare function parent(path: JsonPointerPath): JsonPointerPath;
/**
 * Check if path component can be a valid array index.
 */
export declare function isValidIndex(index: string | number): boolean;
export declare const isInteger: (str: string) => boolean;
