yes it exisits:-
A private-module-fragment ends the portion of the module interface unit that can affect the behavior of other translation units. A private-module-fragment allows a module to be represented as a single translation unit without making all of the contents of the module reachable to importers. The presence of a private-module-fragment affects:
the point by which the definition of an exported inline function is required ([dcl.inline])
the point by which the definition of an exported function with a placeholder return type is required ([dcl.spec.auto])
whether a declaration is required not to be an exposure ([basic.link]),
where definitions for inline functions and templates must appear ([basic.def.odr], [dcl.inline], [temp.pre]),
the instantiation contexts of templates instantiated before it ([module.context]), and
the rachability of declarations within it ([module.reach]).