import { ElementType, ComponentPropsWithoutRef, ComponentPropsWithRef } from 'react';
declare type ComponentProp<C extends ElementType> = {
    component?: C;
};
declare type PropsToOmit<C extends ElementType, P> = keyof (ComponentProp<C> & P);
export declare type PolymorphicComponentProps<C extends ElementType, Props = {}> = Props & ComponentProp<C> & Omit<ComponentPropsWithoutRef<C>, PropsToOmit<C, Props>>;
declare type PolymorphicRef<C extends ElementType> = ComponentPropsWithRef<C>['ref'];
export declare type PolymorphicComponentPropsWithRef<C extends ElementType, Props = {}> = PolymorphicComponentProps<C, Props> & {
    ref?: PolymorphicRef<C>;
};
export {};
