#>cpp
#pragma once

#include <memory>
#include <string>

#include "communication/rpc/messages.hpp"
#include "distributed/index_rpc_messages.capnp.h"
#include "storage/common/types/types.hpp"
#include "storage/distributed/rpc/serialization.hpp"
#include "transactions/transaction.hpp"
cpp<#

(lcp:namespace distributed)

(lcp:capnp-namespace "distributed")

(lcp:capnp-import 'storage "/storage/distributed/rpc/serialization.capnp")

(lcp:define-rpc populate-index
    (:request
     ((label "storage::Label" :capnp-type "Storage.Label")
      (property "storage::Property" :capnp-type "Storage.Property")
      (tx-id "tx::TransactionId" :capnp-type "UInt64")))
  (:response ()))

(lcp:define-rpc create-index
    (:request
     ((label "storage::Label" :capnp-type "Storage.Label")
      (property "storage::Property" :capnp-type "Storage.Property")))
  (:response ()))

(lcp:pop-namespace) ;; distributed
