import type { TokenData } from './token-data';
export type TokenVarType = Extract<TokenData['type'], 'color' | 'dimension' | 'duration' | 'fontWeight' | 'string' | 'number' | 'boolean'>;
export type TokenVarDataModeValue = {
    type: 'token';
    token: TokenData;
} | {
    type: 'var-ref';
    /**
     * Full ID to Var
     * Includes Collections Parent Key AND Collection ID AND the Var ID
     */
    groupId: string;
};
/**
 * A special Token Group that has several Tokens in it that adhere to the Token
 * Modes of the Token Collection it is in.
 */
export type TokenVarData = {
    /** Can look up full info in `groupsById` with this ID */
    groupId: string;
    /**
     * This is the `groupId` minus the collectionId and the collectionsParentKey
     * So if there was a `groupId` of `collections.foo.color.bg` then this would be `color.bg`
     * This will be used to create the CSS Custom Property name: `--color-bg`
     */
    id: string;
    description?: string;
    type: TokenData['type'];
    modesById: Record<string, {
        modeId: string;
        type: 'set';
        value: TokenVarDataModeValue;
    } | {
        modeId: string;
        type: 'inherited';
        fromModeId: string;
        value: TokenVarDataModeValue;
    } | {
        modeId: string;
        type: 'none';
    }>;
};
export type TokenCollectionData = {
    id: string;
    /** Can look up full info in `groupsById` with this ID */
    groupId: string;
    description?: string;
    modes: {
        id: string;
    }[];
    vars: TokenVarData[];
    /**
     * All Groups in this Collection – with the exception of any groups that are `TokenVarData`
     */
    groupIds: string[];
};
//# sourceMappingURL=token-collections.d.ts.map