// package: bet.beteran.member_settlement_setting
// file: models/member_settlement_setting.proto

import * as jspb from 'google-protobuf';

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

  getMemberId(): string;
  setMemberId(value: string): void;

  getCanExchange(): boolean;
  setCanExchange(value: boolean): void;

  getCanFirstChargeComp(): boolean;
  setCanFirstChargeComp(value: boolean): void;

  getCanPerChargeComp(): boolean;
  setCanPerChargeComp(value: boolean): void;

  getSettlementType(): SettlementTypeMap[keyof SettlementTypeMap];
  setSettlementType(value: SettlementTypeMap[keyof SettlementTypeMap]): void;

  getManualPaymentTypeForPartner(): ManualPaymentTypeMap[keyof ManualPaymentTypeMap];
  setManualPaymentTypeForPartner(
    value: ManualPaymentTypeMap[keyof ManualPaymentTypeMap]
  ): void;

  getRateCasino(): number;
  setRateCasino(value: number): void;

  getRateCasinoLoosing(): number;
  setRateCasinoLoosing(value: number): void;

  getRateCasinoBacara(): number;
  setRateCasinoBacara(value: number): void;

  getRateCasinoRoulette(): number;
  setRateCasinoRoulette(value: number): void;

  getRateCasinoDragonTiger(): number;
  setRateCasinoDragonTiger(value: number): void;

  getRateSlot(): number;
  setRateSlot(value: number): void;

  getRateSlotLoosing(): number;
  setRateSlotLoosing(value: number): void;

  getRatePowerballSingle(): number;
  setRatePowerballSingle(value: number): void;

  getRatePowerballCombo(): number;
  setRatePowerballCombo(value: number): void;

  getRatePowerladderSingle(): number;
  setRatePowerladderSingle(value: number): void;

  getRatePowerladderCombo(): number;
  setRatePowerladderCombo(value: number): void;

  getRateEosSingle(): number;
  setRateEosSingle(value: number): void;

  getRateEosCombo(): number;
  setRateEosCombo(value: number): void;

  getRateBogglepowerballSingle(): number;
  setRateBogglepowerballSingle(value: number): void;

  getRateBogglepowerballCombo(): number;
  setRateBogglepowerballCombo(value: number): void;

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

  getUpdatedAt(): number;
  setUpdatedAt(value: number): void;

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

export namespace MemberSettlementSetting {
  export type AsObject = {
    id: string;
    memberId: string;
    canExchange: boolean;
    canFirstChargeComp: boolean;
    canPerChargeComp: boolean;
    settlementType: SettlementTypeMap[keyof SettlementTypeMap];
    manualPaymentTypeForPartner: ManualPaymentTypeMap[keyof ManualPaymentTypeMap];
    rateCasino: number;
    rateCasinoLoosing: number;
    rateCasinoBacara: number;
    rateCasinoRoulette: number;
    rateCasinoDragonTiger: number;
    rateSlot: number;
    rateSlotLoosing: number;
    ratePowerballSingle: number;
    ratePowerballCombo: number;
    ratePowerladderSingle: number;
    ratePowerladderCombo: number;
    rateEosSingle: number;
    rateEosCombo: number;
    rateBogglepowerballSingle: number;
    rateBogglepowerballCombo: number;
    createdAt: number;
    updatedAt: number;
  };
}

export interface SettlementTypeMap {
  ST_NONE: 0;
  ROLLING: 1;
  LOOSING: 2;
}

export const SettlementType: SettlementTypeMap;

export interface ManualPaymentTypeMap {
  MPT_NONE: 0;
  DISABLE: 1;
  ALL_CHILD_PARTNER: 2;
  ONLY_DIRECT_PARTNER: 3;
}

export const ManualPaymentType: ManualPaymentTypeMap;
