react-application-core
Version:
A react-based application core for the business applications.
23 lines (22 loc) • 1.05 kB
TypeScript
import * as React from 'react';
import { IGenericComponent, IGenericComponentCtor, IGenericComponentProps } from './generic-component-definition.interface';
/**
* @plugin
* @stable [10.04.2020]
*/
export interface IGenericPlugin<TProps extends IGenericComponentProps = IGenericComponentProps, TState = {}> extends React.ComponentLifecycle<TProps, TState> {
}
/**
* @factory
* @stable [10.04.2020]
*/
export declare type GenericPluginFactoryT = <TProps extends IGenericComponentProps = IGenericComponentProps, TState = {}>(component: IGenericComponent) => IGenericPlugin<TProps, TState>;
/**
* @ctor
* @stable [10.04.2020]
*/
export declare type GenericPluginCtorT<TComponent extends IGenericComponent<TProps, TState> = IGenericComponent<TProps, TState>, TProps extends IGenericComponentProps = IGenericComponentProps, TState = {}> = new (component: TComponent) => IGenericPlugin<TProps, TState>;
/**
* @stable [21.04.2020]
*/
export declare type GenericPluginsMapT = Map<IGenericComponentCtor, GenericPluginFactoryT[]>;