import * as React from 'react'; export declare type AssignableRef = { bivarianceHack(instance: ValueType | null): void; }['bivarianceHack'] | React.MutableRefObject | null; export declare type Use = React.ElementType; export declare type PropsWithUse = ComponentProps & Omit, 'use' | keyof ComponentProps> & { use?: string | ComponentType; }; export declare type PropsFromUse = (PropsWithUse & { use: string | ComponentType; }) & PropsWithUse; export declare type ComponentWithForwardedRef = React.ForwardRefExoticComponent> & React.ComponentPropsWithRef>; export interface ComponentWithUse { (props: PropsWithUse): React.ReactElement | null; (props: PropsWithUse): React.ReactElement | null; displayName?: string; propTypes?: React.WeakValidationMap>; contextTypes?: React.ValidationMap; defaultProps?: Partial>; useProps?: (props?: Partial, config?: { themeKey?: string; }) => any; } export declare function forwardRefWithUse(comp: (props: PropsFromUse, ref: React.RefObject) => React.ReactElement | null): ComponentWithUse;