import { GuidAccepted, IGuidImmutable } from "@ef-carbon/primitive"; import { IDiscourseExpectedImmutable } from "../discourse/IExpected"; import { IDiscourseStatementImmutable } from "../discourse/IStatement"; import { IFormationMetaImmutable } from "./IMeta"; import { IOptions as IWalkerOptions } from "./Walker"; import { ICacheMutable } from "../ICache"; import { IContextImmutable } from "../IContext"; import { IDiscourseImmutable } from "../IDiscourse"; import { ILinkImmutable } from "../ILink"; import { ILinkProcessOptions } from "../link/process"; export interface IFormationProcessorOptions extends IWalkerOptions { } export declare abstract class FormationProcessor implements AsyncIterableIterator { cache: ICacheMutable; options: ILinkProcessOptions; readonly id: IGuidImmutable; readonly start: IGuidImmutable; readonly discourse: IDiscourseImmutable | undefined; readonly link: ILinkImmutable | undefined; readonly redirect: IGuidImmutable | undefined; readonly tags: ReadonlyArray; readonly meta: IFormationMetaImmutable; readonly features: ReadonlySet; private readonly walker; private context; constructor(options: IFormationProcessorOptions); next(id?: GuidAccepted): Promise>; return(): Promise>; private result; [Symbol.asyncIterator](): AsyncIterableIterator; throw(error: Error): Promise>; private process; protected abstract statement(discourse: IDiscourseStatementImmutable, context: IContextImmutable): Promise; protected abstract expected(discourse: IDiscourseExpectedImmutable, context: IContextImmutable): Promise; } export { FormationProcessor as Processor, IFormationProcessorOptions as IOptions }; export default FormationProcessor;