Saving predesigned tilemap “rooms” and access them in script in Unity3D?

I'm working on a top-down rogue-like in Unity3D, and I already have some kind of dungeon generation.

The next feature I'd like to implement, is to predesign some kind of "event rooms" (i.e. boss fight rooms), so my algorithm could place them at random locations.

Is there some kind of Unity feature for this, or I have to implement an editor script which could save and load tilemaps into and from scriptable objects?

But if your architecture assumes that there will only ever be one tilemap in the scene, then you need to copy the tiles from the prefab into the actual game tilemap. You should be able to do that with prefabTilemap.GetTilesBlock and mainTilemap.SetTilesBlock.