abstract class External {
  String externalMethod(int x, [int y, int z]);
  void listen(Listener listener);
}

abstract class Listener {
  void event(String input, [int? x, int? y]);
}

class ExtendedListener extends Listener {
  void event(input, [x, y, z]) {}
}

class Foo {
  method(x, [y, z]) {}
}

class InvalidListener {
  void event(input, [x]) {}
}

class TestListener extends Listener {
  void event(input, [x, y]) {}
}

external External createExternal();
main() {}
