// Autogenerated
namespace InitableService;

public interface IInitable
{
	void Init();
}
public interface IInitable<T1>
{
	void Init(T1 obj1);
}
public interface IInitable<T1, T2>
{
	void Init(T1 obj1, T2 obj2);
}
public interface IInitable<T1, T2, T3>
{
	void Init(T1 obj1, T2 obj2, T3 obj3);
}
public interface IInitable<T1, T2, T3, T4>
{
	void Init(T1 obj1, T2 obj2, T3 obj3, T4 obj4);
}
public interface IInitable<T1, T2, T3, T4, T5>
{
	void Init(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5);
}
public interface IInitable<T1, T2, T3, T4, T5, T6>
{
	void Init(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6);
}
public interface IInitable<T1, T2, T3, T4, T5, T6, T7>
{
	void Init(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7);
}
public interface IInitable<T1, T2, T3, T4, T5, T6, T7, T8>
{
	void Init(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7, T8 obj8);
}
public interface IInitable<T1, T2, T3, T4, T5, T6, T7, T8, T9>
{
	void Init(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7, T8 obj8, T9 obj9);
}
public interface IInitable<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
{
	void Init(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7, T8 obj8, T9 obj9, T10 obj10);
}
public interface IInitable<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
{
	void Init(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7, T8 obj8, T9 obj9, T10 obj10, T11 obj11);
}
public interface IInitable<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
{
	void Init(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7, T8 obj8, T9 obj9, T10 obj10, T11 obj11, T12 obj12);
}
public interface IInitable<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
{
	void Init(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7, T8 obj8, T9 obj9, T10 obj10, T11 obj11, T12 obj12, T13 obj13);
}
public interface IInitable<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
{
	void Init(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7, T8 obj8, T9 obj9, T10 obj10, T11 obj11, T12 obj12, T13 obj13, T14 obj14);
}
public interface IInitable<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
{
	void Init(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7, T8 obj8, T9 obj9, T10 obj10, T11 obj11, T12 obj12, T13 obj13, T14 obj14, T15 obj15);
}
public interface IAsyncInitable
{
	Task InitAsync();
}

public interface IAsyncInitable<T1>
{
	Task InitAsync(T1 obj1);
}

public interface IAsyncInitable<T1, T2>
{
	Task InitAsync(T1 obj1, T2 obj2);
}

public interface IAsyncInitable<T1, T2, T3>
{
	Task InitAsync(T1 obj1, T2 obj2, T3 obj3);
}

public interface IAsyncInitable<T1, T2, T3, T4>
{
	Task InitAsync(T1 obj1, T2 obj2, T3 obj3, T4 obj4);
}

public interface IAsyncInitable<T1, T2, T3, T4, T5>
{
	Task InitAsync(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5);
}

public interface IAsyncInitable<T1, T2, T3, T4, T5, T6>
{
	Task InitAsync(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6);
}

public interface IAsyncInitable<T1, T2, T3, T4, T5, T6, T7>
{
	Task InitAsync(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7);
}

public interface IAsyncInitable<T1, T2, T3, T4, T5, T6, T7, T8>
{
	Task InitAsync(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7, T8 obj8);
}

public interface IAsyncInitable<T1, T2, T3, T4, T5, T6, T7, T8, T9>
{
	Task InitAsync(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7, T8 obj8, T9 obj9);
}

public interface IAsyncInitable<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
{
	Task InitAsync(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7, T8 obj8, T9 obj9, T10 obj10);
}

public interface IAsyncInitable<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
{
	Task InitAsync(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7, T8 obj8, T9 obj9, T10 obj10, T11 obj11);
}

public interface IAsyncInitable<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
{
	Task InitAsync(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7, T8 obj8, T9 obj9, T10 obj10, T11 obj11, T12 obj12);
}

public interface IAsyncInitable<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
{
	Task InitAsync(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7, T8 obj8, T9 obj9, T10 obj10, T11 obj11, T12 obj12, T13 obj13);
}

public interface IAsyncInitable<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
{
	Task InitAsync(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7, T8 obj8, T9 obj9, T10 obj10, T11 obj11, T12 obj12, T13 obj13, T14 obj14);
}

public interface IAsyncInitable<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
{
	Task InitAsync(T1 obj1, T2 obj2, T3 obj3, T4 obj4, T5 obj5, T6 obj6, T7 obj7, T8 obj8, T9 obj9, T10 obj10, T11 obj11, T12 obj12, T13 obj13, T14 obj14, T15 obj15);
}


