using System;
using Godot;
using OwofGames.GodotLume;
namespace GodotHostTest.AetherBind;
public interface ISceneInstantiator
{
///
/// Instantiate a packed scene, just like , but also looks for a scope between the top level children of the instantiated scene and triggers the dependency injection mechanism when found.
///
/// The packed scene to instantiate.
/// An optional callback invoked once the scope has been created, but before instantiating the scene, with the provider as argument.
/// The created node, with its dependencies satisfied.
Node Instantiate(PackedScene packedScene, Action? onScopeCreated = null);
}