/** One step in a path: a string selects an object member, a non-negative integer * selects an array index. The variadic `path` args of `get`/`has`/`hop`/`iter` * are sequences of these. */ export type Segment = string | number; /** A location in a document, as the sequence of {@link Segment}s from the root. * Carried by every {@link BoteError} (as `path`) to mark where a fault occurred. */ export type Path = readonly Segment[]; /** Upper bound on numeric segments (napi takes them as `u32`). 2^32 - 1 * comfortably covers any in-memory JSON array. */ export declare const MAX_ARRAY_INDEX = 4294967295; export declare function validatePath(path: readonly unknown[]): asserts path is readonly Segment[]; /** Render a {@link Path} as a readable JS-accessor string for logging or error * messages, e.g. `['users', 0, 'first name']` -> `users[0]["first name"]`. The * empty path renders as `(root)`. */ export declare function formatPath(path: Path): string;