// Type definitions for @dyna-grid/core v1.1.4 // Project: // Definitions by: zhangkun <> import { IComponent } from "../../interfaces/iComponent"; import { ComponentType } from "./componentTypes"; export interface FrameworkComponentWrapper { wrap>(frameworkComponent: { new (): any; } | null, methodList: string[], optionalMethodList: string[], componentType: ComponentType, componentName?: string | null): A; } export interface WrapableInterface { hasMethod(name: string): boolean; callMethod(name: string, args: IArguments): void; addMethod(name: string, callback: Function): void; } export declare abstract class BaseComponentWrapper implements FrameworkComponentWrapper { wrap>(OriginalConstructor: { new (): any; }, mandatoryMethodList: string[], optionalMethodList: string[], componentType: ComponentType, componentName?: string): A; abstract createWrapper(OriginalConstructor: { new (): any; }, componentType: ComponentType, componentName?: string): F; private createMethod; protected createMethodProxy(wrapper: F, methodName: string, mandatory: boolean): Function; }