/** * @source https://github.com/DefinitelyTyped/DefinitelyTyped/blob/3198434bf6a22f1a541e065ff54564a9a72aff69/types/react/index.d.ts */ import { JSX, Component, ComponentProps } from "solid-js"; export {}; export type ElementType = Component | keyof JSX.IntrinsicElements; export type Ref = ((ref: T) => void) | null; export interface RefAttributes { ref?: Ref | undefined; } /** Ensures that the props do not include ref at all */ export type PropsWithoutRef

= P extends any ? "ref" extends keyof P ? Pick> : P : P; /** Ensures that the props do not include string ref, which cannot be forwarded */ export type PropsWithRef

= "ref" extends keyof P ? P extends { ref?: infer R | undefined; } ? string extends R ? PropsWithoutRef

& { ref?: Exclude | undefined; } : P : P : P; export type ComponentPropsWithRef = PropsWithRef>; export type JSXElementConstructor

= (props: P) => JSX.Element | null; //# sourceMappingURL=solid.d.ts.map