import React, { type ReactElement } from 'react'; import type { ComponentProps } from '../types/index.js'; type Components = Record; export declare const components: Components; /** * Registers a react component to be rendered for a given CMS component type. * * @param type - Component type. Should be the exact component type in the CMS. * @param component - Component to be registered. * * @returns Ready component. */ export declare const registerComponent: (type: string, component: React.ElementType) => React.ElementType; /** * Editorial component. Renders a component by looking it up in the registered * types. * * @example * ``` * import { Component } from '@farfetch/blackout-react'; * ``` * @example * ``` * * ``` * * @param props - All props of component. * * @returns - A registered component. */ declare const Component: ({ component, children, ...props }: ComponentProps) => ReactElement | null; export default Component;