// package: bet.beteran.c2se.backend.member
// file: c2se/backend/member.proto

import * as jspb from 'google-protobuf';
import * as protobuf_rpc_error_pb from '../../protobuf/rpc/error_pb';
import * as protobuf_pagination_pagination_pb from '../../protobuf/pagination/pagination_pb';
import * as protobuf_pagination_search_pb from '../../protobuf/pagination/search_pb';
import * as protobuf_pagination_sort_pb from '../../protobuf/pagination/sort_pb';
import * as models_member_member_pb from '../../models/member/member_pb';

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

  clearSearchesList(): void;
  getSearchesList(): Array<protobuf_pagination_search_pb.Search>;
  setSearchesList(value: Array<protobuf_pagination_search_pb.Search>): void;
  addSearches(
    value?: protobuf_pagination_search_pb.Search,
    index?: number
  ): protobuf_pagination_search_pb.Search;

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

  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_pagination_pb.Pagination.AsObject;
    searchesList: Array<protobuf_pagination_search_pb.Search.AsObject>;
    sortsList: Array<protobuf_pagination_sort_pb.Sort.AsObject>;
  };
}

export class ListMembersResponse extends jspb.Message {
  hasError(): boolean;
  clearError(): void;
  getError(): protobuf_rpc_error_pb.Error | undefined;
  setError(value?: protobuf_rpc_error_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_error_pb.Error.AsObject;
    result?: ListMembersResponse.Result.AsObject;
  };

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

    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_member_pb.Member.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_error_pb.Error | undefined;
  setError(value?: protobuf_rpc_error_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_error_pb.Error.AsObject;
    result?: GetMemberResponse.Result.AsObject;
  };

  export class Result extends jspb.Message {
    hasMember(): boolean;
    clearMember(): void;
    getMember(): models_member_member_pb.Member | undefined;
    setMember(value?: models_member_member_pb.Member): 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_member_pb.Member.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_error_pb.Error | undefined;
  setError(value?: protobuf_rpc_error_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_error_pb.Error.AsObject;
    result?: GetMemberByUsernameResponse.Result.AsObject;
  };

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