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

interface TableVariant {
  variant: "simple" | "tfoot" | "striped" | "unstyled"
size: "sm" | "md" | "lg"
}

type TableVariantMap = {
  [key in keyof TableVariant]: Array<TableVariant[key]>
}

export type TableVariantProps = {
  [key in keyof TableVariant]?: ConditionalValue<TableVariant[key]>
}

export interface TableRecipe {
  __type: TableVariantProps
  (props?: TableVariantProps): Pretty<Record<"container" | "table" | "caption" | "tbody" | "td" | "tfoot" | "th" | "thead" | "tr", string>>
  raw: (props?: TableVariantProps) => TableVariantProps
  variantMap: TableVariantMap
  variantKeys: Array<keyof TableVariant>
  splitVariantProps<Props extends TableVariantProps>(props: Props): [TableVariantProps, Pretty<DistributiveOmit<Props, keyof TableVariantProps>>]
}


export declare const table: TableRecipe