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

import * as jspb from "google-protobuf";

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

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

  getName(): string;
  setName(value: string): void;

  getAmount(): number;
  setAmount(value: number): void;

  hasMemo(): boolean;
  clearMemo(): void;
  getMemo(): string;
  setMemo(value: string): void;

  getState(): MemberBankDepositStateMap[keyof MemberBankDepositStateMap];
  setState(value: MemberBankDepositStateMap[keyof MemberBankDepositStateMap]): void;

  getStateChangedAt(): number;
  setStateChangedAt(value: number): void;

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

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

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

export namespace MemberBankDeposit {
  export type AsObject = {
    id: string,
    memberId: string,
    name: string,
    amount: number,
    memo: string,
    state: MemberBankDepositStateMap[keyof MemberBankDepositStateMap],
    stateChangedAt: number,
    createdAt: number,
    updatedAt: number,
  }
}

export interface MemberBankDepositStateMap {
  NONE: 0;
  APPLICATION: 1;
  COMPLETE: 2;
}

export const MemberBankDepositState: MemberBankDepositStateMap;

