/** based on framer-motion@4.1.17, Copyright (c) 2018 Framer B.V. */ import * as React from "react"; import { MotionProps } from "../../motion/types"; import { MotionComponentConfig } from "../../motion"; /** * I'd rather the return type of `custom` to be implicit but this throws * incorrect relative paths in the exported types and API Extractor throws * a wobbly. * * @internal */ export declare type CustomDomComponent = React.ForwardRefExoticComponent & React.RefAttributes>; export interface CustomMotionComponentConfig { forwardMotionProps?: boolean; } export declare type CreateConfig = (Component: string | React.ComponentType, config: CustomMotionComponentConfig) => MotionComponentConfig; /** * Convert any React component into a `motion` component. The provided component * **must** use `React.forwardRef` to the underlying DOM component you want to animate. * * ```jsx * const Component = React.forwardRef((props, ref) => { * return
* }) * * const MotionComponent = motion(Component) * ``` * * @public */ export declare function createMotionProxy(createConfig: CreateConfig): ((Component: string | React.ComponentType, customMotionComponentConfig?: CustomMotionComponentConfig) => CustomDomComponent) & import("../html/types").HTMLMotionComponents & import("../svg/types").SVGMotionComponents;