import { GrammarObject } from "../types/grammar_nodes.js"; import { Item } from "./item.js"; /** * Get set of all items that can be derived from the parameter items. * If the symbol of a parameter item is a Production, the initial items * of the production are added to the closure, and the process repeats * until no new items are added. * * If ENTER_TOKEN_PRODUCTIONS is `true`, then the closure of the production * referenced by the production token will be included. The item containing * the production token will not be included. * * @param items * @param grammar * @param ENTER_TOKEN_PRODUCTIONS */ export declare function getClosure(items: Item[], grammar: GrammarObject, depth?: number): Item[]; /** * Get a closure that includes items that transition from productions of completed items * @param closure * @param goto_transition_items * @param grammar * @param productions */ export declare function getFollowClosure(closure: Item[], goto_transition_items: Item[], grammar: GrammarObject, productions?: Set, internal$item_track?: Set, KEEP_END_ITEMS?: boolean): Item[];