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

import * as jspb from 'google-protobuf';
import * as models_bank_pb from '../models/bank_pb';

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

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

  getBankId(): string;
  setBankId(value: string): void;

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

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

  getExchangePassword(): string;
  setExchangePassword(value: string): void;

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

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

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

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

export namespace MemberBankAccount {
  export type AsObject = {
    id: string;
    memberId: string;
    bankId: string;
    name: string;
    accountNumber: string;
    exchangePassword: string;
    memo: string;
    createdAt: number;
    updatedAt: number;
  };
}

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

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

  hasBank(): boolean;
  clearBank(): void;
  getBank(): models_bank_pb.Bank | undefined;
  setBank(value?: models_bank_pb.Bank): void;

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

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

  getExchangePassword(): string;
  setExchangePassword(value: string): void;

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

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

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

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

export namespace MemberBankAccountModel {
  export type AsObject = {
    id: string;
    memberId: string;
    bank?: models_bank_pb.Bank.AsObject;
    name: string;
    accountNumber: string;
    exchangePassword: string;
    memo: string;
    createdAt: number;
    updatedAt: number;
  };
}
