import type { ComponentType } from 'react'; /** * Higher order components can cause props to be obviated. For example a HOC that * injects i18n props will obviate the need for the i18n props to be passed to the component. * * If a HOC does not obviate the need for any specific props then we default to `{}` which * essentially subtracts 0 from the original props of the passed in component. An example * of this is the `pure` HOC which does not change the API surface of the component but * simply modifies the internals. */ export declare type HigherOrderComponent> = (Inner: ComponentType) => {} extends HOCProps ? ComponentType : ComponentType>; /** * Given a function mapping a component to an enhanced component and modifier * name, returns the enhanced component augmented with a generated displayName. * * @param mapComponent Function mapping component to enhanced component. * @param modifierName Seed name from which to generated display name. * * @return Component class with generated display name assigned. */ declare function createHigherOrderComponent = {}>(mapComponent: HigherOrderComponent, modifierName: string): (Inner: ComponentType) => {} extends HOCProps ? ComponentType : ComponentType>; export default createHigherOrderComponent; //# sourceMappingURL=index.d.ts.map