def METHOD_NAME(config: BottleConfig, scope: str, path: str) -> Result:
    """
    Exports a bottle backup to the specified path.
    Use the scope parameter to specify the backup type: config, full.
    Config will only export the bottle configuration, full will export
    the full bottle in tar.gz format.
    """
    if path in [None, ""]:
        logging.error(_("No path specified"))
        return Result(status=False)
    logging.info(f"New {scope} backup for [{config.Name}] in [{path}]")
    if scope == "config":
        backup_created = config.dump(path).status
    else:
        task_id = TaskManager.add(Task(title=_("Backup {0}").format(config.Name)))
        bottle_path = ManagerUtils.get_bottle_path(config)
        try:
            with tarfile.open(path, "w:gz") as tar:
                parent = os.path.dirname(bottle_path)
                folder = os.path.basename(bottle_path)
                os.chdir(parent)
                tar.add(folder, filter=BackupManager.exclude_filter)
            backup_created = True
        except (FileNotFoundError, PermissionError, tarfile.TarError, ValueError):
            logging.error(f"Error creating backup for [{config.Name}]")
            backup_created = False
        finally:
            TaskManager.remove(task_id)
    if backup_created:
        logging.info(f"New backup saved in path: {path}.", jn=True)
        return Result(status=True)
    logging.error(f"Failed to save backup in path: {path}.")
    return Result(status=False)