// package: wechaty.puppet
// file: puppet/room_member.proto

import * as jspb from "google-protobuf";

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

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

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

export namespace RoomMemberPayloadRequest {
  export type AsObject = {
    id: string,
    memberId: string,
  }
}

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

  getRoomAlias(): string;
  setRoomAlias(value: string): void;

  getInviterId(): string;
  setInviterId(value: string): void;

  getAvatar(): string;
  setAvatar(value: string): void;

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

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

export namespace RoomMemberPayloadResponse {
  export type AsObject = {
    id: string,
    roomAlias: string,
    inviterId: string,
    avatar: string,
    name: string,
  }
}

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

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

export namespace RoomMemberListRequest {
  export type AsObject = {
    id: string,
  }
}

export class RoomMemberListResponse extends jspb.Message {
  clearMemberIdsList(): void;
  getMemberIdsList(): Array<string>;
  setMemberIdsList(value: Array<string>): void;
  addMemberIds(value: string, index?: number): string;

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

export namespace RoomMemberListResponse {
  export type AsObject = {
    memberIdsList: Array<string>,
  }
}

