import React, { ComponentType, ReactElement, ReactNode } from 'react'; export declare class EmptyRender extends React.Component { render(): null; } export declare type ComponentsTypesWithProps = { [P in keyof Partial]: ComponentType | Partial | null; }; export declare type ComponentsTypeProps = { [P in keyof Partial]: E[P] | null; }; export declare type ComponentsTypes = { [P in keyof E]: ComponentType; }; export declare type PartialInnerTypes = { [P in keyof E]: Partial; }; export declare type RendererFunction = (props: Omit, components?: ComponentsTypes) => R | null; export declare type RendererFunctionFC = (props: Omit) => R | null; export declare type ComponentRenderer = (props: Omit & M & A) => ReactElement | null; export declare function memoEqual(prevProps: any, nextProps: any): boolean; export declare function memoEqualNoChildren(prevProps: any, nextProps: any): boolean; export declare const buildDynamicComponent: (components: Partial

| null | undefined, component: keyof P, DefaultComponent: ComponentType) => any; export declare const buildPropsComponents:

(components: any, defaultComponents: P) => P; export declare const generateComponent: (components: Partial

| null | undefined, component: keyof P, defaultComponent: ComponentType) => any; export declare const buildComponents:

(components: any, defaultComponents: P) => P; export declare const useDynamicComponents: | undefined; }>(defaultComponents: A, props: P) => A; export declare const buildComponentsProps:

(configComponents: P, propsComponents: P) => any; export declare const cloneComponentsWithProps:

(components: ComponentsTypes

, configProps: PartialInnerTypes

) => ComponentsTypes

; export declare class FronteggClass; } = {}, S = {}> extends React.Component { compsProps: PartialInnerTypes; comps: ComponentsTypes; constructor(props: P, defaultComponents: ComponentsTypes); } export declare const checkValidChildren: (wrapperName: string, hostName: string, children: ReactNode, requiredComponents: Partial, depth?: number) => true | undefined;