import { ResolvableModeLevelAlias, ResolvableTopLevelAlias, ResolvableValueLevelAlias, SpecifyDesignTokenTypeName, } from '@specifyapp/specify-design-token-format'; export type AllResolvableAlias< Type extends SpecifyDesignTokenTypeName = SpecifyDesignTokenTypeName, > = | ResolvableValueLevelAlias | ResolvableModeLevelAlias | ResolvableTopLevelAlias; export type ResolvableAliasStrategy = < Alias extends AllResolvableAlias = AllResolvableAlias, >( alias: Alias, ) => Alias extends ResolvableTopLevelAlias ? { [mode: string]: Alias extends AllResolvableAlias ? Record : Return; } : Alias extends AllResolvableAlias ? Record : Return;