import { IArgdownPlugin, IRequestHandler } from "../IArgdownPlugin.js"; import { IRuleNodeHandler, ITokenNodeHandler } from "../ArgdownTreeWalker.js"; import { IArgdownRequest, IArgdownResponse } from "../index.js"; import { IEquivalenceClass, IArgument, IRelation, ISection } from "../model/model.js"; import { ISpecialCharacterDictionary } from "./shortcodes.js"; export interface ITagData { tag: string; cssClass?: string; color?: string; occurrenceIndex?: number; priority?: number; } export declare enum InterpretationModes { LOOSE = "loose", STRICT = "strict" } export interface IModelPluginSettings { mode?: InterpretationModes; removeTagsFromText?: boolean; transformArgumentRelations?: boolean; shortcodes?: ISpecialCharacterDictionary; explodeArguments?: boolean; } declare module "../index.js" { interface IArgdownRequest { model?: IModelPluginSettings; } interface IArgdownResponse { arguments?: { [title: string]: IArgument; }; statements?: { [title: string]: IEquivalenceClass; }; relations?: IRelation[]; sections?: ISection[]; maxSectionLevel?: number; tags?: { [tagName: string]: ITagData; }; } } export declare class ModelPlugin implements IArgdownPlugin { name: string; defaults: IModelPluginSettings; ruleListeners: { [eventId: string]: IRuleNodeHandler; }; tokenListeners: { [eventId: string]: ITokenNodeHandler; }; getSettings: (request: IArgdownRequest) => IModelPluginSettings; prepare: IRequestHandler; transformArgumentRelations: (response: IArgdownResponse) => void; transformStatementRelations: (response: IArgdownResponse) => void; removeRelationFromSource: (relation: IRelation) => void; removeRelationFromTarget: (relation: IRelation) => void; removeRedundantEC2ARelations: (response: IArgdownResponse) => void; assignSectionOfFirstMemberIfWithoutSection: (node: IArgument | IEquivalenceClass) => void; run: IRequestHandler; constructor(config?: IModelPluginSettings); }