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

import * as jspb from "google-protobuf";

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

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

  getBankName(): string;
  setBankName(value: string): void;

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

  getAccountNumber(): string;
  setAccountNumber(value: string): void;

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

  getPassword(): string;
  setPassword(value: string): void;

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

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

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

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

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

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

export namespace MemberBankWithdraw {
  export type AsObject = {
    id: string,
    memberId: string,
    bankName: string,
    name: string,
    accountNumber: string,
    amount: number,
    password: string,
    memo: string,
    state: MemberBankWithdrawStateMap[keyof MemberBankWithdrawStateMap],
    stateChangedAt: number,
    createdAt: number,
    updatedAt: number,
  }
}

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

export const MemberBankWithdrawState: MemberBankWithdrawStateMap;

