// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/vc/v1/keyapis_vc_camera_archive_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 KEYAPISVCV1CameraArchiveCalendar;
@class KEYAPISVCV1CameraArchiveIntervals;
@class KEYAPISVCV1GetCameraArchiveCalendarResponse_Error;
@class KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_VcError;
@class KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_VcUserNotFound;
@class KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error;
@class KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_VcError;
@class KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_VcUserNotFound;
@class KEYAPISVCV1Interval;
@class KEYAPISVCV1ValidationError;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - KEYAPISVCV1KeyapisVcCameraArchiveV1Root

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

#pragma mark - KEYAPISVCV1CameraArchiveCalendar

typedef GPB_ENUM(KEYAPISVCV1CameraArchiveCalendar_FieldNumber) {
  KEYAPISVCV1CameraArchiveCalendar_FieldNumber_CameraUid = 1,
  KEYAPISVCV1CameraArchiveCalendar_FieldNumber_DatesArray = 2,
};

/**
 * Календарь с датами, в которые есть записи
 **/
GPB_FINAL @interface KEYAPISVCV1CameraArchiveCalendar : GPBMessage

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

/**
 * Список дней, за которые есть записи.
 * Строки в формате "YYYY-MM-DD"
 **/
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<NSString*> *datesArray;
/** The number of items in @c datesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger datesArray_Count;

@end

#pragma mark - KEYAPISVCV1GetCameraArchiveCalendarRequest

typedef GPB_ENUM(KEYAPISVCV1GetCameraArchiveCalendarRequest_FieldNumber) {
  KEYAPISVCV1GetCameraArchiveCalendarRequest_FieldNumber_CameraUid = 1,
  KEYAPISVCV1GetCameraArchiveCalendarRequest_FieldNumber_UtcOffset = 2,
};

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

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

/**
 * Смещение таймзоны в минутах.
 * # Диапазон: -720..840
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *utcOffset;
/** Test to see if @c utcOffset has been set. */
@property(nonatomic, readwrite) BOOL hasUtcOffset;

@end

#pragma mark - KEYAPISVCV1GetCameraArchiveCalendarResponse

typedef GPB_ENUM(KEYAPISVCV1GetCameraArchiveCalendarResponse_FieldNumber) {
  KEYAPISVCV1GetCameraArchiveCalendarResponse_FieldNumber_Data_p = 1,
  KEYAPISVCV1GetCameraArchiveCalendarResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISVCV1GetCameraArchiveCalendarResponse_Type_OneOfCase) {
  KEYAPISVCV1GetCameraArchiveCalendarResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISVCV1GetCameraArchiveCalendarResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISVCV1GetCameraArchiveCalendarResponse_Type_OneOfCase_Error = 2,
};

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

/** Тип ответа */
@property(nonatomic, readonly) KEYAPISVCV1GetCameraArchiveCalendarResponse_Type_OneOfCase typeOneOfCase;

/** Календарь с датами, в которые есть записи */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1CameraArchiveCalendar *data_p;

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

@end

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

#pragma mark - KEYAPISVCV1GetCameraArchiveCalendarResponse_Error

typedef GPB_ENUM(KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_FieldNumber) {
  KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_FieldNumber_Validation = 1,
  KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_FieldNumber_VcError = 2,
  KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_FieldNumber_VcUserNotFound = 3,
};

typedef GPB_ENUM(KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_Reason_OneOfCase) {
  KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_Reason_OneOfCase_Validation = 1,
  KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_Reason_OneOfCase_VcError = 2,
  KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_Reason_OneOfCase_VcUserNotFound = 3,
};

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

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

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

/** Ошибка в сервисе ВН */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_VcError *vcError;

/** Отсутствует идентификатор пользователя в Видеоплатформе */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_VcUserNotFound *vcUserNotFound;

@end

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

#pragma mark - KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_VcError

typedef GPB_ENUM(KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_VcError_FieldNumber) {
  KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_VcError_FieldNumber_Text = 1,
};

/**
 * Ошибка в сервисе ВН
 **/
GPB_FINAL @interface KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_VcError : GPBMessage

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

@end

#pragma mark - KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_VcUserNotFound

/**
 * Отсутствует идентификатор пользователя в Видеоплатформе
 **/
GPB_FINAL @interface KEYAPISVCV1GetCameraArchiveCalendarResponse_Error_VcUserNotFound : GPBMessage

@end

#pragma mark - KEYAPISVCV1GetCameraArchiveIntervalsRequest

typedef GPB_ENUM(KEYAPISVCV1GetCameraArchiveIntervalsRequest_FieldNumber) {
  KEYAPISVCV1GetCameraArchiveIntervalsRequest_FieldNumber_CameraUid = 1,
  KEYAPISVCV1GetCameraArchiveIntervalsRequest_FieldNumber_TimestampSince = 2,
  KEYAPISVCV1GetCameraArchiveIntervalsRequest_FieldNumber_TimestampTill = 3,
};

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

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

/** Время с которого нужно получить интервалы архива unixtime */
@property(nonatomic, readwrite, strong, null_resettable) GPBDoubleValue *timestampSince;
/** Test to see if @c timestampSince has been set. */
@property(nonatomic, readwrite) BOOL hasTimestampSince;

/** Время по которое нужно получить интервалы архива unixtime */
@property(nonatomic, readwrite, strong, null_resettable) GPBDoubleValue *timestampTill;
/** Test to see if @c timestampTill has been set. */
@property(nonatomic, readwrite) BOOL hasTimestampTill;

@end

#pragma mark - KEYAPISVCV1Interval

typedef GPB_ENUM(KEYAPISVCV1Interval_FieldNumber) {
  KEYAPISVCV1Interval_FieldNumber_TimestampBegin = 1,
  KEYAPISVCV1Interval_FieldNumber_TimestampEnd = 2,
};

/**
 * Интервал
 **/
GPB_FINAL @interface KEYAPISVCV1Interval : GPBMessage

/** Начало интервала unixtime */
@property(nonatomic, readwrite) double timestampBegin;

/** Конец интервала unixtime */
@property(nonatomic, readwrite) double timestampEnd;

@end

#pragma mark - KEYAPISVCV1CameraArchiveIntervals

typedef GPB_ENUM(KEYAPISVCV1CameraArchiveIntervals_FieldNumber) {
  KEYAPISVCV1CameraArchiveIntervals_FieldNumber_CameraUid = 1,
  KEYAPISVCV1CameraArchiveIntervals_FieldNumber_IntervalsArray = 2,
};

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

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

/** Список интервалов видеоархива камеры */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISVCV1Interval*> *intervalsArray;
/** The number of items in @c intervalsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger intervalsArray_Count;

@end

#pragma mark - KEYAPISVCV1GetCameraArchiveIntervalsResponse

typedef GPB_ENUM(KEYAPISVCV1GetCameraArchiveIntervalsResponse_FieldNumber) {
  KEYAPISVCV1GetCameraArchiveIntervalsResponse_FieldNumber_Data_p = 1,
  KEYAPISVCV1GetCameraArchiveIntervalsResponse_FieldNumber_Error = 2,
};

typedef GPB_ENUM(KEYAPISVCV1GetCameraArchiveIntervalsResponse_Type_OneOfCase) {
  KEYAPISVCV1GetCameraArchiveIntervalsResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISVCV1GetCameraArchiveIntervalsResponse_Type_OneOfCase_Data_p = 1,
  KEYAPISVCV1GetCameraArchiveIntervalsResponse_Type_OneOfCase_Error = 2,
};

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

/** Тип ответа */
@property(nonatomic, readonly) KEYAPISVCV1GetCameraArchiveIntervalsResponse_Type_OneOfCase typeOneOfCase;

/** Интервалы видеоархива камеры */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1CameraArchiveIntervals *data_p;

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

@end

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

#pragma mark - KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error

typedef GPB_ENUM(KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_FieldNumber) {
  KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_FieldNumber_Validation = 1,
  KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_FieldNumber_VcError = 2,
  KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_FieldNumber_VcUserNotFound = 3,
};

typedef GPB_ENUM(KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_Reason_OneOfCase) {
  KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_Reason_OneOfCase_GPBUnsetOneOfCase = 0,
  KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_Reason_OneOfCase_Validation = 1,
  KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_Reason_OneOfCase_VcError = 2,
  KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_Reason_OneOfCase_VcUserNotFound = 3,
};

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

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

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

/** Ошибка в сервисе ВН */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_VcError *vcError;

/** Отсутствует идентификатор пользователя в Видеоплатформе */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_VcUserNotFound *vcUserNotFound;

@end

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

#pragma mark - KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_VcError

typedef GPB_ENUM(KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_VcError_FieldNumber) {
  KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_VcError_FieldNumber_Text = 1,
};

/**
 * Ошибка в сервисе ВН
 **/
GPB_FINAL @interface KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_VcError : GPBMessage

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

@end

#pragma mark - KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_VcUserNotFound

/**
 * Отсутствует идентификатор пользователя в Видеоплатформе
 **/
GPB_FINAL @interface KEYAPISVCV1GetCameraArchiveIntervalsResponse_Error_VcUserNotFound : GPBMessage

@end

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
