// Type definitions for tf-ag-grid v13.3.1-4
// Project: http://www.ag-grid.com/
// Definitions by: Niall Crosby
import { IAfterGuiAttachedParams, IComponent } from "../../interfaces/iComponent";
import { ComponentType } from "./componentResolver";
export declare enum RegisteredComponentSource {
DEFAULT = 0,
REGISTERED = 1,
}
/**
* B the business interface (ie IHeader)
* A the agGridComponent interface (ie IHeaderComp). The final object acceptable by ag-grid
*/
export interface RegisteredComponent & B, B> {
component: RegisteredComponentInput;
type: ComponentType;
source: RegisteredComponentSource;
}
export declare type RegisteredComponentInput & B, B> = AgGridRegisteredComponentInput | {
new (): B;
};
export declare type AgGridRegisteredComponentInput> = AgGridComponentFunctionInput | {
new (): A;
};
export declare type AgGridComponentFunctionInput = (params: any) => string | HTMLElement;
export declare class ComponentProvider {
private agGridDefaults;
private jsComponents;
private frameworkComponents;
postConstruct(): void;
registerComponent>(name: string, component: AgGridRegisteredComponentInput): void;
/**
* B the business interface (ie IHeader)
* A the agGridComponent interface (ie IHeaderComp). The final object acceptable by ag-grid
*/
registerFwComponent & B, B>(name: string, component: {
new (): IComponent;
}): void;
/**
* B the business interface (ie IHeader)
* A the agGridComponent interface (ie IHeaderComp). The final object acceptable by ag-grid
*/
retrieve & B, B>(name: string): RegisteredComponent;
}