import { IFormController } from "./iformcontroller"; import { ControlExecutionContext } from "../controlexecutioncontext"; import { IActionData } from "./iactiondata"; import { ControlEventBaseArgs } from "../events/controleventbaseargs"; export interface IControl { readonly controlTypeName: string; readonly controlName: string; loadControl(formController: IFormController): void; unloadControl(formController: IFormController): void; showControl(): void; refreshControl(): void; hideControl(): void; createExecutionContext(): ControlExecutionContext; getGeneralActions(): IActionData[]; setContentChanged(contentChanged: boolean): void; addListener(eventName: string, listener: (eventArg: ControlEventBaseArgs) => boolean): void; removeListener(eventName: string, listener: (eventArg: ControlEventBaseArgs) => boolean): void; }