// Code generated by gRPC proto compiler.  DO NOT EDIT!
// source: keyapis/access_control/v1/keyapis_access_control_flatgramm_v1.proto

#if !defined(GPB_GRPC_PROTOCOL_ONLY) || !GPB_GRPC_PROTOCOL_ONLY
#import "keyapis/access_control/v1/KeyapisAccessControlFlatgrammV1.pbrpc.h"
#import "keyapis/access_control/v1/KeyapisAccessControlFlatgrammV1.pbobjc.h"
#import <ProtoRPC/ProtoRPCLegacy.h>
#import <RxLibrary/GRXWriter+Immediate.h>

#import "google/api/Annotations.pbobjc.h"
#import "google/api/FieldBehavior.pbobjc.h"
#if defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS) && GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS
#import <Protobuf/GPBTimestamp.pbobjc.h>
#else
#import "GPBTimestamp.pbobjc.h"
#endif
#import "keyapis/access_control/v1/KeyapisAccessControlAccessControlV1.pbobjc.h"
#import "google/api/Visibility.pbobjc.h"

@implementation KEYAPISACCESSCONTROLV1FlatgrammService

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wobjc-designated-initializers"

// Designated initializer
- (instancetype)initWithHost:(NSString *)host callOptions:(GRPCCallOptions *_Nullable)callOptions {
  return [super initWithHost:host
                 packageName:@"keyapis.access_control.v1"
                 serviceName:@"FlatgrammService"
                 callOptions:callOptions];
}

- (instancetype)initWithHost:(NSString *)host {
  return [super initWithHost:host
                 packageName:@"keyapis.access_control.v1"
                 serviceName:@"FlatgrammService"];
}

#pragma clang diagnostic pop

// Override superclass initializer to disallow different package and service names.
- (instancetype)initWithHost:(NSString *)host
                 packageName:(NSString *)packageName
                 serviceName:(NSString *)serviceName {
  return [self initWithHost:host];
}

- (instancetype)initWithHost:(NSString *)host
                 packageName:(NSString *)packageName
                 serviceName:(NSString *)serviceName
                 callOptions:(GRPCCallOptions *)callOptions {
  return [self initWithHost:host callOptions:callOptions];
}

#pragma mark - Class Methods

+ (instancetype)serviceWithHost:(NSString *)host {
  return [[self alloc] initWithHost:host];
}

+ (instancetype)serviceWithHost:(NSString *)host callOptions:(GRPCCallOptions *_Nullable)callOptions {
  return [[self alloc] initWithHost:host callOptions:callOptions];
}

#pragma mark - Method Implementations

#pragma mark GetFlatgramm(GetFlatgrammRequest) returns (GetFlatgrammResponse)

/**
 * Метод получения облегченной квартирограммы.
 * Для пользователей типов owner, employee возвращаются только квартирограммы привязанные к компании пользователя.
 * Для пользователей типов owner, employee: в результат попадают только квартирограммы, привязанные к компании пользователя по любому из типов связи FlatgrammCompanyRelation.Type.
 * Метод доступен для: admin, manager, service, bti, ltp_first, owner, employee
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (void)getFlatgrammWithRequest:(KEYAPISACCESSCONTROLV1GetFlatgrammRequest *)request handler:(void(^)(KEYAPISACCESSCONTROLV1GetFlatgrammResponse *_Nullable response, NSError *_Nullable error))handler{
  [[self RPCToGetFlatgrammWithRequest:request handler:handler] start];
}
// Returns a not-yet-started RPC object.
/**
 * Метод получения облегченной квартирограммы.
 * Для пользователей типов owner, employee возвращаются только квартирограммы привязанные к компании пользователя.
 * Для пользователей типов owner, employee: в результат попадают только квартирограммы, привязанные к компании пользователя по любому из типов связи FlatgrammCompanyRelation.Type.
 * Метод доступен для: admin, manager, service, bti, ltp_first, owner, employee
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (GRPCProtoCall *)RPCToGetFlatgrammWithRequest:(KEYAPISACCESSCONTROLV1GetFlatgrammRequest *)request handler:(void(^)(KEYAPISACCESSCONTROLV1GetFlatgrammResponse *_Nullable response, NSError *_Nullable error))handler{
  return [self RPCToMethod:@"GetFlatgramm"
            requestsWriter:[GRXWriter writerWithValue:request]
             responseClass:[KEYAPISACCESSCONTROLV1GetFlatgrammResponse class]
        responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]];
}
/**
 * Метод получения облегченной квартирограммы.
 * Для пользователей типов owner, employee возвращаются только квартирограммы привязанные к компании пользователя.
 * Для пользователей типов owner, employee: в результат попадают только квартирограммы, привязанные к компании пользователя по любому из типов связи FlatgrammCompanyRelation.Type.
 * Метод доступен для: admin, manager, service, bti, ltp_first, owner, employee
 */
- (GRPCUnaryProtoCall *)getFlatgrammWithMessage:(KEYAPISACCESSCONTROLV1GetFlatgrammRequest *)message responseHandler:(id<GRPCProtoResponseHandler>)handler callOptions:(GRPCCallOptions *_Nullable)callOptions {
  return [self RPCToMethod:@"GetFlatgramm"
                   message:message
           responseHandler:handler
               callOptions:callOptions
             responseClass:[KEYAPISACCESSCONTROLV1GetFlatgrammResponse class]];
}

#pragma mark GetFlatgrammList(GetFlatgrammListRequest) returns (stream GetFlatgrammListResponse)

/**
 * Метод получения списка облегченных квартирограмм.
 * Для пользователей типов owner, employee: в результат фильтрации попадают только квартирограммы компании пользователя.
 * Для пользователей типов owner, employee: если filter.company_ids непустое и не совпадает с COMPANY_ID пользователя, метод вернет PERMISSION_DENIED = 7 (403 Forbidden).
 * Для пользователей типов owner, employee: если filter.company_ids пустое, то фильтрация по COMPANY_ID пользователя.
 * Метод доступен для: admin, manager, service, bti, ltp_first, owner, employee
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (void)getFlatgrammListWithRequest:(KEYAPISACCESSCONTROLV1GetFlatgrammListRequest *)request eventHandler:(void(^)(BOOL done, KEYAPISACCESSCONTROLV1GetFlatgrammListResponse *_Nullable response, NSError *_Nullable error))eventHandler{
  [[self RPCToGetFlatgrammListWithRequest:request eventHandler:eventHandler] start];
}
// Returns a not-yet-started RPC object.
/**
 * Метод получения списка облегченных квартирограмм.
 * Для пользователей типов owner, employee: в результат фильтрации попадают только квартирограммы компании пользователя.
 * Для пользователей типов owner, employee: если filter.company_ids непустое и не совпадает с COMPANY_ID пользователя, метод вернет PERMISSION_DENIED = 7 (403 Forbidden).
 * Для пользователей типов owner, employee: если filter.company_ids пустое, то фильтрация по COMPANY_ID пользователя.
 * Метод доступен для: admin, manager, service, bti, ltp_first, owner, employee
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (GRPCProtoCall *)RPCToGetFlatgrammListWithRequest:(KEYAPISACCESSCONTROLV1GetFlatgrammListRequest *)request eventHandler:(void(^)(BOOL done, KEYAPISACCESSCONTROLV1GetFlatgrammListResponse *_Nullable response, NSError *_Nullable error))eventHandler{
  return [self RPCToMethod:@"GetFlatgrammList"
            requestsWriter:[GRXWriter writerWithValue:request]
             responseClass:[KEYAPISACCESSCONTROLV1GetFlatgrammListResponse class]
        responsesWriteable:[GRXWriteable writeableWithEventHandler:eventHandler]];
}
/**
 * Метод получения списка облегченных квартирограмм.
 * Для пользователей типов owner, employee: в результат фильтрации попадают только квартирограммы компании пользователя.
 * Для пользователей типов owner, employee: если filter.company_ids непустое и не совпадает с COMPANY_ID пользователя, метод вернет PERMISSION_DENIED = 7 (403 Forbidden).
 * Для пользователей типов owner, employee: если filter.company_ids пустое, то фильтрация по COMPANY_ID пользователя.
 * Метод доступен для: admin, manager, service, bti, ltp_first, owner, employee
 */
- (GRPCUnaryProtoCall *)getFlatgrammListWithMessage:(KEYAPISACCESSCONTROLV1GetFlatgrammListRequest *)message responseHandler:(id<GRPCProtoResponseHandler>)handler callOptions:(GRPCCallOptions *_Nullable)callOptions {
  return [self RPCToMethod:@"GetFlatgrammList"
                   message:message
           responseHandler:handler
               callOptions:callOptions
             responseClass:[KEYAPISACCESSCONTROLV1GetFlatgrammListResponse class]];
}

#pragma mark GetFlatgrammCount(GetFlatgrammCountRequest) returns (GetFlatgrammCountResponse)

/**
 * Метод получения количества квартирограмм.
 * Для пользователей типов owner, employee: в результат фильтрации попадают только квартирограммы компании пользователя.
 * Для пользователей типов owner, employee: если filter.company_ids непустое и не совпадает с COMPANY_ID пользователя, метод вернет PERMISSION_DENIED = 7 (403 Forbidden).
 * Для пользователей типов owner, employee: если filter.company_ids пустое, то фильтрация по COMPANY_ID пользователя.
 * Метод доступен для: admin, manager, service, bti, ltp_first, owner, employee
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (void)getFlatgrammCountWithRequest:(KEYAPISACCESSCONTROLV1GetFlatgrammCountRequest *)request handler:(void(^)(KEYAPISACCESSCONTROLV1GetFlatgrammCountResponse *_Nullable response, NSError *_Nullable error))handler{
  [[self RPCToGetFlatgrammCountWithRequest:request handler:handler] start];
}
// Returns a not-yet-started RPC object.
/**
 * Метод получения количества квартирограмм.
 * Для пользователей типов owner, employee: в результат фильтрации попадают только квартирограммы компании пользователя.
 * Для пользователей типов owner, employee: если filter.company_ids непустое и не совпадает с COMPANY_ID пользователя, метод вернет PERMISSION_DENIED = 7 (403 Forbidden).
 * Для пользователей типов owner, employee: если filter.company_ids пустое, то фильтрация по COMPANY_ID пользователя.
 * Метод доступен для: admin, manager, service, bti, ltp_first, owner, employee
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (GRPCProtoCall *)RPCToGetFlatgrammCountWithRequest:(KEYAPISACCESSCONTROLV1GetFlatgrammCountRequest *)request handler:(void(^)(KEYAPISACCESSCONTROLV1GetFlatgrammCountResponse *_Nullable response, NSError *_Nullable error))handler{
  return [self RPCToMethod:@"GetFlatgrammCount"
            requestsWriter:[GRXWriter writerWithValue:request]
             responseClass:[KEYAPISACCESSCONTROLV1GetFlatgrammCountResponse class]
        responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]];
}
/**
 * Метод получения количества квартирограмм.
 * Для пользователей типов owner, employee: в результат фильтрации попадают только квартирограммы компании пользователя.
 * Для пользователей типов owner, employee: если filter.company_ids непустое и не совпадает с COMPANY_ID пользователя, метод вернет PERMISSION_DENIED = 7 (403 Forbidden).
 * Для пользователей типов owner, employee: если filter.company_ids пустое, то фильтрация по COMPANY_ID пользователя.
 * Метод доступен для: admin, manager, service, bti, ltp_first, owner, employee
 */
- (GRPCUnaryProtoCall *)getFlatgrammCountWithMessage:(KEYAPISACCESSCONTROLV1GetFlatgrammCountRequest *)message responseHandler:(id<GRPCProtoResponseHandler>)handler callOptions:(GRPCCallOptions *_Nullable)callOptions {
  return [self RPCToMethod:@"GetFlatgrammCount"
                   message:message
           responseHandler:handler
               callOptions:callOptions
             responseClass:[KEYAPISACCESSCONTROLV1GetFlatgrammCountResponse class]];
}

#pragma mark GetFlatgrammDcCompanyList(GetFlatgrammDcCompanyListRequest) returns (stream GetFlatgrammDcCompanyListResponse)

/**
 * Метод получения списка связей квартирограмм и домофонной компании.
 * Метод доступен для: admin, service, seller
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (void)getFlatgrammDcCompanyListWithRequest:(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListRequest *)request eventHandler:(void(^)(BOOL done, KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse *_Nullable response, NSError *_Nullable error))eventHandler{
  [[self RPCToGetFlatgrammDcCompanyListWithRequest:request eventHandler:eventHandler] start];
}
// Returns a not-yet-started RPC object.
/**
 * Метод получения списка связей квартирограмм и домофонной компании.
 * Метод доступен для: admin, service, seller
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (GRPCProtoCall *)RPCToGetFlatgrammDcCompanyListWithRequest:(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListRequest *)request eventHandler:(void(^)(BOOL done, KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse *_Nullable response, NSError *_Nullable error))eventHandler{
  return [self RPCToMethod:@"GetFlatgrammDcCompanyList"
            requestsWriter:[GRXWriter writerWithValue:request]
             responseClass:[KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse class]
        responsesWriteable:[GRXWriteable writeableWithEventHandler:eventHandler]];
}
/**
 * Метод получения списка связей квартирограмм и домофонной компании.
 * Метод доступен для: admin, service, seller
 */
- (GRPCUnaryProtoCall *)getFlatgrammDcCompanyListWithMessage:(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListRequest *)message responseHandler:(id<GRPCProtoResponseHandler>)handler callOptions:(GRPCCallOptions *_Nullable)callOptions {
  return [self RPCToMethod:@"GetFlatgrammDcCompanyList"
                   message:message
           responseHandler:handler
               callOptions:callOptions
             responseClass:[KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyListResponse class]];
}

#pragma mark GetFlatgrammCompanyRelationList(GetFlatgrammCompanyRelationListRequest) returns (stream GetFlatgrammCompanyRelationListResponse)

/**
 * Метод получения списка связей квартирограмм и компаний.
 * Метод доступен для: admin, service, seller
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (void)getFlatgrammCompanyRelationListWithRequest:(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListRequest *)request eventHandler:(void(^)(BOOL done, KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse *_Nullable response, NSError *_Nullable error))eventHandler{
  [[self RPCToGetFlatgrammCompanyRelationListWithRequest:request eventHandler:eventHandler] start];
}
// Returns a not-yet-started RPC object.
/**
 * Метод получения списка связей квартирограмм и компаний.
 * Метод доступен для: admin, service, seller
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (GRPCProtoCall *)RPCToGetFlatgrammCompanyRelationListWithRequest:(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListRequest *)request eventHandler:(void(^)(BOOL done, KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse *_Nullable response, NSError *_Nullable error))eventHandler{
  return [self RPCToMethod:@"GetFlatgrammCompanyRelationList"
            requestsWriter:[GRXWriter writerWithValue:request]
             responseClass:[KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse class]
        responsesWriteable:[GRXWriteable writeableWithEventHandler:eventHandler]];
}
/**
 * Метод получения списка связей квартирограмм и компаний.
 * Метод доступен для: admin, service, seller
 */
- (GRPCUnaryProtoCall *)getFlatgrammCompanyRelationListWithMessage:(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListRequest *)message responseHandler:(id<GRPCProtoResponseHandler>)handler callOptions:(GRPCCallOptions *_Nullable)callOptions {
  return [self RPCToMethod:@"GetFlatgrammCompanyRelationList"
                   message:message
           responseHandler:handler
               callOptions:callOptions
             responseClass:[KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationListResponse class]];
}

#pragma mark GetFlatgrammDcCompanyCount(GetFlatgrammDcCompanyCountRequest) returns (GetFlatgrammDcCompanyCountResponse)

/**
 * Метод получения количества связей квартирограмм и домофонной компании.
 * Метод доступен для: admin, service, seller
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (void)getFlatgrammDcCompanyCountWithRequest:(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountRequest *)request handler:(void(^)(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse *_Nullable response, NSError *_Nullable error))handler{
  [[self RPCToGetFlatgrammDcCompanyCountWithRequest:request handler:handler] start];
}
// Returns a not-yet-started RPC object.
/**
 * Метод получения количества связей квартирограмм и домофонной компании.
 * Метод доступен для: admin, service, seller
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (GRPCProtoCall *)RPCToGetFlatgrammDcCompanyCountWithRequest:(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountRequest *)request handler:(void(^)(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse *_Nullable response, NSError *_Nullable error))handler{
  return [self RPCToMethod:@"GetFlatgrammDcCompanyCount"
            requestsWriter:[GRXWriter writerWithValue:request]
             responseClass:[KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse class]
        responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]];
}
/**
 * Метод получения количества связей квартирограмм и домофонной компании.
 * Метод доступен для: admin, service, seller
 */
- (GRPCUnaryProtoCall *)getFlatgrammDcCompanyCountWithMessage:(KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountRequest *)message responseHandler:(id<GRPCProtoResponseHandler>)handler callOptions:(GRPCCallOptions *_Nullable)callOptions {
  return [self RPCToMethod:@"GetFlatgrammDcCompanyCount"
                   message:message
           responseHandler:handler
               callOptions:callOptions
             responseClass:[KEYAPISACCESSCONTROLV1GetFlatgrammDcCompanyCountResponse class]];
}

#pragma mark GetFlatgrammCompanyRelationCount(GetFlatgrammCompanyRelationCountRequest) returns (GetFlatgrammCompanyRelationCountResponse)

/**
 * Метод получения количества связей квартирограмм и компаний.
 * Метод доступен для: admin, service, seller
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (void)getFlatgrammCompanyRelationCountWithRequest:(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountRequest *)request handler:(void(^)(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse *_Nullable response, NSError *_Nullable error))handler{
  [[self RPCToGetFlatgrammCompanyRelationCountWithRequest:request handler:handler] start];
}
// Returns a not-yet-started RPC object.
/**
 * Метод получения количества связей квартирограмм и компаний.
 * Метод доступен для: admin, service, seller
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (GRPCProtoCall *)RPCToGetFlatgrammCompanyRelationCountWithRequest:(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountRequest *)request handler:(void(^)(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse *_Nullable response, NSError *_Nullable error))handler{
  return [self RPCToMethod:@"GetFlatgrammCompanyRelationCount"
            requestsWriter:[GRXWriter writerWithValue:request]
             responseClass:[KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse class]
        responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]];
}
/**
 * Метод получения количества связей квартирограмм и компаний.
 * Метод доступен для: admin, service, seller
 */
- (GRPCUnaryProtoCall *)getFlatgrammCompanyRelationCountWithMessage:(KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountRequest *)message responseHandler:(id<GRPCProtoResponseHandler>)handler callOptions:(GRPCCallOptions *_Nullable)callOptions {
  return [self RPCToMethod:@"GetFlatgrammCompanyRelationCount"
                   message:message
           responseHandler:handler
               callOptions:callOptions
             responseClass:[KEYAPISACCESSCONTROLV1GetFlatgrammCompanyRelationCountResponse class]];
}

#pragma mark PutFlatgrammDcCompanyAttach(PutFlatgrammDcCompanyAttachRequest) returns (PutFlatgrammDcCompanyAttachResponse)

/**
 * Метод сохранения связей квартирограмм и домофонной компании.
 * Поддерживает только создание.
 * Метод доступен для: admin, service, seller
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (void)putFlatgrammDcCompanyAttachWithRequest:(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachRequest *)request handler:(void(^)(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse *_Nullable response, NSError *_Nullable error))handler{
  [[self RPCToPutFlatgrammDcCompanyAttachWithRequest:request handler:handler] start];
}
// Returns a not-yet-started RPC object.
/**
 * Метод сохранения связей квартирограмм и домофонной компании.
 * Поддерживает только создание.
 * Метод доступен для: admin, service, seller
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (GRPCProtoCall *)RPCToPutFlatgrammDcCompanyAttachWithRequest:(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachRequest *)request handler:(void(^)(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse *_Nullable response, NSError *_Nullable error))handler{
  return [self RPCToMethod:@"PutFlatgrammDcCompanyAttach"
            requestsWriter:[GRXWriter writerWithValue:request]
             responseClass:[KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse class]
        responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]];
}
/**
 * Метод сохранения связей квартирограмм и домофонной компании.
 * Поддерживает только создание.
 * Метод доступен для: admin, service, seller
 */
- (GRPCUnaryProtoCall *)putFlatgrammDcCompanyAttachWithMessage:(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachRequest *)message responseHandler:(id<GRPCProtoResponseHandler>)handler callOptions:(GRPCCallOptions *_Nullable)callOptions {
  return [self RPCToMethod:@"PutFlatgrammDcCompanyAttach"
                   message:message
           responseHandler:handler
               callOptions:callOptions
             responseClass:[KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyAttachResponse class]];
}

#pragma mark PutFlatgrammCompanyRelationAttach(PutFlatgrammCompanyRelationAttachRequest) returns (PutFlatgrammCompanyRelationAttachResponse)

/**
 * Метод сохранения связей квартирограммы и компании.
 * Поддерживает только создание.
 * Метод доступен для: admin, service, seller
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (void)putFlatgrammCompanyRelationAttachWithRequest:(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachRequest *)request handler:(void(^)(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse *_Nullable response, NSError *_Nullable error))handler{
  [[self RPCToPutFlatgrammCompanyRelationAttachWithRequest:request handler:handler] start];
}
// Returns a not-yet-started RPC object.
/**
 * Метод сохранения связей квартирограммы и компании.
 * Поддерживает только создание.
 * Метод доступен для: admin, service, seller
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (GRPCProtoCall *)RPCToPutFlatgrammCompanyRelationAttachWithRequest:(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachRequest *)request handler:(void(^)(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse *_Nullable response, NSError *_Nullable error))handler{
  return [self RPCToMethod:@"PutFlatgrammCompanyRelationAttach"
            requestsWriter:[GRXWriter writerWithValue:request]
             responseClass:[KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse class]
        responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]];
}
/**
 * Метод сохранения связей квартирограммы и компании.
 * Поддерживает только создание.
 * Метод доступен для: admin, service, seller
 */
- (GRPCUnaryProtoCall *)putFlatgrammCompanyRelationAttachWithMessage:(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachRequest *)message responseHandler:(id<GRPCProtoResponseHandler>)handler callOptions:(GRPCCallOptions *_Nullable)callOptions {
  return [self RPCToMethod:@"PutFlatgrammCompanyRelationAttach"
                   message:message
           responseHandler:handler
               callOptions:callOptions
             responseClass:[KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationAttachResponse class]];
}

#pragma mark PutFlatgrammDcCompanyDetach(PutFlatgrammDcCompanyDetachRequest) returns (PutFlatgrammDcCompanyDetachResponse)

/**
 * Метод удаления связей квартирограмм и домофонной компании.
 * Метод доступен для: admin, service, seller
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (void)putFlatgrammDcCompanyDetachWithRequest:(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachRequest *)request handler:(void(^)(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse *_Nullable response, NSError *_Nullable error))handler{
  [[self RPCToPutFlatgrammDcCompanyDetachWithRequest:request handler:handler] start];
}
// Returns a not-yet-started RPC object.
/**
 * Метод удаления связей квартирограмм и домофонной компании.
 * Метод доступен для: admin, service, seller
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (GRPCProtoCall *)RPCToPutFlatgrammDcCompanyDetachWithRequest:(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachRequest *)request handler:(void(^)(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse *_Nullable response, NSError *_Nullable error))handler{
  return [self RPCToMethod:@"PutFlatgrammDcCompanyDetach"
            requestsWriter:[GRXWriter writerWithValue:request]
             responseClass:[KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse class]
        responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]];
}
/**
 * Метод удаления связей квартирограмм и домофонной компании.
 * Метод доступен для: admin, service, seller
 */
- (GRPCUnaryProtoCall *)putFlatgrammDcCompanyDetachWithMessage:(KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachRequest *)message responseHandler:(id<GRPCProtoResponseHandler>)handler callOptions:(GRPCCallOptions *_Nullable)callOptions {
  return [self RPCToMethod:@"PutFlatgrammDcCompanyDetach"
                   message:message
           responseHandler:handler
               callOptions:callOptions
             responseClass:[KEYAPISACCESSCONTROLV1PutFlatgrammDcCompanyDetachResponse class]];
}

#pragma mark PutFlatgrammCompanyRelationDetach(PutFlatgrammCompanyRelationDetachRequest) returns (PutFlatgrammCompanyRelationDetachResponse)

/**
 * Метод удаления связей квартирограммы и компании.
 * Метод доступен для: admin, service, seller
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (void)putFlatgrammCompanyRelationDetachWithRequest:(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachRequest *)request handler:(void(^)(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse *_Nullable response, NSError *_Nullable error))handler{
  [[self RPCToPutFlatgrammCompanyRelationDetachWithRequest:request handler:handler] start];
}
// Returns a not-yet-started RPC object.
/**
 * Метод удаления связей квартирограммы и компании.
 * Метод доступен для: admin, service, seller
 *
 * This method belongs to a set of APIs that have been deprecated. Using the v2 API is recommended.
 */
- (GRPCProtoCall *)RPCToPutFlatgrammCompanyRelationDetachWithRequest:(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachRequest *)request handler:(void(^)(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse *_Nullable response, NSError *_Nullable error))handler{
  return [self RPCToMethod:@"PutFlatgrammCompanyRelationDetach"
            requestsWriter:[GRXWriter writerWithValue:request]
             responseClass:[KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse class]
        responsesWriteable:[GRXWriteable writeableWithSingleHandler:handler]];
}
/**
 * Метод удаления связей квартирограммы и компании.
 * Метод доступен для: admin, service, seller
 */
- (GRPCUnaryProtoCall *)putFlatgrammCompanyRelationDetachWithMessage:(KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachRequest *)message responseHandler:(id<GRPCProtoResponseHandler>)handler callOptions:(GRPCCallOptions *_Nullable)callOptions {
  return [self RPCToMethod:@"PutFlatgrammCompanyRelationDetach"
                   message:message
           responseHandler:handler
               callOptions:callOptions
             responseClass:[KEYAPISACCESSCONTROLV1PutFlatgrammCompanyRelationDetachResponse class]];
}

@end
#endif
