Note that Windows and the ELF format in general allows a shared library to be "pre-linked" within its set of internal references, but still be replaceable by a linker: the "pre-link" is kept as a default if there's no other implementation specified but this default is overridable if you specify a prior unit taking the priority, in which case that unit will become the implementation used by the shared libary itself at run-time (the default implementation will still be part of the modules possibly loaded in memory but they won't be used (and a VMM may not even need to page in these unused parts if they are larger than a single memory page, so this won't take too much memory; this unused implementation will still use some amount of virtual memory)...
For that case, the same symbol may be present in the list of imports and the list of exports in a "pre-linked" module (executable file, or shared-library)...
A "pre-linked" module may also specify restrictions in their list of imports, such as specifying that the symbol must be loaded from specific module names, or specifying that it must be in modules matching a specific digital signature, or other security constraints (like version number). The module also specifies also for its list of exports a set of properties, that allows other modules to check these constraints, notably the export list contains the name of the module itself, its version, and some data signature or globally unique identifier.