import { GuidAccepted, IGuidImmutable } from "@ef-carbon/primitive"; import { IFormationMetaImmutable } from "./IMeta"; import { ICacheMutable } from "../ICache"; import { IContextImmutable } from "../IContext"; import { IDiscourseImmutable } from "../IDiscourse"; import { ILinkImmutable } from "../ILink"; import { ILinkProcessOptions } from "../link/process"; export interface IFormationWalkerOptions extends ILinkProcessOptions { cache: ICacheMutable; id: GuidAccepted; } export interface IFormationWalkerData { id: IGuidImmutable; discourse: IDiscourseImmutable; context: IContextImmutable; } export declare class FormationWalker implements AsyncIterableIterator> { cache: ICacheMutable; options: ILinkProcessOptions; readonly start: IGuidImmutable; private formation; private redirection; constructor({ cache, id, ...rest }: IFormationWalkerOptions); next(context?: IContextImmutable | [GuidAccepted, IContextImmutable]): Promise>>; readonly id: IGuidImmutable; readonly discourse: IDiscourseImmutable | undefined; readonly link: ILinkImmutable | undefined; readonly redirect: IGuidImmutable | undefined; readonly tags: ReadonlyArray; readonly meta: IFormationMetaImmutable; readonly features: ReadonlySet; return(): Promise>>; [Symbol.asyncIterator](): AsyncIterableIterator>; throw(error: Error): Promise>>; } export { FormationWalker as Walker, IFormationWalkerOptions as IOptions, IFormationWalkerData as IData }; export default FormationWalker;