import type React from "react"; type ComponentPropsAs< C extends React.ElementType, T extends React.ComponentPropsWithoutRef["as"], > = Omit< Extract, { as: T }>, "as" | "asChild" >; // Omits the specified props from the component props. Autocomplete will suggest props // of the component, but won't restrict the omittable props to those that actually exist. type ComponentPropsWithout< T extends React.ElementType, O extends | Omit> | keyof React.ComponentPropsWithoutRef, > = Omit, O & string>; type RemovedProps = "asChild" | "defaultChecked" | "defaultValue" | "color"; export type { ComponentPropsAs, ComponentPropsWithout, RemovedProps };