--- /dev/null
+/*
+ * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.netconf.topology.singleton.api;
+
+import akka.actor.ActorRef;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.netconf.topology.singleton.messages.NormalizedNodeMessage;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+
+/**
+ * Provides API for remote calling operations of transactions. Slave sends message of particular
+ * operation to master and master performs it.
+ */
+public interface RemoteOperationTxProcessor {
+
+ /**
+ * Delete node in particular data-store in path
+ * @param store data-store type
+ * @param path unique identifier of a particular node instance in the data tree
+ */
+ void doDelete(LogicalDatastoreType store, YangInstanceIdentifier path);
+
+ /**
+ * Commit opened transaction.
+ * @param recipient recipient of submit result
+ * @param sender sender of submit result
+ */
+ void doSubmit(ActorRef recipient, ActorRef sender);
+
+ /**
+ * Cancel operation
+ * @param recipient recipient of cancel result
+ * @param sender sender of cancel result
+ */
+ void doCancel(ActorRef recipient, ActorRef sender);
+
+ /**
+ * Put data to particular data-store
+ * @param store data-store type
+ * @param data data for inserting included in NormalizedNodeMessage object
+ */
+ void doPut(LogicalDatastoreType store, NormalizedNodeMessage data);
+
+ /**
+ * Merge data with existing node in particular data-store
+ * @param store data-store type
+ * @param data data for merging included in NormalizedNodeMessage object
+ */
+ void doMerge(LogicalDatastoreType store, NormalizedNodeMessage data);
+
+ /**
+ * Read data from particular data-store
+ * @param store data-store type
+ * @param path unique identifier of a particular node instance in the data tree
+ * @param recipient recipient of read result
+ * @param sender sender of read result
+ */
+ void doRead(LogicalDatastoreType store, YangInstanceIdentifier path, ActorRef recipient, ActorRef sender);
+
+ /**
+ * Test existence of node in certain data-store
+ * @param store data-store type
+ * @param path unique identifier of a particular node instance in the data tree
+ * @param recipient recipient of exists result
+ * @param sender sender of exists result
+ */
+ void doExists(LogicalDatastoreType store, YangInstanceIdentifier path, ActorRef recipient, ActorRef sender);
+
+}