
import { AvatarConfig, BadgeConfig, BannerConfig, BottomSheetConfig, ButtonConfig, CheckboxConfig, ChipConfig, DividerConfig, IconButtonConfig, InputConfig, LinkConfig, MenuContentConfig, MenuItemConfig, ModalConfig, PopoverConfig, RadioConfig, ScrimConfig, SwitchConfig, TabConfig, TabsConfig, ToastConfig, TooltipConfig } from "./generatedConfigs.js";
import { ComponentSchema } from "../utils/buildConfigSchema.js";

//#region ../automated-config/dist/generated/universalTokensConfigAuto.d.ts
//#region src/generated/universalTokensConfigAuto.d.ts
interface UniversalTokensConfigAuto {
  avatar: ComponentSchema<typeof AvatarConfig>;
  badge: ComponentSchema<typeof BadgeConfig>;
  banner: ComponentSchema<typeof BannerConfig>;
  bottomSheet: ComponentSchema<typeof BottomSheetConfig>;
  button: ComponentSchema<typeof ButtonConfig>;
  checkbox: ComponentSchema<typeof CheckboxConfig>;
  chip: ComponentSchema<typeof ChipConfig>;
  divider: ComponentSchema<typeof DividerConfig>;
  iconButton: ComponentSchema<typeof IconButtonConfig>;
  input: ComponentSchema<typeof InputConfig>;
  link: ComponentSchema<typeof LinkConfig>;
  menuContent: ComponentSchema<typeof MenuContentConfig>;
  menuItem: ComponentSchema<typeof MenuItemConfig>;
  modal: ComponentSchema<typeof ModalConfig>;
  popover: ComponentSchema<typeof PopoverConfig>;
  radio: ComponentSchema<typeof RadioConfig>;
  scrim: ComponentSchema<typeof ScrimConfig>;
  switch: ComponentSchema<typeof SwitchConfig>;
  tab: ComponentSchema<typeof TabConfig>;
  tabs: ComponentSchema<typeof TabsConfig>;
  toast: ComponentSchema<typeof ToastConfig>;
  tooltip: ComponentSchema<typeof TooltipConfig>;
}
/** All component-level configurations from generated configs */
type AutoComponents = UniversalTokensConfigAuto;
/** Union of all component names that support automation */
type AutoComponentName = keyof AutoComponents;
/** Components that have a defaults property */
type ComponentsWithDefaults = { [K in keyof AutoComponents]: AutoComponents[K] extends {
  defaults: object;
} ? K : never }[keyof AutoComponents];
/** Union of all variant keys across all auto-configurable components */
type AllVariantKeys = { [K in ComponentsWithDefaults]: AutoComponents[K] extends {
  defaults: infer D;
} ? keyof D : never }[ComponentsWithDefaults];
/**
 * This assertion is where minor and major deviations between ComponentSchema type inference
 * and the actual runtime output from buildConfigSchema() are captured.
 */
declare const defaultUniversalTokensConfigAuto: UniversalTokensConfigAuto; //#endregion
//#endregion
export { AllVariantKeys, AutoComponentName, UniversalTokensConfigAuto, defaultUniversalTokensConfigAuto };