///
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 {};