import type { FunctionComponent, JSX, StyleInput } from "./index" export type InterpolationFunction = (props: T) => string | number | null export type StyledComponent = ( template: TemplateStringsArray, ...interpolations: (InterpolationFunction | string | number)[] ) => FunctionComponent type HTMLStyledComponentMap = { [key in keyof JSX.IntrinsicElements]: StyledComponent } type CustomStyledComponent = ( customComponent: FunctionComponent ) => ( template: TemplateStringsArray, ...interpolations: (InterpolationFunction | string | number)[] ) => FunctionComponent< Omit & { style: StyleInput } > // type SVGStyledComponentMap = { // [key in SVGElementTagNames]: StyledComponent> // } declare const styled: HTMLStyledComponentMap & CustomStyledComponent // & SVGStyledComponentMap