import { SpecifyDesignTokenTypeName, TokenState, UnresolvableModeLevelAlias, UnresolvableTopLevelAlias, UnresolvableValueLevelAlias, } from '@specifyapp/specify-design-token-format'; export type AllUnresolvableAlias = | UnresolvableModeLevelAlias | UnresolvableValueLevelAlias | UnresolvableTopLevelAlias; export type UnresolvableAliasStrategy = < Alias extends AllUnresolvableAlias = AllUnresolvableAlias, Type extends SpecifyDesignTokenTypeName = SpecifyDesignTokenTypeName, >( tokenState: TokenState, alias: Alias, ) => Alias extends UnresolvableTopLevelAlias ? { [mode: string]: Return } : Return;