<?php
// GENERATED CODE -- DO NOT EDIT!

// Original file comments:
//
// Сервис реализует функционал управления коммерческими возможностями(КВ).
// КВ это описание доступных технологических планов(ТП) на ОРПОНе(на доме)
namespace Keyapis\Subscription\V1;

/**
 * Сервис коммерческих возможностей(КВ)
 */
class OfferServiceClient extends \Grpc\BaseStub {

    /**
     * @param string $hostname hostname
     * @param array $opts channel options
     * @param \Grpc\Channel $channel (optional) re-use channel object
     */
    public function __construct($hostname, $opts, $channel = null) {
        parent::__construct($hostname, $opts, $channel);
    }

    /**
     * Метод получения коммерческой возможности.
     * Метод доступен для: admin, mrf, master, ltp_first, service, application(subscription:read или subscription:edit)
     * @param \Keyapis\Subscription\V1\GetOfferRequest $argument input argument
     * @param array $metadata metadata
     * @param array $options call options
     * @return \Grpc\UnaryCall
     */
    public function GetOffer(\Keyapis\Subscription\V1\GetOfferRequest $argument,
      $metadata = [], $options = []) {
        return $this->_simpleRequest('/keyapis.subscription.v1.OfferService/GetOffer',
        $argument,
        ['\Keyapis\Subscription\V1\GetOfferResponse', 'decode'],
        $metadata, $options);
    }

    /**
     * Метод получения списка коммерческих возможностей.
     * Метод доступен для: admin, mrf, master, external_seller, ltp_first, owner, employee, service, application(subscription:read или subscription:edit)
     * @param \Keyapis\Subscription\V1\GetOfferListRequest $argument input argument
     * @param array $metadata metadata
     * @param array $options call options
     * @return \Grpc\ServerStreamingCall
     */
    public function GetOfferList(\Keyapis\Subscription\V1\GetOfferListRequest $argument,
      $metadata = [], $options = []) {
        return $this->_serverStreamRequest('/keyapis.subscription.v1.OfferService/GetOfferList',
        $argument,
        ['\Keyapis\Subscription\V1\GetOfferListResponse', 'decode'],
        $metadata, $options);
    }

    /**
     * Метод получения количества коммерческих возможностей.
     * Метод доступен для: admin, mrf, master, external_seller, ltp_first, owner, employee, service, application(subscription:read или subscription:edit)
     * @param \Keyapis\Subscription\V1\GetOfferCountRequest $argument input argument
     * @param array $metadata metadata
     * @param array $options call options
     * @return \Grpc\UnaryCall
     */
    public function GetOfferCount(\Keyapis\Subscription\V1\GetOfferCountRequest $argument,
      $metadata = [], $options = []) {
        return $this->_simpleRequest('/keyapis.subscription.v1.OfferService/GetOfferCount',
        $argument,
        ['\Keyapis\Subscription\V1\GetOfferCountResponse', 'decode'],
        $metadata, $options);
    }

}
