/** * Iterates over all the invocations and receipts contained by the given * message regardless of their nesting. * * @param {API.AgentMessage} message * @param {object} [options] * @param {Visitor['invocation']} [options.invocation] * @param {Visitor['receipt']} [options.receipt] * @returns {Iterable} */ export function iterate(message: API.AgentMessage, options?: { invocation?: ((self: Visitor, invocation: API.Invocation) => Iterable) | undefined; receipt?: ((self: Visitor, receipt: API.Receipt) => Iterable) | undefined; }): Iterable; /** * @typedef {API.Variant<{invocation: API.Invocation, receipt: API.Receipt}>} Member * @typedef {Map} Blocks * * @typedef {object} Visitor * @property {Blocks} blocks * @property {(self: Visitor, invocation: API.Invocation) => Iterable} invocation * @property {(self: Visitor, receipt: API.Receipt) => Iterable} receipt */ /** * {@link API.AgentMessage} iterator. */ export class Iterator { /** * * @param {API.AgentMessage} message */ static blocks(message: API.AgentMessage): Map>; /** * Iterates all embedded invocations & receipts of the given receipt using the * provided visitor. * * @param {Visitor} iterator * @param {API.Receipt} receipt * @returns {Iterable} */ static receipt(iterator: Visitor, receipt: API.Receipt): Iterable; /** * Iterates all embedded invocations & receipts of the given invocation using the * provided visitor. * * @param {Visitor} iterator * @param {API.Invocation} invocation * @returns {Iterable} */ static invocation(iterator: Visitor, invocation: API.Invocation): Iterable; /** * @param {API.AgentMessage} message * @param {object} [options] * @param {Visitor['invocation']} [options.invocation] * @param {Visitor['receipt']} [options.receipt] */ constructor(message: API.AgentMessage, { invocation, receipt }?: { invocation?: ((self: Visitor, invocation: API.Invocation) => Iterable) | undefined; receipt?: ((self: Visitor, receipt: API.Receipt) => Iterable) | undefined; }); message: API.AgentMessage; blocks: Map>; invocation: (self: Visitor, invocation: API.Invocation) => Iterable; receipt: (self: Visitor, receipt: API.Receipt) => Iterable; [Symbol.iterator](): Generator<({ receipt?: undefined; } & { invocation: API.Invocation; }) | ({ invocation?: undefined; } & { receipt: API.Receipt; }) | { receipt: API.Receipt<{}, {}, API.Invocation>, API.SigAlg>; }, void, any>; } export function index(message: API.AgentMessage): Iterable; export type Member = API.Variant<{ invocation: API.Invocation; receipt: API.Receipt; }>; export type Blocks = Map; export type Visitor = { blocks: Blocks; invocation: (self: Visitor, invocation: API.Invocation) => Iterable; receipt: (self: Visitor, receipt: API.Receipt) => Iterable; }; import * as API from '../types.js'; //# sourceMappingURL=agent-message.d.ts.map