import { IntrinsicElementAttributes, Component } from 'vue'; import { SupportedHTMLElements, StyledFunctionArg, Variants, ExtractVariantsProps } from '@pinceau/style'; interface PinceauVueOptions { } type PinceauStyledComponent = (Type extends keyof IntrinsicElementAttributes ? Component : Component); interface VueStyledComponentFactory { (declaration: StyledFunctionArg): (PinceauStyledComponent & ({ withVariants: (variants: VariantsContent) => WithVariants; withAttrs: (attrs: AttrsContent) => WithAttrs; })); } type WithAttrs = PinceauStyledComponent & { withVariants: (variants: VariantsContent) => WithVariants; }; type WithVariants = (PinceauStyledComponent, OuterAttrs> & { withAttrs: (attrs: AttrsContent) => WithAttrs, OuterAttrs>; }); const version = "1.0.0-beta.29"; declare module '@pinceau/core' { interface PinceauPluginsOptions { /** * Pinceau Vue options. * * Using `true` will use default options for Vue transforms. * * Using `false` will completely disable Vue support. */ vue: PinceauVueOptions | boolean; } } export { type PinceauStyledComponent, type PinceauVueOptions, type VueStyledComponentFactory, type WithAttrs, type WithVariants, version };