import * as React from 'react' ; export type Merge < P1 = { [ key ] : any ; } , P2 = { [ key ] : any ; } > = Omit < P1 , keyof P2 > & P2 ; /**
 * Infers the OwnProps if E is a ForwardRefExoticComponentWithAs
 */ export type OwnProps < E > = E extends ForwardRefComponent < any , infer P > ? P : { [ key ] : any ; } ; /**
 * Infers the JSX.IntrinsicElement if E is a ForwardRefExoticComponentWithAs
 */ export type IntrinsicElement < E > = E extends ForwardRefComponent < infer I , any > ? I : never ; export type ForwardRefExoticComponent < E , OwnProps > = React . ForwardRefExoticComponent < Merge < E extends React . ElementType ? React . ComponentPropsWithRef < E > : never , OwnProps & { as ? : E ; } > > ; export interface ForwardRefComponent < IntrinsicElementString , OwnProps = { [ key ] : any ; } > extends ForwardRefExoticComponent < IntrinsicElementString , OwnProps > { /**
     * When `as` prop is passed, use this overload.
     * Merges original own props (without DOM props) and the inferred props
     * from `as` element with the own props taking precendence.
     *
     * We explicitly avoid `React.ElementType` and manually narrow the prop types
     * so that events are typed when using JSX.IntrinsicElements.
     */ < As = IntrinsicElementString > ( props ) : React . ReactElement | null ; } /**
 * Alignment Types
 */ export type AlignX = 'center' | 'left' | 'right' ; export type AlignY = 'center' | 'top' | 'bottom' ; export type Breakpoints = 'default' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' ; export type BreakpointsWithoutDefault = 'xs' | 'sm' | 'md' | 'lg' | 'xl' ; export type Headings = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' ; export type LinkActionProps = { to ? : string | { [ key ] : any ; } ; disabled ? : boolean ; external ? : boolean ; deprecated component ? : React . ElementType ; deprecated Component ? : React . ElementType ; } ; /**
 * Omits a single prop from React.ComponentPropsWithoutRef
 */ export type ComponentPropsWithout < T extends React . ElementType , K extends string > = Omit < React . ComponentPropsWithoutRef < T > , K > ;