I have tried

declare EventA
  @role( event )
  x : Void
end
declare EventB
  @role( event )
  x : Void
end
rule "mock-A"  # only rule for EventA, EventB
when
    $b: EventB()
    $a: EventA( this after[0,10s] $b )
then
end

and
    org.drools.rule.TypeDeclaration tda = (org.drools.rule.TypeDeclaration)rpkg.pkg.getTypeDeclaration( "EventA" );
    System.out.println( "EventA expires: " + tda.getExpirationOffset() + " role:" + tda.getRole());
    org.drools.rule.TypeDeclaration tdb = (org.drools.rule.TypeDeclaration)rpkg.pkg.getTypeDeclaration( "EventB" );
    System.out.println( "EventB expires: " + tdb.getExpirationOffset() + " role:" + tdb.getRole());

which prints
   EventA expires: -1 role:EVENT
   EventB expires: -1 role:EVENT

Since the DRL code is equivalent to example 2.19 ("correlate orders") in Fusion, this raises the question whether the inferred expiration offset is actually computed as described.

-W