Danke das mit der Vorwärtsdeklaration wars.
Ich hab es nur bisher falsch geschrieben und deshalb hab ich gedacht das es nicht geht.
So funktioniert es Danke.
Code:
IModelItem = interface;
IModelItem = interface(IInterface)
function GetChild(aIndex: Integer): IModelItem;
procedure SetChild(aIndex: Integer; aItem: IModelItem);
procedure AddChild(aItem: IModelItem);
property Child[aIndex: Integer]: IModelItem read GetChild write SetChild;
end;