import { createTamagui } from '@tamagui/core';
import { animations, fonts, media, tokens } from './tokens';
import { shorthands } from './shorthands';
import { themes } from './themes';

// Theme config.
const config = createTamagui({
  animations,
  defaultTheme: 'light',
  shouldAddPrefersColorThemes: true,
  themeClassNameOnRoot: true,
  shorthands,
  fonts,
  themes,
  tokens,
  media,
});

// Required to override Tamagui default types with Swisco config types.
type SwiscoConfig = typeof config;
declare module 'tamagui' {
  interface TamaguiCustomConfig extends SwiscoConfig {}
}

export { config };
export * from './tokens';
export * from './themes';
export * from './shorthands';
