// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/vc/v1/keyapis_vc_archive_minutes_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 KEYAPISVCV1ArchiveMinute;
@class KEYAPISVCV1ArchiveMinuteInterval;
@class KEYAPISVCV1CameraArchiveMinuteIntervals;
@class KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_Error;
@class KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error;
@class KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error_VcfrontServiceError;
@class KEYAPISVCV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - KEYAPISVCV1KeyapisVcArchiveMinutesV1Root

/**
 * 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 KEYAPISVCV1KeyapisVcArchiveMinutesV1Root : GPBRootObject
@end

#pragma mark - KEYAPISVCV1ArchiveMinuteInterval

typedef GPB_ENUM(KEYAPISVCV1ArchiveMinuteInterval_FieldNumber) {
  KEYAPISVCV1ArchiveMinuteInterval_FieldNumber_SinceTimestamp = 1,
  KEYAPISVCV1ArchiveMinuteInterval_FieldNumber_TillTimestamp = 2,
};

/**
 * Интервал архивной минутки
 **/
GPB_FINAL @interface KEYAPISVCV1ArchiveMinuteInterval : GPBMessage

/**
 * Начало минутки.
 * Дата в формате Unix.
 * Пример 1598269021.755
 **/
@property(nonatomic, readwrite) double sinceTimestamp;

/**
 * Конец минутки.
 * Дата в формате Unix.
 * Пример 1598269021.755
 **/
@property(nonatomic, readwrite) double tillTimestamp;

@end

#pragma mark - KEYAPISVCV1CameraArchiveMinuteIntervals

typedef GPB_ENUM(KEYAPISVCV1CameraArchiveMinuteIntervals_FieldNumber) {
  KEYAPISVCV1CameraArchiveMinuteIntervals_FieldNumber_AvailableArray = 1,
  KEYAPISVCV1CameraArchiveMinuteIntervals_FieldNumber_FrozenArray = 2,
};

/**
 * Интервалы архивных минуток камеры
 **/
GPB_FINAL @interface KEYAPISVCV1CameraArchiveMinuteIntervals : GPBMessage

/** Доступные минутки */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISVCV1ArchiveMinuteInterval*> *availableArray;
/** The number of items in @c availableArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger availableArray_Count;

/** Замороженные минутки */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISVCV1ArchiveMinuteInterval*> *frozenArray;
/** The number of items in @c frozenArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger frozenArray_Count;

@end

#pragma mark - KEYAPISVCV1ArchiveMinute

typedef GPB_ENUM(KEYAPISVCV1ArchiveMinute_FieldNumber) {
  KEYAPISVCV1ArchiveMinute_FieldNumber_CompanyId = 1,
  KEYAPISVCV1ArchiveMinute_FieldNumber_CameraUid = 2,
  KEYAPISVCV1ArchiveMinute_FieldNumber_ChannelUid = 3,
  KEYAPISVCV1ArchiveMinute_FieldNumber_Data_p = 4,
  KEYAPISVCV1ArchiveMinute_FieldNumber_Size = 5,
  KEYAPISVCV1ArchiveMinute_FieldNumber_Md5 = 6,
};

/**
 * Информация об архивной минутке
 **/
GPB_FINAL @interface KEYAPISVCV1ArchiveMinute : GPBMessage

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

/** Идентификатор камеры */
@property(nonatomic, readwrite, copy, null_resettable) NSString *cameraUid;

/** Идентификатор канала */
@property(nonatomic, readwrite, copy, null_resettable) NSString *channelUid;

/** Границы архивной минутки */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1ArchiveMinuteInterval *data_p;
/** Test to see if @c data_p has been set. */
@property(nonatomic, readwrite) BOOL hasData_p;

/** Размер */
@property(nonatomic, readwrite) int32_t size;

/** Хэш md5 */
@property(nonatomic, readwrite, copy, null_resettable) NSString *md5;

@end

#pragma mark - KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelRequest

typedef GPB_ENUM(KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelRequest_FieldNumber) {
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelRequest_FieldNumber_CompanyId = 1,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelRequest_FieldNumber_CameraUid = 2,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelRequest_FieldNumber_ChannelUid = 3,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelRequest_FieldNumber_SinceTimestamp = 4,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelRequest_FieldNumber_TillTimestamp = 5,
};

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

/**
 * Идентификатор компании.
 * # Диапазон: 1..2147483647
 **/
@property(nonatomic, readwrite) int32_t companyId;

/** Идентификатор камеры */
@property(nonatomic, readwrite, copy, null_resettable) NSString *cameraUid;

/** Идентификатор канала */
@property(nonatomic, readwrite, copy, null_resettable) NSString *channelUid;

/**
 * Начало промежутка минуток.
 * Дата в формате Unix.
 * Пример 1598269021.755.
 * # Не превышает: till_timestamp
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBDoubleValue *sinceTimestamp;
/** Test to see if @c sinceTimestamp has been set. */
@property(nonatomic, readwrite) BOOL hasSinceTimestamp;

/**
 * Конец промежутка минуток.
 * Дата в формате Unix.
 * Пример 1598269021.755
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBDoubleValue *tillTimestamp;
/** Test to see if @c tillTimestamp has been set. */
@property(nonatomic, readwrite) BOOL hasTillTimestamp;

@end

#pragma mark - KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse

typedef GPB_ENUM(KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_FieldNumber) {
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_FieldNumber_Data_p = 1,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_Type_OneOfCase) {
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_Type_OneOfCase_Error = 2,
};

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

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

/** Архивные минутки компании */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1CameraArchiveMinuteIntervals *data_p;

/** Ошибка */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_Error *error;

@end

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

#pragma mark - KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_Error

typedef GPB_ENUM(KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_Error_FieldNumber) {
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_Error_FieldNumber_Validation = 1,
};

typedef GPB_ENUM(KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_Error_Reason_OneOfCase) {
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_Error_Reason_OneOfCase_Validation = 1,
};

/**
 * Ошибка запроса
 **/
GPB_FINAL @interface KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_Error : GPBMessage

/** Причина ошибки */
@property(nonatomic, readonly) KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_Error_Reason_OneOfCase reasonOneOfCase;

/** Ошибка валидации */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1ValidationError *validation;

@end

/**
 * Clears whatever value was set for the oneof 'reason'.
 **/
void KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_Error_ClearReasonOneOfCase(KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelResponse_Error *message);

#pragma mark - KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampRequest

typedef GPB_ENUM(KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampRequest_FieldNumber) {
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampRequest_FieldNumber_CompanyId = 1,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampRequest_FieldNumber_CameraUid = 2,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampRequest_FieldNumber_ChannelUid = 3,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampRequest_FieldNumber_TimestampValue = 4,
};

/**
 * Запрос получения информации об архивной минутке для канала камеры компании
 **/
GPB_FINAL @interface KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampRequest : GPBMessage

/**
 * Идентификатор компании.
 * # Диапазон: 1..2147483647
 **/
@property(nonatomic, readwrite) int32_t companyId;

/** Идентификатор камеры */
@property(nonatomic, readwrite, copy, null_resettable) NSString *cameraUid;

/** Идентификатор канала */
@property(nonatomic, readwrite, copy, null_resettable) NSString *channelUid;

/**
 * Метка времени архивной минутки.
 * Берется та минутка, которая попадает этой меткой времени в границы интервала архивной архивной минутки.
 * Дата в формате Unix.
 * Пример 1598269021
 **/
@property(nonatomic, readwrite) int64_t timestampValue;

@end

#pragma mark - KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse

typedef GPB_ENUM(KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_FieldNumber) {
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_FieldNumber_Data_p = 1,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Type_OneOfCase) {
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Type_OneOfCase_Error = 2,
};

/**
 * Ответ на запрос получения информации об архивной минутке для канала камеры компании
 **/
GPB_FINAL @interface KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse : GPBMessage

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

/** Информация об архивной минутке */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1ArchiveMinute *data_p;

/** Ошибка */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error *error;

@end

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

#pragma mark - KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error

typedef GPB_ENUM(KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error_FieldNumber) {
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error_FieldNumber_Validation = 1,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error_FieldNumber_VcfrontServiceError = 2,
};

typedef GPB_ENUM(KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error_Reason_OneOfCase) {
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error_Reason_OneOfCase_Validation = 1,
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error_Reason_OneOfCase_VcfrontServiceError = 2,
};

/**
 * Ошибка запроса
 **/
GPB_FINAL @interface KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error : GPBMessage

/** Причина ошибки */
@property(nonatomic, readonly) KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error_Reason_OneOfCase reasonOneOfCase;

/** Ошибка валидации */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1ValidationError *validation;

/** Ошибка взаимодействия с сервисом vcfront */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error_VcfrontServiceError *vcfrontServiceError;

@end

/**
 * Clears whatever value was set for the oneof 'reason'.
 **/
void KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error_ClearReasonOneOfCase(KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error *message);

#pragma mark - KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error_VcfrontServiceError

typedef GPB_ENUM(KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error_VcfrontServiceError_FieldNumber) {
  KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error_VcfrontServiceError_FieldNumber_Text = 1,
};

/**
 * Ошибка взаимодействия с сервисом vcfront
 **/
GPB_FINAL @interface KEYAPISVCV1GetArchiveMinutesCompanyCameraChannelTimestampResponse_Error_VcfrontServiceError : GPBMessage

/** Текст ошибки */
@property(nonatomic, readwrite, copy, null_resettable) NSString *text;

@end

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
