import type { ParsersEngineDataBox } from '../../parsersEngine/definitions/parsersEngineDataBox.js'; import type { ParserToolbox } from '../../parsersEngine/ParserToolbox.js'; import type { ParserOutputConfiguration } from './parserOutputConfiguration.js'; import type { CommonBuiltInParserOptions } from './commonBuiltInParserOptions.js'; export type BuiltInParserFunction< ParserOptions extends (CommonBuiltInParserOptions & { [key: string]: unknown }) | undefined = | (CommonBuiltInParserOptions & { [key: string]: unknown }) | undefined, OutputConfiguration extends ParserOutputConfiguration | undefined = | ParserOutputConfiguration | undefined, In extends ParsersEngineDataBox = ParsersEngineDataBox, Out extends ParsersEngineDataBox = ParsersEngineDataBox, IsRemote extends boolean = boolean, > = ( previousDataBox: In, toolbox: ParserToolbox, parserOptions: ParserOptions, outputConfiguration: OutputConfiguration, context: { isRemote: IsRemote; }, ) => Promise;