// package: bet.beteran.c2se.member
// file: c2se/member.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_pb from '../models/member_pb';

export class CreateMemberRequest extends jspb.Message {
  getSiteId(): string;
  setSiteId(value: string): void;

  getMemberClassId(): string;
  setMemberClassId(value: string): void;

  getMemberLevelId(): string;
  setMemberLevelId(value: string): void;

  hasReferrerMemberUsername(): boolean;
  clearReferrerMemberUsername(): void;
  getReferrerMemberUsername(): string;
  setReferrerMemberUsername(value: string): void;

  getUsername(): string;
  setUsername(value: string): void;

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

  getNickname(): string;
  setNickname(value: string): void;

  hasMobilePhoneNumber(): boolean;
  clearMobilePhoneNumber(): void;
  getMobilePhoneNumber(): string;
  setMobilePhoneNumber(value: string): void;

  hasBankAccount(): boolean;
  clearBankAccount(): void;
  getBankAccount(): CreateMemberRequest.BankAccount | undefined;
  setBankAccount(value?: CreateMemberRequest.BankAccount): void;

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

export namespace CreateMemberRequest {
  export type AsObject = {
    siteId: string;
    memberClassId: string;
    memberLevelId: string;
    referrerMemberUsername: string;
    username: string;
    password: string;
    nickname: string;
    mobilePhoneNumber: string;
    bankAccount?: CreateMemberRequest.BankAccount.AsObject;
  };

  export class BankAccount extends jspb.Message {
    getBankId(): string;
    setBankId(value: string): void;

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

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

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

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

  export namespace BankAccount {
    export type AsObject = {
      bankId: string;
      name: string;
      accountNumber: string;
      exchangePassword: string;
    };
  }
}

export class CreateMemberResponse 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(): CreateMemberResponse.Result | undefined;
  setResult(value?: CreateMemberResponse.Result): void;

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

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

  export class Result extends jspb.Message {
    hasMember(): boolean;
    clearMember(): void;
    getMember(): models_member_pb.MemberModel | undefined;
    setMember(value?: models_member_pb.MemberModel): 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 = {
      member?: models_member_pb.MemberModel.AsObject;
    };
  }
}

export class ListMembersRequest 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(): ListMembersRequest.Search | undefined;
  setSearch(value?: ListMembersRequest.Search): void;

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

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

  export class Search extends jspb.Message {
    hasSiteId(): boolean;
    clearSiteId(): void;
    getSiteId(): string;
    setSiteId(value: string): void;

    hasMemberClassId(): boolean;
    clearMemberClassId(): void;
    getMemberClassId(): string;
    setMemberClassId(value: string): void;

    hasMemberLevelId(): boolean;
    clearMemberLevelId(): void;
    getMemberLevelId(): string;
    setMemberLevelId(value: string): void;

    hasParentMemberId(): boolean;
    clearParentMemberId(): void;
    getParentMemberId(): string;
    setParentMemberId(value: string): void;

    hasUsernameLike(): boolean;
    clearUsernameLike(): void;
    getUsernameLike(): string;
    setUsernameLike(value: string): void;

    hasNicknameLike(): boolean;
    clearNicknameLike(): void;
    getNicknameLike(): string;
    setNicknameLike(value: string): void;

    hasMobilePhoneNumberLike(): boolean;
    clearMobilePhoneNumberLike(): void;
    getMobilePhoneNumberLike(): string;
    setMobilePhoneNumberLike(value: string): void;

    hasLastSigninedIp(): boolean;
    clearLastSigninedIp(): void;
    getLastSigninedIp(): string;
    setLastSigninedIp(value: string): void;

    hasState(): boolean;
    clearState(): void;
    getState(): models_member_pb.MemberStateMap[keyof models_member_pb.MemberStateMap];
    setState(
      value: models_member_pb.MemberStateMap[keyof models_member_pb.MemberStateMap]
    ): void;

    hasDeletedAt(): boolean;
    clearDeletedAt(): void;
    getDeletedAt(): number;
    setDeletedAt(value: number): 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 = {
      siteId: string;
      memberClassId: string;
      memberLevelId: string;
      parentMemberId: string;
      usernameLike: string;
      nicknameLike: string;
      mobilePhoneNumberLike: string;
      lastSigninedIp: string;
      state: models_member_pb.MemberStateMap[keyof models_member_pb.MemberStateMap];
      deletedAt: number;
    };
  }
}

export class ListMembersResponse 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(): ListMembersResponse.Result | undefined;
  setResult(value?: ListMembersResponse.Result): void;

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

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

  export class Result extends jspb.Message {
    clearMembersList(): void;
    getMembersList(): Array<models_member_pb.MemberModel>;
    setMembersList(value: Array<models_member_pb.MemberModel>): void;
    addMembers(
      value?: models_member_pb.MemberModel,
      index?: number
    ): models_member_pb.MemberModel;

    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 = {
      membersList: Array<models_member_pb.MemberModel.AsObject>;
    };
  }
}

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

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

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

export class GetMemberResponse 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(): GetMemberResponse.Result | undefined;
  setResult(value?: GetMemberResponse.Result): void;

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

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

  export class Result extends jspb.Message {
    hasMember(): boolean;
    clearMember(): void;
    getMember(): models_member_pb.MemberModel | undefined;
    setMember(value?: models_member_pb.MemberModel): 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 = {
      member?: models_member_pb.MemberModel.AsObject;
    };
  }
}

export class GetMemberByUsernameRequest extends jspb.Message {
  getUsername(): string;
  setUsername(value: string): void;

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

export namespace GetMemberByUsernameRequest {
  export type AsObject = {
    username: string;
  };
}

export class GetMemberByUsernameResponse 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(): GetMemberByUsernameResponse.Result | undefined;
  setResult(value?: GetMemberByUsernameResponse.Result): void;

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

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

  export class Result extends jspb.Message {
    hasMember(): boolean;
    clearMember(): void;
    getMember(): models_member_pb.MemberModel | undefined;
    setMember(value?: models_member_pb.MemberModel): 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 = {
      member?: models_member_pb.MemberModel.AsObject;
    };
  }
}

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

  hasSiteId(): boolean;
  clearSiteId(): void;
  getSiteId(): string;
  setSiteId(value: string): void;

  hasMemberLevelId(): boolean;
  clearMemberLevelId(): void;
  getMemberLevelId(): string;
  setMemberLevelId(value: string): void;

  hasPassword(): boolean;
  clearPassword(): void;
  getPassword(): string;
  setPassword(value: string): void;

  hasMobilePhoneNumber(): boolean;
  clearMobilePhoneNumber(): void;
  getMobilePhoneNumber(): string;
  setMobilePhoneNumber(value: string): void;

  hasBankAccount(): boolean;
  clearBankAccount(): void;
  getBankAccount(): UpdateMemberRequest.BankAccount | undefined;
  setBankAccount(value?: UpdateMemberRequest.BankAccount): void;

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

export namespace UpdateMemberRequest {
  export type AsObject = {
    id: string;
    siteId: string;
    memberLevelId: string;
    password: string;
    mobilePhoneNumber: string;
    bankAccount?: UpdateMemberRequest.BankAccount.AsObject;
  };

  export class BankAccount 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;

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

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

export class UpdateMemberResponse 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(): UpdateMemberResponse.Result | undefined;
  setResult(value?: UpdateMemberResponse.Result): void;

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

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

  export class Result extends jspb.Message {
    hasMember(): boolean;
    clearMember(): void;
    getMember(): models_member_pb.MemberModel | undefined;
    setMember(value?: models_member_pb.MemberModel): 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 = {
      member?: models_member_pb.MemberModel.AsObject;
    };
  }
}

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

  getState(): models_member_pb.MemberStateMap[keyof models_member_pb.MemberStateMap];
  setState(
    value: models_member_pb.MemberStateMap[keyof models_member_pb.MemberStateMap]
  ): void;

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

export namespace UpdateMemberForStateRequest {
  export type AsObject = {
    id: string;
    state: models_member_pb.MemberStateMap[keyof models_member_pb.MemberStateMap];
  };
}

export class UpdateMemberForStateResponse 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(): UpdateMemberForStateResponse.Result | undefined;
  setResult(value?: UpdateMemberForStateResponse.Result): void;

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

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

  export class Result extends jspb.Message {
    hasMember(): boolean;
    clearMember(): void;
    getMember(): models_member_pb.MemberModel | undefined;
    setMember(value?: models_member_pb.MemberModel): 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 = {
      member?: models_member_pb.MemberModel.AsObject;
    };
  }
}

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

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

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

export class DeleteMemberResponse 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(): DeleteMemberResponse.Result | undefined;
  setResult(value?: DeleteMemberResponse.Result): void;

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

export namespace DeleteMemberResponse {
  export type AsObject = {
    error?: protobuf_rpc_pb.Error.AsObject;
    result?: DeleteMemberResponse.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 = {};
  }
}
