/* eslint-disable */
import type { ConditionalValue } from '../types/index';
import type { Pretty } from '../types/helpers';
import type { DistributiveOmit } from '../types/system-types';

interface TagVariant {
  variant: "solid" | "subtle" | "outline"
size: "sm" | "md" | "lg"
}

type TagVariantMap = {
  [key in keyof TagVariant]: Array<TagVariant[key]>
}

export type TagVariantProps = {
  [key in keyof TagVariant]?: ConditionalValue<TagVariant[key]>
}

export interface TagRecipe {
  __type: TagVariantProps
  (props?: TagVariantProps): string
  raw: (props?: TagVariantProps) => TagVariantProps
  variantMap: TagVariantMap
  variantKeys: Array<keyof TagVariant>
  splitVariantProps<Props extends TagVariantProps>(props: Props): [TagVariantProps, Pretty<DistributiveOmit<Props, keyof TagVariantProps>>]
}


export declare const tag: TagRecipe