Actor interactions can only happen through contracts. Using the contracts, Actors can communicate with each other and also the clients can interact with Actors. Actors are responsible for implementing the interfaces which define these contracts. Using Service Fabric APIs, the client gets a proxy to an Actor via the same set of interfaces. Because this interface is used to invoke Actor methods asynchronously, every method on the interface must be task-returning.
Since any communication needs to take place over network, the communication interfaces should be serializable.