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