import { ITargetImmutable, ITargetMutable } from "@ef-carbon/classification"; import { InputType } from "@ef-carbon/input"; import Type from "./Type"; import Factory from "../Factory"; import { IBaseImmutable as IDiscourseImmutable, IBaseMutable as IDiscourseMutable } from "../IDiscourse"; export interface IDiscourseExpectedImmutable extends IDiscourseMutable { readonly type: Type.Expected; readonly statement: Data; readonly suggestions?: ReadonlyArray; readonly expected: ReadonlyArray; readonly hint?: InputType | ReadonlyArray; } export interface IDiscourseExpectedMutable extends IDiscourseExpectedImmutable, IDiscourseImmutable { statement: Data; suggestions?: Array; expected: Array; hint?: InputType | Array; } export interface IDiscourseExpectedOptions { readonly statement: DataImmutable; readonly suggestions?: Iterable; readonly expected: Iterable; readonly hint?: InputType | Iterable; readonly factory: Factory; } export interface IDiscourseExpectedStatic { new (init: IDiscourseExpectedOptions): IDiscourseExpectedMutable; } export { IDiscourseExpectedImmutable as IImmutable, IDiscourseExpectedMutable as IMutable, IDiscourseExpectedOptions as IOptions, IDiscourseExpectedStatic as IStatic, }; export default IDiscourseExpectedMutable;