public interface Camera { public void MethodA(int A, int B); public int MethodB(int C, string D); public string MethodC(string E, int F); public float MethodD(int G, float H); public boolean MethodE(Camera I, boolean J); public void MethodF(); } capability Camera.ImageCapture { description = "The quick brown fox jumps over the smart dog"; description = "Another description"; method = MethodA; method = MethodB; } capability Camera.VideoRecording { description = "The quick brown fox jumps over the cool dog"; method = MethodC; method = MethodD; } capability Camera.BackupData { description = "The quick brown fox jumps over the clever dog"; method = MethodE; } requires Camera with VideoRecording, ImageCapture as interface CameraWithCaptureAndData; requires Camera with ImageCapture, VideoRecording as interface CameraWithCaptureAndRecording;