```python
from typing import List, Tuple

def line_clusters(stops: List[str], links: List[Tuple[str, str]]) -> List[List[str]]:
    if not stops or not links:
        return []

    # Create a graph to represent the links
    graph = {stop: set() for stop in stops}
    for from_stop, to_stop in links:
        graph[from_stop].add(to_stop)
        graph[to_stop].add(from_stop)

    # Find connected components (clusters)
    clusters = []
    visited = set()

    for stop in stops:
        if stop not in visited:
            cluster = []
            dfs(stop, graph, visited, cluster)
            clusters.append(cluster)

    # Sort clusters by the first stop alphabetically
    clusters.sort(key=lambda cluster: cluster[0])

    return clusters

def dfs(stop: str, graph: dict, visited: set, cluster: List[str]):
    visited.add(stop)
    cluster.append(stop)
    for neighbor in graph[stop]:
        if neighbor not in visited:
            dfs(neighbor, graph, visited, cluster)
```