import Tool, { ITool } from "./Tool"; import { ITransaction } from "../models/Transaction"; import { IContextProps } from "../models/Context"; import HTMLCode from "../html/HTMLCode"; import JSCode from "../js/JSCode"; export declare type CodeInspectFunction = (code: HTMLCode | JSCode, msg: ITransaction, context: IContextProps) => void; export interface ICodeTool extends ITool { inspectCode: CodeInspectFunction; } declare abstract class CodeTool extends Tool implements ICodeTool { constructor(); inspect(msg: ITransaction, context: IContextProps): Promise | void; shouldInspect(msg: ITransaction, context: IContextProps): boolean; abstract inspectCode(code: HTMLCode | JSCode, msg: ITransaction, context: IContextProps): Promise | void; } export default CodeTool;