type HasFields = { [k: string]: CssProp } type CssProp = number | string | CssProp[] | HasFields type CssLike = { [k: string]: CssProp } interface TailwindPluginHook { addBase: (css: CssLike) => void e: (escape?: string) => string theme: (key: string, defaults: T) => T variants: (key: string, defaults: T) => T addUtilities: (utils: T[], variants: string[]) => void } export type TailwindPlugin = (tailwind: TailwindPluginHook) => void