Issue with burning an NFT


I have a contract, which in one if its a function is responsible to burn a erc721 compliant nft, and in that function I need to access the totalSupply() method so I am using as the type of the function param in the contract kind of like

function executeSale(
    IERC721Enumerable _nft,
    uint256 _id

but the issue I am facing is since _burn here is internal and though this method here ( allows transferring the nft to address(0), but it inherits ERC721.sol and does not override any transfer function .

and here, transfer to address(0) is not permitted

So how can I execute burning nft with ERC721Enumerable since I do need the totalSupply inside the function too ?