import { IArgdownLogger } from "./IArgdownLogger.js"; import { IRuleNodeHandler, ITokenNodeHandler } from "./ArgdownTreeWalker.js"; import { IArgdownRequest, IArgdownResponse } from "./index.js"; export interface IRequestHandler { (request: IArgdownRequest, response: IArgdownResponse, logger: IArgdownLogger): void; } export interface IArgdownPlugin { name: string; prepare?: IRequestHandler; run?: IRequestHandler; ruleListeners?: { [eventId: string]: IRuleNodeHandler; }; tokenListeners?: { [eventId: string]: ITokenNodeHandler; }; }