declare module 'tailwindcss' { type HasFields = { [k: string]: CssProp } type CssProp = number | string | CssProp[] | HasFields type Theme = (part: string) => CssProp type ThemeFn = (theme: Theme) => CssProp const theme: ThemeFn interface ThemeAble { [key: string]: CssProp | ThemeFn } type Config = { plugins?: Function[] theme?: ThemeAble extends?: ThemeAble } type Options = { config: Config } import { AcceptedPlugin } from 'postcss' type tailwind = (options: Options) => AcceptedPlugin const tailwind: tailwind export default tailwind } declare module 'tailwindcss/stubs/defaultConfig.stub' { export {} } declare module 'tailwindcss/resolveConfig' { type ResolveConfig = ( ...config: any[] ) => { [k: string]: any } const resolveConfig: ResolveConfig export default resolveConfig } declare module 'tailwindcss/defaultConfig' { const config: { [k: string]: any theme: { [k: string]: any } } export default config }