import { IComponent } from "../../interfaces/iComponent";
import { BeanStub } from "../../context/beanStub";
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;
componentFromFramework: boolean;
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 UserComponentRegistry extends BeanStub {
private gridOptions;
private agGridDefaults;
private agDeprecatedNames;
private jsComponents;
private frameworkComponents;
private init;
registerDefaultComponent>(rawName: string, component: AgGridRegisteredComponentInput): 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;
}