UNPKG

1.26 kBTypeScriptView Raw
1// Type definitions for ag-grid v18.1.2
2// Project: http://www.ag-grid.com/
3// Definitions by: Niall Crosby <https://github.com/ag-grid/>
4import { IComponent } from "../../interfaces/iComponent";
5/**
6 * B the business interface (ie IHeader)
7 * A the agGridComponent interface (ie IHeaderComp). The final object acceptable by ag-grid
8 */
9export interface FrameworkComponentWrapper {
10 wrap<A extends IComponent<any>>(frameworkComponent: {
11 new (): any;
12 }, methodList: string[], optionalMethodList?: string[], componentName?: string): A;
13}
14export interface WrapableInterface {
15 hasMethod(name: string): boolean;
16 callMethod(name: string, args: IArguments): void;
17 addMethod(name: string, callback: Function): void;
18}
19export declare abstract class BaseComponentWrapper<F extends WrapableInterface> implements FrameworkComponentWrapper {
20 wrap<A extends IComponent<any>>(OriginalConstructor: {
21 new (): any;
22 }, mandatoryMethodList: string[], optionalMethodList?: string[], componentName?: string): A;
23 abstract createWrapper(OriginalConstructor: {
24 new (): any;
25 }, componentName?: string): F;
26 private createMethod(wrapper, methodName, mandatory);
27 private createMethodProxy(wrapper, methodName, mandatory);
28}