export type Token = T | ((theme: Theme) => T); export type MakeStaticToken = T extends (...args: any[]) => any ? MakeStaticToken> : T; export type Tokens = { [K in keyof T]: Token; }; export type StaticTokens = { [K in keyof T]: MakeStaticToken; };