// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/ad/v1/keyapis_ad_salepoint_v1.proto

// This CPP symbol can be defined to use imports that match up to the framework
// imports needed when using CocoaPods.
#if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS)
 #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0
#endif

#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS
 #import <Protobuf/GPBProtocolBuffers.h>
#else
 #import "GPBProtocolBuffers.h"
#endif

#if GOOGLE_PROTOBUF_OBJC_VERSION < 30007
#error This file was generated by a newer version of protoc which is incompatible with your Protocol Buffer library sources.
#endif
#if 30007 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION
#error This file was generated by an older version of protoc which is incompatible with your Protocol Buffer library sources.
#endif

// @@protoc_insertion_point(imports)

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"

CF_EXTERN_C_BEGIN

@class KEYAPISADV1Salepoint;
@class KEYAPISADV1SalepointFilter;
@class KEYAPISADV1SalepointFilter_Location;
@class KEYAPISADV1SalepointPaging;
@class KEYAPISADV1Salepoint_Location;
@class KEYAPISADV1Salepoint_Worktime;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum KEYAPISADV1Salepoint_Type

/** Справочник типов точек продаж */
typedef GPB_ENUM(KEYAPISADV1Salepoint_Type) {
  /**
   * Value used if any message's field encounters a value that is not defined
   * by this enum. The message will also have C functions to get/set the rawValue
   * of the field.
   **/
  KEYAPISADV1Salepoint_Type_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISADV1Salepoint_Type_TypeUnknown = 0,

  /** Теле2 */
  KEYAPISADV1Salepoint_Type_Tele2 = 1,

  /** Почта россии */
  KEYAPISADV1Salepoint_Type_PochtaRossii = 2,

  /** Перекресток */
  KEYAPISADV1Salepoint_Type_Perekrestok = 3,

  /** Пятерочка */
  KEYAPISADV1Salepoint_Type_Pyaterochka = 4,

  /** Другая */
  KEYAPISADV1Salepoint_Type_Another = 5,

  /** Мегафон */
  KEYAPISADV1Salepoint_Type_Megafon = 6,
};

GPBEnumDescriptor *KEYAPISADV1Salepoint_Type_EnumDescriptor(void);

/**
 * Checks to see if the given value is defined by the enum or was not known at
 * the time this source was generated.
 **/
BOOL KEYAPISADV1Salepoint_Type_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISADV1Salepoint_Worktime_DayType

/** Справочник дней */
typedef GPB_ENUM(KEYAPISADV1Salepoint_Worktime_DayType) {
  /**
   * Value used if any message's field encounters a value that is not defined
   * by this enum. The message will also have C functions to get/set the rawValue
   * of the field.
   **/
  KEYAPISADV1Salepoint_Worktime_DayType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISADV1Salepoint_Worktime_DayType_DayTypeUnknown = 0,

  /** Понедельник */
  KEYAPISADV1Salepoint_Worktime_DayType_Monday = 1,

  /** Вторник */
  KEYAPISADV1Salepoint_Worktime_DayType_Tuesday = 2,

  /** Среда */
  KEYAPISADV1Salepoint_Worktime_DayType_Wednesday = 3,

  /** Четверг */
  KEYAPISADV1Salepoint_Worktime_DayType_Thursday = 4,

  /** Пятница */
  KEYAPISADV1Salepoint_Worktime_DayType_Friday = 5,

  /** Суббота */
  KEYAPISADV1Salepoint_Worktime_DayType_Saturday = 6,

  /** Воскресенье */
  KEYAPISADV1Salepoint_Worktime_DayType_Sunday = 7,
};

GPBEnumDescriptor *KEYAPISADV1Salepoint_Worktime_DayType_EnumDescriptor(void);

/**
 * Checks to see if the given value is defined by the enum or was not known at
 * the time this source was generated.
 **/
BOOL KEYAPISADV1Salepoint_Worktime_DayType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISADV1SalepointPaging_OrderByType

/** Справочник типов значений сортировки */
typedef GPB_ENUM(KEYAPISADV1SalepointPaging_OrderByType) {
  /**
   * Value used if any message's field encounters a value that is not defined
   * by this enum. The message will also have C functions to get/set the rawValue
   * of the field.
   **/
  KEYAPISADV1SalepointPaging_OrderByType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISADV1SalepointPaging_OrderByType_OrderByTypeUnknown = 0,

  /** По идентификатору */
  KEYAPISADV1SalepointPaging_OrderByType_Id = 1,

  /** По дистанции */
  KEYAPISADV1SalepointPaging_OrderByType_Distance = 2,

  /**
   * По рангу близости.
   * При поиске по тексту
   **/
  KEYAPISADV1SalepointPaging_OrderByType_RankCd = 3,
};

GPBEnumDescriptor *KEYAPISADV1SalepointPaging_OrderByType_EnumDescriptor(void);

/**
 * Checks to see if the given value is defined by the enum or was not known at
 * the time this source was generated.
 **/
BOOL KEYAPISADV1SalepointPaging_OrderByType_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISADV1SalepointPaging_DirectionType

/** Справочник типов направлений сортировки */
typedef GPB_ENUM(KEYAPISADV1SalepointPaging_DirectionType) {
  /**
   * Value used if any message's field encounters a value that is not defined
   * by this enum. The message will also have C functions to get/set the rawValue
   * of the field.
   **/
  KEYAPISADV1SalepointPaging_DirectionType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISADV1SalepointPaging_DirectionType_DirectionTypeUnknown = 0,

  /** От большего к меньшему */
  KEYAPISADV1SalepointPaging_DirectionType_Desc = 1,

  /** От меньшего к большему */
  KEYAPISADV1SalepointPaging_DirectionType_Asc = 2,
};

GPBEnumDescriptor *KEYAPISADV1SalepointPaging_DirectionType_EnumDescriptor(void);

/**
 * Checks to see if the given value is defined by the enum or was not known at
 * the time this source was generated.
 **/
BOOL KEYAPISADV1SalepointPaging_DirectionType_IsValidValue(int32_t value);

#pragma mark - KEYAPISADV1KeyapisAdSalepointV1Root

/**
 * Exposes the extension registry for this file.
 *
 * The base class provides:
 * @code
 *   + (GPBExtensionRegistry *)extensionRegistry;
 * @endcode
 * which is a @c GPBExtensionRegistry that includes all the extensions defined by
 * this file and all files that it depends on.
 **/
GPB_FINAL @interface KEYAPISADV1KeyapisAdSalepointV1Root : GPBRootObject
@end

#pragma mark - KEYAPISADV1Salepoint

typedef GPB_ENUM(KEYAPISADV1Salepoint_FieldNumber) {
  KEYAPISADV1Salepoint_FieldNumber_Id_p = 1,
  KEYAPISADV1Salepoint_FieldNumber_Title = 2,
  KEYAPISADV1Salepoint_FieldNumber_Type = 3,
  KEYAPISADV1Salepoint_FieldNumber_Description_p = 4,
  KEYAPISADV1Salepoint_FieldNumber_Address = 5,
  KEYAPISADV1Salepoint_FieldNumber_Location = 6,
  KEYAPISADV1Salepoint_FieldNumber_WorktimesArray = 7,
  KEYAPISADV1Salepoint_FieldNumber_PhoneNumber = 8,
  KEYAPISADV1Salepoint_FieldNumber_SiteURL = 9,
  KEYAPISADV1Salepoint_FieldNumber_CreatedAt = 10,
  KEYAPISADV1Salepoint_FieldNumber_ChangedAt = 11,
  KEYAPISADV1Salepoint_FieldNumber_ArchievedAt = 12,
};

/**
 * Точка продаж
 **/
GPB_FINAL @interface KEYAPISADV1Salepoint : GPBMessage

/** Идентификатор */
@property(nonatomic, readwrite) int32_t id_p;

/** Название */
@property(nonatomic, readwrite, copy, null_resettable) NSString *title;

/** Тип точки продаж */
@property(nonatomic, readwrite) KEYAPISADV1Salepoint_Type type;

/** Описание */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *description_p;
/** Test to see if @c description_p has been set. */
@property(nonatomic, readwrite) BOOL hasDescription_p;

/** Адрес */
@property(nonatomic, readwrite, copy, null_resettable) NSString *address;

/** Местонахождение */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISADV1Salepoint_Location *location;
/** Test to see if @c location has been set. */
@property(nonatomic, readwrite) BOOL hasLocation;

/** Рабочее время */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISADV1Salepoint_Worktime*> *worktimesArray;
/** The number of items in @c worktimesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger worktimesArray_Count;

/** Номер телефона */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *phoneNumber;
/** Test to see if @c phoneNumber has been set. */
@property(nonatomic, readwrite) BOOL hasPhoneNumber;

/** Ссылка на сайт */
@property(nonatomic, readwrite, copy, null_resettable) NSString *siteURL;

/** Дата создания */
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *createdAt;
/** Test to see if @c createdAt has been set. */
@property(nonatomic, readwrite) BOOL hasCreatedAt;

/**
 * Дата последнего изменения.
 * Заполняется и обновляется сервером.
 * Заполняется при создании и изменении.
 * Является версией объекта
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *changedAt;
/** Test to see if @c changedAt has been set. */
@property(nonatomic, readwrite) BOOL hasChangedAt;

/** Дата архивации */
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *archievedAt;
/** Test to see if @c archievedAt has been set. */
@property(nonatomic, readwrite) BOOL hasArchievedAt;

@end

/**
 * Fetches the raw value of a @c KEYAPISADV1Salepoint's @c type property, even
 * if the value was not defined by the enum at the time the code was generated.
 **/
int32_t KEYAPISADV1Salepoint_Type_RawValue(KEYAPISADV1Salepoint *message);
/**
 * Sets the raw value of an @c KEYAPISADV1Salepoint's @c type property, allowing
 * it to be set to a value that was not defined by the enum at the time the code
 * was generated.
 **/
void SetKEYAPISADV1Salepoint_Type_RawValue(KEYAPISADV1Salepoint *message, int32_t value);

#pragma mark - KEYAPISADV1Salepoint_Location

typedef GPB_ENUM(KEYAPISADV1Salepoint_Location_FieldNumber) {
  KEYAPISADV1Salepoint_Location_FieldNumber_Latitude = 1,
  KEYAPISADV1Salepoint_Location_FieldNumber_Longitude = 2,
};

/**
 * Местонахождение
 **/
GPB_FINAL @interface KEYAPISADV1Salepoint_Location : GPBMessage

/** Широта */
@property(nonatomic, readwrite) float latitude;

/** Долгота */
@property(nonatomic, readwrite) float longitude;

@end

#pragma mark - KEYAPISADV1Salepoint_Worktime

typedef GPB_ENUM(KEYAPISADV1Salepoint_Worktime_FieldNumber) {
  KEYAPISADV1Salepoint_Worktime_FieldNumber_DayType = 1,
  KEYAPISADV1Salepoint_Worktime_FieldNumber_OpenedAt = 2,
  KEYAPISADV1Salepoint_Worktime_FieldNumber_ClosedAt = 3,
};

/**
 * Рабочее время
 **/
GPB_FINAL @interface KEYAPISADV1Salepoint_Worktime : GPBMessage

/** День недели */
@property(nonatomic, readwrite) KEYAPISADV1Salepoint_Worktime_DayType dayType;

/** Время открытия */
@property(nonatomic, readwrite, copy, null_resettable) NSString *openedAt;

/** Время закрытия */
@property(nonatomic, readwrite, copy, null_resettable) NSString *closedAt;

@end

/**
 * Fetches the raw value of a @c KEYAPISADV1Salepoint_Worktime's @c dayType property, even
 * if the value was not defined by the enum at the time the code was generated.
 **/
int32_t KEYAPISADV1Salepoint_Worktime_DayType_RawValue(KEYAPISADV1Salepoint_Worktime *message);
/**
 * Sets the raw value of an @c KEYAPISADV1Salepoint_Worktime's @c dayType property, allowing
 * it to be set to a value that was not defined by the enum at the time the code
 * was generated.
 **/
void SetKEYAPISADV1Salepoint_Worktime_DayType_RawValue(KEYAPISADV1Salepoint_Worktime *message, int32_t value);

#pragma mark - KEYAPISADV1SalepointFilter

typedef GPB_ENUM(KEYAPISADV1SalepointFilter_FieldNumber) {
  KEYAPISADV1SalepointFilter_FieldNumber_Text = 1,
  KEYAPISADV1SalepointFilter_FieldNumber_Location = 2,
  KEYAPISADV1SalepointFilter_FieldNumber_Distance = 3,
  KEYAPISADV1SalepointFilter_FieldNumber_IsArchieved = 4,
};

/**
 * Фильтр точек продаж
 **/
GPB_FINAL @interface KEYAPISADV1SalepointFilter : GPBMessage

/**
 * По тексту.
 * Если значение не передано то поиск по нему не производится.
 * # Поиск производится по полям:
 * # - Название
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *text;
/** Test to see if @c text has been set. */
@property(nonatomic, readwrite) BOOL hasText;

/**
 * По местонахождению.
 * Игнорируется если дистанция не передана
 **/
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISADV1SalepointFilter_Location *location;
/** Test to see if @c location has been set. */
@property(nonatomic, readwrite) BOOL hasLocation;

/**
 * По дистанции.
 * Игнорируется если местонахождение не передано
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBFloatValue *distance;
/** Test to see if @c distance has been set. */
@property(nonatomic, readwrite) BOOL hasDistance;

/** По архивированым */
@property(nonatomic, readwrite, strong, null_resettable) GPBBoolValue *isArchieved;
/** Test to see if @c isArchieved has been set. */
@property(nonatomic, readwrite) BOOL hasIsArchieved;

@end

#pragma mark - KEYAPISADV1SalepointFilter_Location

typedef GPB_ENUM(KEYAPISADV1SalepointFilter_Location_FieldNumber) {
  KEYAPISADV1SalepointFilter_Location_FieldNumber_Latitude = 1,
  KEYAPISADV1SalepointFilter_Location_FieldNumber_Longitude = 2,
};

/**
 * Местонахождение
 **/
GPB_FINAL @interface KEYAPISADV1SalepointFilter_Location : GPBMessage

/** По широте */
@property(nonatomic, readwrite) float latitude;

/** По долготе */
@property(nonatomic, readwrite) float longitude;

@end

#pragma mark - KEYAPISADV1SalepointPaging

typedef GPB_ENUM(KEYAPISADV1SalepointPaging_FieldNumber) {
  KEYAPISADV1SalepointPaging_FieldNumber_OrderByType = 1,
  KEYAPISADV1SalepointPaging_FieldNumber_DirectionType = 2,
  KEYAPISADV1SalepointPaging_FieldNumber_Limit = 3,
  KEYAPISADV1SalepointPaging_FieldNumber_Offset = 4,
};

/**
 * Пагинация по точекам продаж
 **/
GPB_FINAL @interface KEYAPISADV1SalepointPaging : GPBMessage

/**
 * Тип значения сортировки.
 * По умолчанию: ORDER_BY_TYPE_ID
 **/
@property(nonatomic, readwrite) KEYAPISADV1SalepointPaging_OrderByType orderByType;

/**
 * Тип направления сортировки.
 * По умолчанию: DESC
 **/
@property(nonatomic, readwrite) KEYAPISADV1SalepointPaging_DirectionType directionType;

/**
 * Количество записей на страницу.
 * Минимальное значение: 1.
 * Максимальное значение: 100.
 * По умолчанию: 20.
 * Если значение 0 (не передано), то выставляем значение по умолчанию
 **/
@property(nonatomic, readwrite) int32_t limit;

/**
 * Сдвиг.
 * По умолчанию: 0
 **/
@property(nonatomic, readwrite) int32_t offset;

@end

/**
 * Fetches the raw value of a @c KEYAPISADV1SalepointPaging's @c orderByType property, even
 * if the value was not defined by the enum at the time the code was generated.
 **/
int32_t KEYAPISADV1SalepointPaging_OrderByType_RawValue(KEYAPISADV1SalepointPaging *message);
/**
 * Sets the raw value of an @c KEYAPISADV1SalepointPaging's @c orderByType property, allowing
 * it to be set to a value that was not defined by the enum at the time the code
 * was generated.
 **/
void SetKEYAPISADV1SalepointPaging_OrderByType_RawValue(KEYAPISADV1SalepointPaging *message, int32_t value);

/**
 * Fetches the raw value of a @c KEYAPISADV1SalepointPaging's @c directionType property, even
 * if the value was not defined by the enum at the time the code was generated.
 **/
int32_t KEYAPISADV1SalepointPaging_DirectionType_RawValue(KEYAPISADV1SalepointPaging *message);
/**
 * Sets the raw value of an @c KEYAPISADV1SalepointPaging's @c directionType property, allowing
 * it to be set to a value that was not defined by the enum at the time the code
 * was generated.
 **/
void SetKEYAPISADV1SalepointPaging_DirectionType_RawValue(KEYAPISADV1SalepointPaging *message, int32_t value);

#pragma mark - KEYAPISADV1PostSalepointRequest

typedef GPB_ENUM(KEYAPISADV1PostSalepointRequest_FieldNumber) {
  KEYAPISADV1PostSalepointRequest_FieldNumber_Data_p = 1,
};

/**
 * Запрос сохранения точки продаж
 **/
GPB_FINAL @interface KEYAPISADV1PostSalepointRequest : GPBMessage

/** Точка продаж */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISADV1Salepoint *data_p;
/** Test to see if @c data_p has been set. */
@property(nonatomic, readwrite) BOOL hasData_p;

@end

#pragma mark - KEYAPISADV1PostSalepointResponse

typedef GPB_ENUM(KEYAPISADV1PostSalepointResponse_FieldNumber) {
  KEYAPISADV1PostSalepointResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(KEYAPISADV1PostSalepointResponse_Type_OneOfCase) {
  KEYAPISADV1PostSalepointResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISADV1PostSalepointResponse_Type_OneOfCase_Data_p = 1,
};

/**
 * Ответ на запрос сохранения точки продаж
 **/
GPB_FINAL @interface KEYAPISADV1PostSalepointResponse : GPBMessage

/** Тип результата */
@property(nonatomic, readonly) KEYAPISADV1PostSalepointResponse_Type_OneOfCase typeOneOfCase;

/** Точка продаж */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISADV1Salepoint *data_p;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void KEYAPISADV1PostSalepointResponse_ClearTypeOneOfCase(KEYAPISADV1PostSalepointResponse *message);

#pragma mark - KEYAPISADV1GetSalepointRequest

typedef GPB_ENUM(KEYAPISADV1GetSalepointRequest_FieldNumber) {
  KEYAPISADV1GetSalepointRequest_FieldNumber_Id_p = 1,
};

/**
 * Запрос получения точки продаж
 **/
GPB_FINAL @interface KEYAPISADV1GetSalepointRequest : GPBMessage

/** Идентификатор точки продаж */
@property(nonatomic, readwrite) int32_t id_p;

@end

#pragma mark - KEYAPISADV1GetSalepointResponse

typedef GPB_ENUM(KEYAPISADV1GetSalepointResponse_FieldNumber) {
  KEYAPISADV1GetSalepointResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(KEYAPISADV1GetSalepointResponse_Type_OneOfCase) {
  KEYAPISADV1GetSalepointResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISADV1GetSalepointResponse_Type_OneOfCase_Data_p = 1,
};

/**
 * Ответ на запрос получения точки продаж
 **/
GPB_FINAL @interface KEYAPISADV1GetSalepointResponse : GPBMessage

/** Тип результата */
@property(nonatomic, readonly) KEYAPISADV1GetSalepointResponse_Type_OneOfCase typeOneOfCase;

/** Точка продаж */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISADV1Salepoint *data_p;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void KEYAPISADV1GetSalepointResponse_ClearTypeOneOfCase(KEYAPISADV1GetSalepointResponse *message);

#pragma mark - KEYAPISADV1GetSalepointListRequest

typedef GPB_ENUM(KEYAPISADV1GetSalepointListRequest_FieldNumber) {
  KEYAPISADV1GetSalepointListRequest_FieldNumber_Filter = 1,
  KEYAPISADV1GetSalepointListRequest_FieldNumber_Paging = 2,
};

typedef GPB_ENUM(KEYAPISADV1GetSalepointListRequest_Pagination_OneOfCase) {
  KEYAPISADV1GetSalepointListRequest_Pagination_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISADV1GetSalepointListRequest_Pagination_OneOfCase_Paging = 2,
};

/**
 * Запрос получения списка точек продаж
 **/
GPB_FINAL @interface KEYAPISADV1GetSalepointListRequest : GPBMessage

/** Фильтр */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISADV1SalepointFilter *filter;
/** Test to see if @c filter has been set. */
@property(nonatomic, readwrite) BOOL hasFilter;

/** Вариант разбиения на страницы */
@property(nonatomic, readonly) KEYAPISADV1GetSalepointListRequest_Pagination_OneOfCase paginationOneOfCase;

/** Пагинация */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISADV1SalepointPaging *paging;

@end

/**
 * Clears whatever value was set for the oneof 'pagination'.
 **/
void KEYAPISADV1GetSalepointListRequest_ClearPaginationOneOfCase(KEYAPISADV1GetSalepointListRequest *message);

#pragma mark - KEYAPISADV1GetSalepointListResponse

typedef GPB_ENUM(KEYAPISADV1GetSalepointListResponse_FieldNumber) {
  KEYAPISADV1GetSalepointListResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(KEYAPISADV1GetSalepointListResponse_Type_OneOfCase) {
  KEYAPISADV1GetSalepointListResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISADV1GetSalepointListResponse_Type_OneOfCase_Data_p = 1,
};

/**
 * Ответ на запрос получения списка точек продаж
 **/
GPB_FINAL @interface KEYAPISADV1GetSalepointListResponse : GPBMessage

/** Тип результата */
@property(nonatomic, readonly) KEYAPISADV1GetSalepointListResponse_Type_OneOfCase typeOneOfCase;

/** Точка продаж */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISADV1Salepoint *data_p;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void KEYAPISADV1GetSalepointListResponse_ClearTypeOneOfCase(KEYAPISADV1GetSalepointListResponse *message);

#pragma mark - KEYAPISADV1GetSalepointCountRequest

typedef GPB_ENUM(KEYAPISADV1GetSalepointCountRequest_FieldNumber) {
  KEYAPISADV1GetSalepointCountRequest_FieldNumber_Filter = 1,
};

/**
 * Запрос получения количества точек продаж
 **/
GPB_FINAL @interface KEYAPISADV1GetSalepointCountRequest : GPBMessage

/** Фильтр */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISADV1SalepointFilter *filter;
/** Test to see if @c filter has been set. */
@property(nonatomic, readwrite) BOOL hasFilter;

@end

#pragma mark - KEYAPISADV1GetSalepointCountResponse

typedef GPB_ENUM(KEYAPISADV1GetSalepointCountResponse_FieldNumber) {
  KEYAPISADV1GetSalepointCountResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(KEYAPISADV1GetSalepointCountResponse_Type_OneOfCase) {
  KEYAPISADV1GetSalepointCountResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISADV1GetSalepointCountResponse_Type_OneOfCase_Data_p = 1,
};

/**
 * Ответ на запрос получения количества точек продаж
 **/
GPB_FINAL @interface KEYAPISADV1GetSalepointCountResponse : GPBMessage

/** Тип результата */
@property(nonatomic, readonly) KEYAPISADV1GetSalepointCountResponse_Type_OneOfCase typeOneOfCase;

/** Всего точек продаж */
@property(nonatomic, readwrite) int32_t data_p;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void KEYAPISADV1GetSalepointCountResponse_ClearTypeOneOfCase(KEYAPISADV1GetSalepointCountResponse *message);

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
