support for instantiation
You question is very vague and hard to answer.
In Blender you can link or append various types of data, this is visible when you browse to append or link from other files, and you can choose from Object, Meshes (object Data), Cameras, Freestyle, Groups, Materials, Node setups etc.

Depending on the type of object you link, you'll get different results that can sometimes be overridden.

Linking object data like meshes, curves, cameras etc, will only bring in that data alone (raw mesh data without modifiers for geometry), whereas linking an object will also bring with it: it's materials, associated textures and modifiers.

When linking an object you can then make it a proxy in your current scene, this allows you to override some of it's properties like position or materials. You can also make the object local, which allows moving it in the scene.

Linking a group instance will bring in a static group of objects, as if they were a single object.

For more complex interactions you can link objects and armatures to rig it locally and animate it, although I am not an animator myself, so am not at all comfortable in this area.