import { ITransaction } from "../models/Transaction"; import { IContextProps } from "../models/Context"; import Framework from "../Framework"; export declare type ToolInspectFunction = (msg: ITransaction, context: IContextProps) => void; export declare type ToolShouldInspectFunction = (msg: ITransaction, context: IContextProps) => boolean; export declare type ToolInitFunction = (framework: Framework) => void; export interface ITool { description?: string; init: ToolInitFunction; inspect: ToolInspectFunction; name: string; shouldInspect: ToolShouldInspectFunction; } declare abstract class Tool implements ITool { description: string; name: string; protected win: any; constructor(); init(win: any): void; inspect(msg: ITransaction, context: IContextProps): Promise | void; shouldInspect(msg: ITransaction, context: IContextProps): boolean; } export default Tool;