/// declare type PickRequired = Required>; export declare namespace Polymorphic { /** Maps our name to the HTMLElement ref type */ export type Ref, T extends keyof Names> = React.ComponentPropsWithRef['ref']; type PolymorphicProp, T extends keyof M> = { as?: (props: React.ComponentPropsWithRef) => React.ReactElement | null; role: T; }; type CleanComponentProps, T extends keyof M, Props> = Omit, keyof (PolymorphicProp & Props)>; type RequiredComponentProps, T extends keyof M, Require extends keyof React.ComponentPropsWithoutRef> = PickRequired, Require>; export type ComponentProps, Role extends keyof Names, Require extends keyof React.ComponentPropsWithoutRef, Props = {}> = PolymorphicProp & RequiredComponentProps & CleanComponentProps & Props; export type ComponentPropsWithRef, Role extends keyof Names, Require extends keyof React.ComponentPropsWithoutRef, Props = {}> = ComponentProps & { ref?: Ref; }; export {}; } export declare namespace PolymorphicAs { type ComponentPropsWithRef

= P & Omit, keyof P>; type ComponentPropsWithoutRef

= P & Omit, keyof P>; interface ComponentWithForwardedRef

{ (props: { as: C; } & ComponentPropsWithRef): JSX.Element; (props: ComponentPropsWithRef): JSX.Element; displayName?: string; } } export {};