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

import * as jspb from 'google-protobuf';
import * as protobuf_rpc_pb from '../protobuf/rpc_pb';
import * as protobuf_pagination_pb from '../protobuf/pagination_pb';
import * as models_member_bank_account_pb from '../models/member_bank_account_pb';

export class CreateMemberBankAccountRequest extends jspb.Message {
  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;

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

export namespace CreateMemberBankAccountRequest {
  export type AsObject = {
    memberId: string;
    bankId: string;
    name: string;
    accountNumber: string;
    exchangePassword: string;
    memo: string;
  };
}

export class CreateMemberBankAccountResponse extends jspb.Message {
  hasError(): boolean;
  clearError(): void;
  getError(): protobuf_rpc_pb.Error | undefined;
  setError(value?: protobuf_rpc_pb.Error): void;

  hasResult(): boolean;
  clearResult(): void;
  getResult(): CreateMemberBankAccountResponse.Result | undefined;
  setResult(value?: CreateMemberBankAccountResponse.Result): void;

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

export namespace CreateMemberBankAccountResponse {
  export type AsObject = {
    error?: protobuf_rpc_pb.Error.AsObject;
    result?: CreateMemberBankAccountResponse.Result.AsObject;
  };

  export class Result extends jspb.Message {
    hasMemberBankAccount(): boolean;
    clearMemberBankAccount(): void;
    getMemberBankAccount():
      | models_member_bank_account_pb.MemberBankAccount
      | undefined;
    setMemberBankAccount(
      value?: models_member_bank_account_pb.MemberBankAccount
    ): void;

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

  export namespace Result {
    export type AsObject = {
      memberBankAccount?: models_member_bank_account_pb.MemberBankAccount.AsObject;
    };
  }
}

export class ListMemberBankAccountsRequest extends jspb.Message {
  hasPagination(): boolean;
  clearPagination(): void;
  getPagination(): protobuf_pagination_pb.Pagination | undefined;
  setPagination(value?: protobuf_pagination_pb.Pagination): void;

  clearSortsList(): void;
  getSortsList(): Array<protobuf_pagination_pb.Sort>;
  setSortsList(value: Array<protobuf_pagination_pb.Sort>): void;
  addSorts(
    value?: protobuf_pagination_pb.Sort,
    index?: number
  ): protobuf_pagination_pb.Sort;

  hasSearch(): boolean;
  clearSearch(): void;
  getSearch(): ListMemberBankAccountsRequest.Search | undefined;
  setSearch(value?: ListMemberBankAccountsRequest.Search): void;

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

export namespace ListMemberBankAccountsRequest {
  export type AsObject = {
    pagination?: protobuf_pagination_pb.Pagination.AsObject;
    sortsList: Array<protobuf_pagination_pb.Sort.AsObject>;
    search?: ListMemberBankAccountsRequest.Search.AsObject;
  };

  export class Search extends jspb.Message {
    hasMemberId(): boolean;
    clearMemberId(): void;
    getMemberId(): string;
    setMemberId(value: string): void;

    hasBankId(): boolean;
    clearBankId(): void;
    getBankId(): string;
    setBankId(value: string): void;

    hasNameLike(): boolean;
    clearNameLike(): void;
    getNameLike(): string;
    setNameLike(value: string): void;

    hasAccountNumberLike(): boolean;
    clearAccountNumberLike(): void;
    getAccountNumberLike(): string;
    setAccountNumberLike(value: string): void;

    hasMemoLike(): boolean;
    clearMemoLike(): void;
    getMemoLike(): string;
    setMemoLike(value: string): void;

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

  export namespace Search {
    export type AsObject = {
      memberId: string;
      bankId: string;
      nameLike: string;
      accountNumberLike: string;
      memoLike: string;
    };
  }
}

export class ListMemberBankAccountsResponse extends jspb.Message {
  hasError(): boolean;
  clearError(): void;
  getError(): protobuf_rpc_pb.Error | undefined;
  setError(value?: protobuf_rpc_pb.Error): void;

  hasResult(): boolean;
  clearResult(): void;
  getResult(): ListMemberBankAccountsResponse.Result | undefined;
  setResult(value?: ListMemberBankAccountsResponse.Result): void;

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

export namespace ListMemberBankAccountsResponse {
  export type AsObject = {
    error?: protobuf_rpc_pb.Error.AsObject;
    result?: ListMemberBankAccountsResponse.Result.AsObject;
  };

  export class Result extends jspb.Message {
    clearMemberBankAccountsList(): void;
    getMemberBankAccountsList(): Array<models_member_bank_account_pb.MemberBankAccount>;
    setMemberBankAccountsList(
      value: Array<models_member_bank_account_pb.MemberBankAccount>
    ): void;
    addMemberBankAccounts(
      value?: models_member_bank_account_pb.MemberBankAccount,
      index?: number
    ): models_member_bank_account_pb.MemberBankAccount;

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

  export namespace Result {
    export type AsObject = {
      memberBankAccountsList: Array<models_member_bank_account_pb.MemberBankAccount.AsObject>;
    };
  }
}

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

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

export namespace GetMemberBankAccountRequest {
  export type AsObject = {
    id: string;
  };
}

export class GetMemberBankAccountResponse extends jspb.Message {
  hasError(): boolean;
  clearError(): void;
  getError(): protobuf_rpc_pb.Error | undefined;
  setError(value?: protobuf_rpc_pb.Error): void;

  hasResult(): boolean;
  clearResult(): void;
  getResult(): GetMemberBankAccountResponse.Result | undefined;
  setResult(value?: GetMemberBankAccountResponse.Result): void;

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

export namespace GetMemberBankAccountResponse {
  export type AsObject = {
    error?: protobuf_rpc_pb.Error.AsObject;
    result?: GetMemberBankAccountResponse.Result.AsObject;
  };

  export class Result extends jspb.Message {
    hasMemberBankAccount(): boolean;
    clearMemberBankAccount(): void;
    getMemberBankAccount():
      | models_member_bank_account_pb.MemberBankAccount
      | undefined;
    setMemberBankAccount(
      value?: models_member_bank_account_pb.MemberBankAccount
    ): void;

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

  export namespace Result {
    export type AsObject = {
      memberBankAccount?: models_member_bank_account_pb.MemberBankAccount.AsObject;
    };
  }
}

export class UpdateMemberBankAccountRequest extends jspb.Message {
  getId(): string;
  setId(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;

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

export namespace UpdateMemberBankAccountRequest {
  export type AsObject = {
    id: string;
    bankId: string;
    name: string;
    accountNumber: string;
    exchangePassword: string;
    memo: string;
  };
}

export class UpdateMemberBankAccountResponse extends jspb.Message {
  hasError(): boolean;
  clearError(): void;
  getError(): protobuf_rpc_pb.Error | undefined;
  setError(value?: protobuf_rpc_pb.Error): void;

  hasResult(): boolean;
  clearResult(): void;
  getResult(): UpdateMemberBankAccountResponse.Result | undefined;
  setResult(value?: UpdateMemberBankAccountResponse.Result): void;

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

export namespace UpdateMemberBankAccountResponse {
  export type AsObject = {
    error?: protobuf_rpc_pb.Error.AsObject;
    result?: UpdateMemberBankAccountResponse.Result.AsObject;
  };

  export class Result extends jspb.Message {
    hasMemberBankAccount(): boolean;
    clearMemberBankAccount(): void;
    getMemberBankAccount():
      | models_member_bank_account_pb.MemberBankAccount
      | undefined;
    setMemberBankAccount(
      value?: models_member_bank_account_pb.MemberBankAccount
    ): void;

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

  export namespace Result {
    export type AsObject = {
      memberBankAccount?: models_member_bank_account_pb.MemberBankAccount.AsObject;
    };
  }
}

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

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

export namespace DeleteMemberBankAccountRequest {
  export type AsObject = {
    id: string;
  };
}

export class DeleteMemberBankAccountResponse extends jspb.Message {
  hasError(): boolean;
  clearError(): void;
  getError(): protobuf_rpc_pb.Error | undefined;
  setError(value?: protobuf_rpc_pb.Error): void;

  hasResult(): boolean;
  clearResult(): void;
  getResult(): DeleteMemberBankAccountResponse.Result | undefined;
  setResult(value?: DeleteMemberBankAccountResponse.Result): void;

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

export namespace DeleteMemberBankAccountResponse {
  export type AsObject = {
    error?: protobuf_rpc_pb.Error.AsObject;
    result?: DeleteMemberBankAccountResponse.Result.AsObject;
  };

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

  export namespace Result {
    export type AsObject = {};
  }
}
