import { type Abort } from "./__internal/Abort.js"; import { type Raw_Optional_Value } from "./__internal/Raw_Optional_Value.js"; import { type Iterator } from "./__internal/refiner/Iterator.js"; import * as p_di from "./data.js"; export type Refiner = ($: Input, abort: Abort) => Result; export type Refiner_With_Parameter = ($: Input, abort: Abort, $p: Parameter) => Result; export type Refiner_Without_Error = ($: Input) => Result; export type Refiner_Without_Error_With_Parameter = ($: Input, $p: Parameter) => Result; export type Production = (iterator: Iterator, abort: Abort) => Result; export type Production_With_Parameter = (iterator: Iterator, abort: Abort, $p: Parameter) => Result; export type Production_Without_Error = (iterator: Iterator) => Result; export type Production_Without_Error_With_Parameter = (iterator: Iterator, $p: Parameter) => Result; export declare namespace lookup { type Acyclic = { get_entry: (id: string, abort: { no_such_entry: Abort; no_context_lookup: Abort; cycle_detected: Abort>; }) => Type; __get_entry_raw: (id: string, abort: { no_context_lookup: Abort; cycle_detected: Abort>; }) => Raw_Optional_Value; }; type Cyclic = { get_entry: (id: string, abort: { no_such_entry: Abort; no_context_lookup: Abort; accessing_cyclic_sibling_before_it_is_resolved: Abort; }) => p_di.Circular_Dependency; }; type Stack = { get_entry: (id: string, abort: { no_context_lookup: Abort; no_such_entry: Abort; cycle_detected: Abort>; }) => Type; get_entry_depth: (id: string, abort: { no_context_lookup: Abort; no_such_entry: Abort; cycle_detected: Abort>; }) => number; }; }