import type { Template } from '@tamagui/create-theme' export type GetThemeFn> = (props: { name: string theme: Record scheme?: 'light' | 'dark' parentName: string parentNames: string[] level: number palette?: string[] template?: Template }) => ThemeType export type TemplateStrategy = 'base' | 'stronger' | 'strongest' export type ThemeSuiteItem = { id: string name: string createdAt: number updatedAt: number schemes: { light: boolean; dark: boolean } palettes: Record templateStrategy?: TemplateStrategy } export type ThemeSuiteItemData = Omit export type BuildTemplates = Record export type BuildSubTheme = BuildTheme export type BuildPalettes = Record export type BuildPalette = { name: string scale?: ScaleTypeName anchors: BuildThemeAnchor[] } export type BuildThemeSuiteProps = Omit export type BuildThemeSuitePalettes = { light: string[] dark: string[] lightAccent?: string[] darkAccent?: string[] } export type ScaleTypeName = | 'custom' | 'radix' | 'radix-b' | 'radius-bold' | 'radius-bright' | 'linear' | 'pastel' | 'pastel-desaturating' | 'neon' | 'neon-bright' | 'neon-c' export type BuildThemeBase = { id: string name: string errors?: string[] } export type BuildThemeAnchor = { index: number hue: { light: number dark: number sync?: boolean syncLeft?: boolean } sat: { light: number dark: number sync?: boolean syncLeft?: boolean } lum: { light: number dark: number } alpha: { light: number dark: number } } export type BuildTheme = BuildThemeBase & { type: 'theme' template: string palette: string accent?: BuildTheme }