/// import { config } from './components/gluestack-ui.config'; import { propertyTokenMap } from './utils'; type aliases = typeof config.theme.aliases; type tokens = typeof config.theme.tokens; type propertyTokenMap = typeof propertyTokenMap; type colors = typeof config.theme.tokens.colors; export type IColorSchemes = keyof { [K in keyof colors as K extends `${infer Prefix}.500` ? Prefix : 'rest']: true; }; export type ResponsiveValue = T | null | undefined | Array | { [key in keyof tokens['breakpoints']]?: T; }; type ReplaceDollar = T extends `$${infer N}` ? N : never; type FilteredKeys = { [K in keyof T]: T[K] extends never | undefined ? never : K; }[keyof T]; export type RemoveNever = { [K in FilteredKeys]: T[K]; }; type ConvertKeys = { [K in keyof T as K extends `:${infer R}` ? `_${R}` : K]: T[K]; }; export type GenericSXType = { [K in keyof SXType]: K extends `_${string}` ? GenericSXType> : ResponsiveValue | number | (string & {}) | undefined>; }; export type GenericPropTypes = Omit & RemoveNever<{ [K in keyof Pick]: ReplaceDollar[K]>; }>; export type GenericComponentType = (props: Omit, keyof aliases | keyof propertyTokenMap | keyof OmitProps | 'sx' | `$${string}`> | (GenericSXType['sx']>> & ExtraProps & { ref?: any; })) => JSX.Element; export {};