// @generated by protoc-gen-es v2.2.2 with parameter "target=ts,import_extension=.js"
// @generated from file gfxcafe/oku/account/v1/common.proto (package gfxcafe.oku.account.v1, syntax proto3)
/* eslint-disable */

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

/**
 * Describes the file gfxcafe/oku/account/v1/common.proto.
 */
export const file_gfxcafe_oku_account_v1_common: GenFile = /*@__PURE__*/
  fileDesc("CiNnZnhjYWZlL29rdS9hY2NvdW50L3YxL2NvbW1vbi5wcm90bxIWZ2Z4Y2FmZS5va3UuYWNjb3VudC52MSKiAQoLRXJyb3JEZXRhaWwSDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEkMKCG1ldGFkYXRhGAMgAygLMjEuZ2Z4Y2FmZS5va3UuYWNjb3VudC52MS5FcnJvckRldGFpbC5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIyChFQYWdpbmF0aW9uUmVxdWVzdBINCgVsaW1pdBgBIAEoBRIOCgZjdXJzb3IYAiABKAkiOwoSUGFnaW5hdGlvblJlc3BvbnNlEhMKC25leHRfY3Vyc29yGAEgASgJEhAKCGhhc19tb3JlGAIgASgIImYKB0FkZHJlc3MSWwoHYWRkcmVzcxgBIAEoCUJKukhHyAEBckIyE14weFswLTlhLWZBLUZdezQwfSSSAioweDc0MmQzNUNjNjYzNEMwNTMyOTI1YTNiODQ0QmM5ZTc1OTVmMkJEODkihQEKC1Rva2VuQW1vdW50EjQKDXRva2VuX2FkZHJlc3MYASABKAlCHbpIGsgBAXIVMhNeMHhbMC05YS1mQS1GXXs0MH0kEiIKBmFtb3VudBgCIAEoCUISukgPyAEBcgoyCF5bMC05XSskEhwKCGRlY2ltYWxzGAMgASgFQgq6SAcaBRj/ASgAIp0BCgdTZXNzaW9uEhIKCnNlc3Npb25faWQYASABKAkSDwoHdXNlcl9pZBgCIAEoCRINCgV0b2tlbhgDIAEoCRIuCgpleHBpcmVzX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKXAQoEVXNlchIPCgd1c2VyX2lkGAEgASgJEg8KB2FkZHJlc3MYAiABKAkSDQoFZW1haWwYAyABKAkSLgoKY3JlYXRlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCNFoyZ2Z4LmNhZmUvb2t1L2FjY291bnQvZ2VuL2dvL2dmeGNhZmUvb2t1L2FjY291bnQvdjFiBnByb3RvMw", [file_google_protobuf_timestamp, file_buf_validate_validate]);

/**
 * Common error details
 *
 * @generated from message gfxcafe.oku.account.v1.ErrorDetail
 */
export type ErrorDetail = Message<"gfxcafe.oku.account.v1.ErrorDetail"> & {
  /**
   * @generated from field: string code = 1;
   */
  code: string;

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

  /**
   * @generated from field: map<string, string> metadata = 3;
   */
  metadata: { [key: string]: string };
};

/**
 * Describes the message gfxcafe.oku.account.v1.ErrorDetail.
 * Use `create(ErrorDetailSchema)` to create a new message.
 */
export const ErrorDetailSchema: GenMessage<ErrorDetail> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_common, 0);

/**
 * Pagination request
 *
 * @generated from message gfxcafe.oku.account.v1.PaginationRequest
 */
export type PaginationRequest = Message<"gfxcafe.oku.account.v1.PaginationRequest"> & {
  /**
   * @generated from field: int32 limit = 1;
   */
  limit: number;

  /**
   * @generated from field: string cursor = 2;
   */
  cursor: string;
};

/**
 * Describes the message gfxcafe.oku.account.v1.PaginationRequest.
 * Use `create(PaginationRequestSchema)` to create a new message.
 */
export const PaginationRequestSchema: GenMessage<PaginationRequest> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_common, 1);

/**
 * Pagination response
 *
 * @generated from message gfxcafe.oku.account.v1.PaginationResponse
 */
export type PaginationResponse = Message<"gfxcafe.oku.account.v1.PaginationResponse"> & {
  /**
   * @generated from field: string next_cursor = 1;
   */
  nextCursor: string;

  /**
   * @generated from field: bool has_more = 2;
   */
  hasMore: boolean;
};

/**
 * Describes the message gfxcafe.oku.account.v1.PaginationResponse.
 * Use `create(PaginationResponseSchema)` to create a new message.
 */
export const PaginationResponseSchema: GenMessage<PaginationResponse> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_common, 2);

/**
 * Ethereum address as hex string with 0x prefix
 * Example: "0x742d35Cc6634C0532925a3b844Bc9e7595f2BD89"
 *
 * @generated from message gfxcafe.oku.account.v1.Address
 */
export type Address = Message<"gfxcafe.oku.account.v1.Address"> & {
  /**
   * @generated from field: string address = 1;
   */
  address: string;
};

/**
 * Describes the message gfxcafe.oku.account.v1.Address.
 * Use `create(AddressSchema)` to create a new message.
 */
export const AddressSchema: GenMessage<Address> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_common, 3);

/**
 * Common amount with token
 *
 * @generated from message gfxcafe.oku.account.v1.TokenAmount
 */
export type TokenAmount = Message<"gfxcafe.oku.account.v1.TokenAmount"> & {
  /**
   * @generated from field: string token_address = 1;
   */
  tokenAddress: string;

  /**
   * Using string for big numbers
   *
   * @generated from field: string amount = 2;
   */
  amount: string;

  /**
   * @generated from field: int32 decimals = 3;
   */
  decimals: number;
};

/**
 * Describes the message gfxcafe.oku.account.v1.TokenAmount.
 * Use `create(TokenAmountSchema)` to create a new message.
 */
export const TokenAmountSchema: GenMessage<TokenAmount> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_common, 4);

/**
 * Session information
 *
 * @generated from message gfxcafe.oku.account.v1.Session
 */
export type Session = Message<"gfxcafe.oku.account.v1.Session"> & {
  /**
   * @generated from field: string session_id = 1;
   */
  sessionId: string;

  /**
   * @generated from field: string user_id = 2;
   */
  userId: string;

  /**
   * @generated from field: string token = 3;
   */
  token: string;

  /**
   * @generated from field: google.protobuf.Timestamp expires_at = 4;
   */
  expiresAt?: Timestamp;

  /**
   * @generated from field: google.protobuf.Timestamp created_at = 5;
   */
  createdAt?: Timestamp;
};

/**
 * Describes the message gfxcafe.oku.account.v1.Session.
 * Use `create(SessionSchema)` to create a new message.
 */
export const SessionSchema: GenMessage<Session> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_common, 5);

/**
 * User information
 *
 * @generated from message gfxcafe.oku.account.v1.User
 */
export type User = Message<"gfxcafe.oku.account.v1.User"> & {
  /**
   * @generated from field: string user_id = 1;
   */
  userId: string;

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

  /**
   * @generated from field: string email = 3;
   */
  email: string;

  /**
   * @generated from field: google.protobuf.Timestamp created_at = 4;
   */
  createdAt?: Timestamp;

  /**
   * @generated from field: google.protobuf.Timestamp updated_at = 5;
   */
  updatedAt?: Timestamp;
};

/**
 * Describes the message gfxcafe.oku.account.v1.User.
 * Use `create(UserSchema)` to create a new message.
 */
export const UserSchema: GenMessage<User> = /*@__PURE__*/
  messageDesc(file_gfxcafe_oku_account_v1_common, 6);

