- 
    Type:
Sub-task
 - 
    Resolution: Fixed
 - 
    Priority:
Unknown
 - 
    Affects Version/s: None
 - 
    Component/s: None
 
- 
        3
 - 
        2
 - 
        Not Needed
 - 
        None
 
- 
        Not Needed
 - 
        
 
- 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 
Use Case
As a driver engineer,
I want to remove the JS bindings from libmongocrypt,
So that so that our logic can live together in the driver.
User Impact
(see parent ticket)
Dependencies
- done concurrently with 
NODE-5419 
Unknowns
- How can we generate documentation for `mongodb-client-encryption`? 
	
- We don't document this library.
 
 - What testing do we want to remain in mongodb-client-encryption? What can we test?
 
Acceptance Criteria
Implementation Requirements
- remove all code and tests from libmongocrypt/bindings/node/lib except for the index.js file
 - add Typescript as a dependency and convert the index.js file to Typescript
 - add typings for `MongoCrypt` (C++ bindings class) and export both the typings and the MongoCrypt object from the index.ts.
 - remove the index.d.ts file
 - remove unnecessary dependencies
	
- @aws/credential-providers
 - gcp-metadata
 - mongodb
 - socks
 
 - clean up unnecessary CI tasks
	
- remove all build-and-test-node with and without optional dependencies tasks from CI.
 
 - ensure that the build scripts and the release scripts continue to work
 
Testing Requirements
- _Testing will be addressed in https://jira.mongodb.org/browse/NODE-5432._
 
Documentation Requirements
- n/a
 
Follow Up Requirements
- release a pre-release of mongodb-client-encryption@6.0.0 for consumption in the driver