Best solution for deleting records

I'm working on a UI that contains thousands of records organized into folders.

Users will have the ability to organize these folders - ie: Delete, Rename, Give Permissions to users, etc.

I'm concerned that users are going to inadvertently delete a folder that could have thousands of records in them.

To solve this, here are a couple ideas:

1) Provide a delete confirmation - but this isn't going to just be some popup/modal asking the user to confirm because a user can accidentally press "OK". It would require an extra step, say, "Type DELETE to confirm deletion" or something similar.

2) Provide a soft-delete feature or a Trash where users can recover deleted items.