// Type definitions for ag-grid v18.1.2
// Project: http://www.ag-grid.com/
// Definitions by: Niall Crosby
import { 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 interface DeprecatedComponentName {
propertyHolder: string;
newComponentName: string;
}
export declare class ComponentProvider {
private gridOptions;
private agGridDefaults;
private agDeprecatedNames;
private jsComponents;
private frameworkComponents;
private init();
registerDefaultComponent>(rawName: string, component: AgGridRegisteredComponentInput, overridable?: boolean): void;
registerComponent>(rawName: 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>(rawName: 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>(rawName: string): RegisteredComponent;
private translateIfDeprecated(raw);
}