import * as p_di from "../../data.js"; import { type Abort } from "../Abort.js"; export interface Iterator { build_list: ($: { has_more_items: ($: Item) => boolean; handle: () => List_Item; on_no_progression: Abort; }) => p_di.List; build_list_with_segments: ($: { has_more_items: ($: Item) => boolean; handle: () => p_di.List; on_no_progression: Abort; }) => p_di.List; consume: (no_item: (end_info: End_Info) => T, item: (token: Item) => T) => T; consume_with_expectation: (expected: Expected, no_item: (end_info: End_Info, expected: Expected) => Value, item: (token: Item, expected: Expected) => Value) => Value; peek: (no_item: (end_info: End_Info) => T, item: (token: Item) => T) => T; peek_ahead: (offset: number, no_item: (end_info: End_Info) => T, item: (token: Item) => T) => T; peek_with_expectation: (expected: Expected, no_item: (end_info: End_Info, expected: Expected) => Value, item: (token: Item, expected: Expected) => Value) => Value; }