This sub-module is part of the ethers project.
It is creating (at run-time) an object which interacts with an on-chain contract as a native JavaScript object.
If you are familiar with ORM for Databases, this is similar, but for smart contracts.
For more information, see the documentation.
Most users will prefer to use the umbrella package, but for those with more specific needs, individual components can be imported.
const {
Contract,
ContractFactory,
RunningEvent,
// Types
ContractInterface,
Overrides,
PayableOverrides,
CallOverrides,
PopulatedTransaction,
EventFilter,
ContractFunction,
Event,
ContractReceipt,
ContractTransaction
} = require("@ethersproject/contracts");
MIT License