// package: bet.beteran.api.betting
// file: models/api/betting.proto

import * as jspb from 'google-protobuf';
import * as models_member_pb from '../../models/member_pb';

export class BettingHistory extends jspb.Message {
  getId(): string;
  setId(value: string): void;

  getVendorId(): number;
  setVendorId(value: number): void;

  getVendorName(): string;
  setVendorName(value: string): void;

  getGameId(): number;
  setGameId(value: number): void;

  getGameName(): string;
  setGameName(value: string): void;

  getGameCategory(): string;
  setGameCategory(value: string): void;

  getGameType(): string;
  setGameType(value: string): void;

  getCurrency(): string;
  setCurrency(value: string): void;

  getCash(): number;
  setCash(value: number): void;

  getBeforeCash(): number;
  setBeforeCash(value: number): void;

  getAfterCash(): number;
  setAfterCash(value: number): void;

  hasGroupKey(): boolean;
  clearGroupKey(): void;
  getGroupKey(): string;
  setGroupKey(value: string): void;

  hasDetail(): boolean;
  clearDetail(): void;
  getDetail(): string;
  setDetail(value: string): void;

  getIsBonus(): boolean;
  setIsBonus(value: boolean): void;

  getIsPromo(): boolean;
  setIsPromo(value: boolean): void;

  getIsJackpot(): boolean;
  setIsJackpot(value: boolean): void;

  getSiteUsername(): string;
  setSiteUsername(value: string): void;

  getKey(): string;
  setKey(value: string): void;

  getRefId(): string;
  setRefId(value: string): void;

  getORefId(): string;
  setORefId(value: string): void;

  getBettingType(): string;
  setBettingType(value: string): void;

  getCategory(): string;
  setCategory(value: string): void;

  getCreatedAt(): number;
  setCreatedAt(value: number): void;

  getUtcCreatedAt(): number;
  setUtcCreatedAt(value: number): void;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): BettingHistory.AsObject;
  static toObject(
    includeInstance: boolean,
    msg: BettingHistory
  ): BettingHistory.AsObject;
  static extensions: { [key: number]: jspb.ExtensionFieldInfo<jspb.Message> };
  static extensionsBinary: {
    [key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>;
  };
  static serializeBinaryToWriter(
    message: BettingHistory,
    writer: jspb.BinaryWriter
  ): void;
  static deserializeBinary(bytes: Uint8Array): BettingHistory;
  static deserializeBinaryFromReader(
    message: BettingHistory,
    reader: jspb.BinaryReader
  ): BettingHistory;
}

export namespace BettingHistory {
  export type AsObject = {
    id: string;
    vendorId: number;
    vendorName: string;
    gameId: number;
    gameName: string;
    gameCategory: string;
    gameType: string;
    currency: string;
    cash: number;
    beforeCash: number;
    afterCash: number;
    groupKey: string;
    detail: string;
    isBonus: boolean;
    isPromo: boolean;
    isJackpot: boolean;
    siteUsername: string;
    key: string;
    refId: string;
    oRefId: string;
    bettingType: string;
    category: string;
    createdAt: number;
    utcCreatedAt: number;
  };
}

export class BettingHistoryModel extends jspb.Message {
  getId(): string;
  setId(value: string): void;

  getVendorId(): number;
  setVendorId(value: number): void;

  getVendorName(): string;
  setVendorName(value: string): void;

  getGameId(): number;
  setGameId(value: number): void;

  getGameName(): string;
  setGameName(value: string): void;

  getGameCategory(): string;
  setGameCategory(value: string): void;

  getGameType(): string;
  setGameType(value: string): void;

  getCurrency(): string;
  setCurrency(value: string): void;

  getCash(): number;
  setCash(value: number): void;

  getBeforeCash(): number;
  setBeforeCash(value: number): void;

  getAfterCash(): number;
  setAfterCash(value: number): void;

  hasGroupKey(): boolean;
  clearGroupKey(): void;
  getGroupKey(): string;
  setGroupKey(value: string): void;

  hasDetail(): boolean;
  clearDetail(): void;
  getDetail(): string;
  setDetail(value: string): void;

  getIsBonus(): boolean;
  setIsBonus(value: boolean): void;

  getIsPromo(): boolean;
  setIsPromo(value: boolean): void;

  getIsJackpot(): boolean;
  setIsJackpot(value: boolean): void;

  getSiteUsername(): string;
  setSiteUsername(value: string): void;

  getKey(): string;
  setKey(value: string): void;

  getRefId(): string;
  setRefId(value: string): void;

  getORefId(): string;
  setORefId(value: string): void;

  getBettingType(): string;
  setBettingType(value: string): void;

  getCategory(): string;
  setCategory(value: string): void;

  getCreatedAt(): number;
  setCreatedAt(value: number): void;

  getUtcCreatedAt(): number;
  setUtcCreatedAt(value: number): void;

  hasMember(): boolean;
  clearMember(): void;
  getMember(): models_member_pb.MemberModel | undefined;
  setMember(value?: models_member_pb.MemberModel): void;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): BettingHistoryModel.AsObject;
  static toObject(
    includeInstance: boolean,
    msg: BettingHistoryModel
  ): BettingHistoryModel.AsObject;
  static extensions: { [key: number]: jspb.ExtensionFieldInfo<jspb.Message> };
  static extensionsBinary: {
    [key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>;
  };
  static serializeBinaryToWriter(
    message: BettingHistoryModel,
    writer: jspb.BinaryWriter
  ): void;
  static deserializeBinary(bytes: Uint8Array): BettingHistoryModel;
  static deserializeBinaryFromReader(
    message: BettingHistoryModel,
    reader: jspb.BinaryReader
  ): BettingHistoryModel;
}

export namespace BettingHistoryModel {
  export type AsObject = {
    id: string;
    vendorId: number;
    vendorName: string;
    gameId: number;
    gameName: string;
    gameCategory: string;
    gameType: string;
    currency: string;
    cash: number;
    beforeCash: number;
    afterCash: number;
    groupKey: string;
    detail: string;
    isBonus: boolean;
    isPromo: boolean;
    isJackpot: boolean;
    siteUsername: string;
    key: string;
    refId: string;
    oRefId: string;
    bettingType: string;
    category: string;
    createdAt: number;
    utcCreatedAt: number;
    member?: models_member_pb.MemberModel.AsObject;
  };
}
