/** * @typedef {Readonly<[any[], Iterator]>} ParserState */ export class ParseError extends Error { /** * @param {string} message * @param {ParserState} state * @param {Error} [cause] */ constructor(message: string, state: ParserState, cause?: Error); state: readonly [any[], Iterator]; } export class State extends Tuple { static from(values: any): State; constructor(remaining: any, read?: any[]); next(): any; [Clone](): Readonly; } export function state(remaining: any, read: any): State; export const parse: any; export const parseAll: any; export type ParserState = Readonly<[any[], Iterator]>; import { Tuple } from './tuple.js'; import { Clone } from './clone.js';