// @generated by protoc-gen-es v2.2.5 with parameter "target=ts"
// @generated from file item/v1/item.proto (package item.v1, syntax proto3)
/* eslint-disable */

import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
import { file_buf_validate_validate } from "../../buf/validate/validate_pb";
import type { Timestamp } from "@bufbuild/protobuf/wkt";
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file item/v1/item.proto.
 */
export const file_item_v1_item: GenFile = /*@__PURE__*/
  fileDesc("ChJpdGVtL3YxL2l0ZW0ucHJvdG8SB2l0ZW0udjEiigEKBEl0ZW0SCgoCaWQYASABKAMSFQoEbmFtZRgCIAEoCUIHukgEcgIQAxIpCgVhZGRlZBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLZGVzY3JpcHRpb24YBCABKAkSDQoFcHJpY2UYBSABKAISEAoIcXVhbnRpdHkYBiABKAUiHAoOR2V0SXRlbVJlcXVlc3QSCgoCaWQYASABKAMiLgoPR2V0SXRlbVJlc3BvbnNlEhsKBGl0ZW0YASABKAsyDS5pdGVtLnYxLkl0ZW0i3wEKD0dldEl0ZW1zUmVxdWVzdBIuCgVzdGFydBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIsCgNlbmQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESEwoGZmlsdGVyGAMgASgJSAKIAQESEgoFbGltaXQYBCABKAVIA4gBARITCgZvZmZzZXQYBSABKAVIBIgBAUIICgZfc3RhcnRCBgoEX2VuZEIJCgdfZmlsdGVyQggKBl9saW1pdEIJCgdfb2Zmc2V0Ij8KEEdldEl0ZW1zUmVzcG9uc2USHAoFaXRlbXMYASADKAsyDS5pdGVtLnYxLkl0ZW0SDQoFY291bnQYAiABKAMiVwoRQ3JlYXRlSXRlbVJlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRINCgVwcmljZRgDIAEoAhIQCghxdWFudGl0eRgEIAEoBSJLChJDcmVhdGVJdGVtUmVzcG9uc2USCgoCaWQYASABKAMSKQoFYWRkZWQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIqcBChFVcGRhdGVJdGVtUmVxdWVzdBIKCgJpZBgBIAEoAxIRCgRuYW1lGAIgASgJSACIAQESGAoLZGVzY3JpcHRpb24YAyABKAlIAYgBARISCgVwcmljZRgEIAEoAkgCiAEBEhUKCHF1YW50aXR5GAUgASgFSAOIAQFCBwoFX25hbWVCDgoMX2Rlc2NyaXB0aW9uQggKBl9wcmljZUILCglfcXVhbnRpdHkiFAoSVXBkYXRlSXRlbVJlc3BvbnNlIh8KEURlbGV0ZUl0ZW1SZXF1ZXN0EgoKAmlkGAEgASgDIhQKEkRlbGV0ZUl0ZW1SZXNwb25zZTLrAgoLSXRlbVNlcnZpY2USPgoHR2V0SXRlbRIXLml0ZW0udjEuR2V0SXRlbVJlcXVlc3QaGC5pdGVtLnYxLkdldEl0ZW1SZXNwb25zZSIAEkEKCEdldEl0ZW1zEhguaXRlbS52MS5HZXRJdGVtc1JlcXVlc3QaGS5pdGVtLnYxLkdldEl0ZW1zUmVzcG9uc2UiABJHCgpDcmVhdGVJdGVtEhouaXRlbS52MS5DcmVhdGVJdGVtUmVxdWVzdBobLml0ZW0udjEuQ3JlYXRlSXRlbVJlc3BvbnNlIgASRwoKVXBkYXRlSXRlbRIaLml0ZW0udjEuVXBkYXRlSXRlbVJlcXVlc3QaGy5pdGVtLnYxLlVwZGF0ZUl0ZW1SZXNwb25zZSIAEkcKCkRlbGV0ZUl0ZW0SGi5pdGVtLnYxLkRlbGV0ZUl0ZW1SZXF1ZXN0GhsuaXRlbS52MS5EZWxldGVJdGVtUmVzcG9uc2UiAEKcAQoLY29tLml0ZW0udjFCCUl0ZW1Qcm90b1ABWkVnaXRodWIuY29tL3Nwb3RkZW1vNC90cmV2c3RhY2svc2VydmVyL2ludGVybmFsL2Nvbm5lY3QvaXRlbS92MTtpdGVtdjGiAgNJWFiqAgdJdGVtLlYxygIHSXRlbVxWMeICE0l0ZW1cVjFcR1BCTWV0YWRhdGHqAghJdGVtOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_timestamp]);

/**
 * @generated from message item.v1.Item
 */
export type Item = Message<"item.v1.Item"> & {
  /**
   * @generated from field: int64 id = 1;
   */
  id: bigint;

  /**
   * @generated from field: string name = 2;
   */
  name: string;

  /**
   * @generated from field: google.protobuf.Timestamp added = 3;
   */
  added?: Timestamp;

  /**
   * @generated from field: string description = 4;
   */
  description: string;

  /**
   * @generated from field: float price = 5;
   */
  price: number;

  /**
   * @generated from field: int32 quantity = 6;
   */
  quantity: number;
};

/**
 * Describes the message item.v1.Item.
 * Use `create(ItemSchema)` to create a new message.
 */
export const ItemSchema: GenMessage<Item> = /*@__PURE__*/
  messageDesc(file_item_v1_item, 0);

/**
 * @generated from message item.v1.GetItemRequest
 */
export type GetItemRequest = Message<"item.v1.GetItemRequest"> & {
  /**
   * @generated from field: int64 id = 1;
   */
  id: bigint;
};

/**
 * Describes the message item.v1.GetItemRequest.
 * Use `create(GetItemRequestSchema)` to create a new message.
 */
export const GetItemRequestSchema: GenMessage<GetItemRequest> = /*@__PURE__*/
  messageDesc(file_item_v1_item, 1);

/**
 * @generated from message item.v1.GetItemResponse
 */
export type GetItemResponse = Message<"item.v1.GetItemResponse"> & {
  /**
   * @generated from field: item.v1.Item item = 1;
   */
  item?: Item;
};

/**
 * Describes the message item.v1.GetItemResponse.
 * Use `create(GetItemResponseSchema)` to create a new message.
 */
export const GetItemResponseSchema: GenMessage<GetItemResponse> = /*@__PURE__*/
  messageDesc(file_item_v1_item, 2);

/**
 * @generated from message item.v1.GetItemsRequest
 */
export type GetItemsRequest = Message<"item.v1.GetItemsRequest"> & {
  /**
   * @generated from field: optional google.protobuf.Timestamp start = 1;
   */
  start?: Timestamp;

  /**
   * @generated from field: optional google.protobuf.Timestamp end = 2;
   */
  end?: Timestamp;

  /**
   * @generated from field: optional string filter = 3;
   */
  filter?: string;

  /**
   * @generated from field: optional int32 limit = 4;
   */
  limit?: number;

  /**
   * @generated from field: optional int32 offset = 5;
   */
  offset?: number;
};

/**
 * Describes the message item.v1.GetItemsRequest.
 * Use `create(GetItemsRequestSchema)` to create a new message.
 */
export const GetItemsRequestSchema: GenMessage<GetItemsRequest> = /*@__PURE__*/
  messageDesc(file_item_v1_item, 3);

/**
 * @generated from message item.v1.GetItemsResponse
 */
export type GetItemsResponse = Message<"item.v1.GetItemsResponse"> & {
  /**
   * @generated from field: repeated item.v1.Item items = 1;
   */
  items: Item[];

  /**
   * @generated from field: int64 count = 2;
   */
  count: bigint;
};

/**
 * Describes the message item.v1.GetItemsResponse.
 * Use `create(GetItemsResponseSchema)` to create a new message.
 */
export const GetItemsResponseSchema: GenMessage<GetItemsResponse> = /*@__PURE__*/
  messageDesc(file_item_v1_item, 4);

/**
 * @generated from message item.v1.CreateItemRequest
 */
export type CreateItemRequest = Message<"item.v1.CreateItemRequest"> & {
  /**
   * @generated from field: string name = 1;
   */
  name: string;

  /**
   * @generated from field: string description = 2;
   */
  description: string;

  /**
   * @generated from field: float price = 3;
   */
  price: number;

  /**
   * @generated from field: int32 quantity = 4;
   */
  quantity: number;
};

/**
 * Describes the message item.v1.CreateItemRequest.
 * Use `create(CreateItemRequestSchema)` to create a new message.
 */
export const CreateItemRequestSchema: GenMessage<CreateItemRequest> = /*@__PURE__*/
  messageDesc(file_item_v1_item, 5);

/**
 * @generated from message item.v1.CreateItemResponse
 */
export type CreateItemResponse = Message<"item.v1.CreateItemResponse"> & {
  /**
   * @generated from field: int64 id = 1;
   */
  id: bigint;

  /**
   * @generated from field: google.protobuf.Timestamp added = 2;
   */
  added?: Timestamp;
};

/**
 * Describes the message item.v1.CreateItemResponse.
 * Use `create(CreateItemResponseSchema)` to create a new message.
 */
export const CreateItemResponseSchema: GenMessage<CreateItemResponse> = /*@__PURE__*/
  messageDesc(file_item_v1_item, 6);

/**
 * @generated from message item.v1.UpdateItemRequest
 */
export type UpdateItemRequest = Message<"item.v1.UpdateItemRequest"> & {
  /**
   * @generated from field: int64 id = 1;
   */
  id: bigint;

  /**
   * @generated from field: optional string name = 2;
   */
  name?: string;

  /**
   * @generated from field: optional string description = 3;
   */
  description?: string;

  /**
   * @generated from field: optional float price = 4;
   */
  price?: number;

  /**
   * @generated from field: optional int32 quantity = 5;
   */
  quantity?: number;
};

/**
 * Describes the message item.v1.UpdateItemRequest.
 * Use `create(UpdateItemRequestSchema)` to create a new message.
 */
export const UpdateItemRequestSchema: GenMessage<UpdateItemRequest> = /*@__PURE__*/
  messageDesc(file_item_v1_item, 7);

/**
 * @generated from message item.v1.UpdateItemResponse
 */
export type UpdateItemResponse = Message<"item.v1.UpdateItemResponse"> & {
};

/**
 * Describes the message item.v1.UpdateItemResponse.
 * Use `create(UpdateItemResponseSchema)` to create a new message.
 */
export const UpdateItemResponseSchema: GenMessage<UpdateItemResponse> = /*@__PURE__*/
  messageDesc(file_item_v1_item, 8);

/**
 * @generated from message item.v1.DeleteItemRequest
 */
export type DeleteItemRequest = Message<"item.v1.DeleteItemRequest"> & {
  /**
   * @generated from field: int64 id = 1;
   */
  id: bigint;
};

/**
 * Describes the message item.v1.DeleteItemRequest.
 * Use `create(DeleteItemRequestSchema)` to create a new message.
 */
export const DeleteItemRequestSchema: GenMessage<DeleteItemRequest> = /*@__PURE__*/
  messageDesc(file_item_v1_item, 9);

/**
 * @generated from message item.v1.DeleteItemResponse
 */
export type DeleteItemResponse = Message<"item.v1.DeleteItemResponse"> & {
};

/**
 * Describes the message item.v1.DeleteItemResponse.
 * Use `create(DeleteItemResponseSchema)` to create a new message.
 */
export const DeleteItemResponseSchema: GenMessage<DeleteItemResponse> = /*@__PURE__*/
  messageDesc(file_item_v1_item, 10);

/**
 * @generated from service item.v1.ItemService
 */
export const ItemService: GenService<{
  /**
   * @generated from rpc item.v1.ItemService.GetItem
   */
  getItem: {
    methodKind: "unary";
    input: typeof GetItemRequestSchema;
    output: typeof GetItemResponseSchema;
  },
  /**
   * @generated from rpc item.v1.ItemService.GetItems
   */
  getItems: {
    methodKind: "unary";
    input: typeof GetItemsRequestSchema;
    output: typeof GetItemsResponseSchema;
  },
  /**
   * @generated from rpc item.v1.ItemService.CreateItem
   */
  createItem: {
    methodKind: "unary";
    input: typeof CreateItemRequestSchema;
    output: typeof CreateItemResponseSchema;
  },
  /**
   * @generated from rpc item.v1.ItemService.UpdateItem
   */
  updateItem: {
    methodKind: "unary";
    input: typeof UpdateItemRequestSchema;
    output: typeof UpdateItemResponseSchema;
  },
  /**
   * @generated from rpc item.v1.ItemService.DeleteItem
   */
  deleteItem: {
    methodKind: "unary";
    input: typeof DeleteItemRequestSchema;
    output: typeof DeleteItemResponseSchema;
  },
}> = /*@__PURE__*/
  serviceDesc(file_item_v1_item, 0);

