async def METHOD_NAME(step: int, backup_type: BackupType) -> None:
    from trezor.enums import BackupType
    assert backup_type in (BackupType.Slip39_Basic, BackupType.Slip39_Advanced)
    items = (
        (
            "Number of shares",
            "Set threshold",
            "Write down and check all shares",
        )
        if backup_type == BackupType.Slip39_Basic
        else (
            "Number of groups",
            "Number of shares",
            "Set sizes and thresholds",
        )
    )
    result = await interact(
        RustLayout(
            trezorui2.show_checklist(
                title="BACKUP CHECKLIST",
                button="CONTINUE",
                active=step,
                items=items,
            )
        ),
        "slip39_checklist",
        ButtonRequestType.ResetDevice,
    )
    if result is not CONFIRMED:
        raise ActionCancelled