export declare var moduleName: string; export declare var serviceName: string; export interface IViewData { behavior: TBehavior; } export interface IChild { viewData?: IViewData; } export interface IParentChildBehaviorService { getChildBehavior(child: IChild): TBehavior; triggerChildBehavior(child: IChild, action: { (behavior: TBehavior): TReturnType; }): TReturnType; triggerAllChildBehaviors(childList: IChild[], action: { (behavior: TBehavior): TReturnType; }): TReturnType[]; getAllChildBehaviors(childList: IChild[]): TBehavior[]; registerChildBehavior(child: IChild, behavior: TBehavior): void; } export declare class ParentChildBehaviorService { getChildBehavior(child: IChild): TBehavior; triggerChildBehavior(child: IChild, action: { (behavior: TBehavior): TReturnType; }): TReturnType; triggerAllChildBehaviors(childList: IChild[], action: { (behavior: TBehavior): TReturnType; }): TReturnType[]; getAllChildBehaviors(childList: IChild[]): TBehavior[]; registerChildBehavior(child: IChild, behavior: TBehavior): void; }