from typing import Tuple


def split_checkpoint_filename(filename: str) -> Tuple[str, str]:
    """
    Given a filename like "model.ckpt-20.index" return ("model",
    "model.ckpt-20") or ("", "") if the filename is not a valid checkpoint file.
    """
    parts = filename.rsplit(".", 2)
    if len(parts) < 3 or not parts[1].startswith("ckpt-"):
        return ("", "")

    cname = parts[0]
    basename = ".".join([cname, parts[1]])
    return (cname, basename)