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

import * as jspb from "google-protobuf";
import * as google_protobuf_wrappers_pb from "google-protobuf/google/protobuf/wrappers_pb";

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

export namespace RoomListRequest {
  export type AsObject = {
  }
}

export class RoomListResponse extends jspb.Message {
  clearIdsList(): void;
  getIdsList(): Array<string>;
  setIdsList(value: Array<string>): void;
  addIds(value: string, index?: number): string;

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

export namespace RoomListResponse {
  export type AsObject = {
    idsList: Array<string>,
  }
}

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

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

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

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

  getTopic(): string;
  setTopic(value: string): void;

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

  getOwnerId(): string;
  setOwnerId(value: string): void;

  clearAdminIdsList(): void;
  getAdminIdsList(): Array<string>;
  setAdminIdsList(value: Array<string>): void;
  addAdminIds(value: string, index?: number): string;

  clearMemberIdsList(): void;
  getMemberIdsList(): Array<string>;
  setMemberIdsList(value: Array<string>): void;
  addMemberIds(value: string, index?: number): string;

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

export namespace RoomPayloadResponse {
  export type AsObject = {
    id: string,
    topic: string,
    avatar: string,
    ownerId: string,
    adminIdsList: Array<string>,
    memberIdsList: Array<string>,
  }
}

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

  getContactId(): string;
  setContactId(value: string): void;

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

export namespace RoomAddRequest {
  export type AsObject = {
    id: string,
    contactId: string,
  }
}

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

export namespace RoomAddResponse {
  export type AsObject = {
  }
}

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

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

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

export class RoomAvatarResponse extends jspb.Message {
  getFilebox(): string;
  setFilebox(value: string): void;

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

export namespace RoomAvatarResponse {
  export type AsObject = {
    filebox: string,
  }
}

export class RoomCreateRequest extends jspb.Message {
  clearContactIdsList(): void;
  getContactIdsList(): Array<string>;
  setContactIdsList(value: Array<string>): void;
  addContactIds(value: string, index?: number): string;

  getTopic(): string;
  setTopic(value: string): void;

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

export namespace RoomCreateRequest {
  export type AsObject = {
    contactIdsList: Array<string>,
    topic: string,
  }
}

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

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

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

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

  getContactId(): string;
  setContactId(value: string): void;

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

export namespace RoomDelRequest {
  export type AsObject = {
    id: string,
    contactId: string,
  }
}

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

export namespace RoomDelResponse {
  export type AsObject = {
  }
}

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

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

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

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

export namespace RoomQuitResponse {
  export type AsObject = {
  }
}

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

  hasTopic(): boolean;
  clearTopic(): void;
  getTopic(): google_protobuf_wrappers_pb.StringValue | undefined;
  setTopic(value?: google_protobuf_wrappers_pb.StringValue): void;

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

export namespace RoomTopicRequest {
  export type AsObject = {
    id: string,
    topic?: google_protobuf_wrappers_pb.StringValue.AsObject,
  }
}

export class RoomTopicResponse extends jspb.Message {
  hasTopic(): boolean;
  clearTopic(): void;
  getTopic(): google_protobuf_wrappers_pb.StringValue | undefined;
  setTopic(value?: google_protobuf_wrappers_pb.StringValue): void;

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

export namespace RoomTopicResponse {
  export type AsObject = {
    topic?: google_protobuf_wrappers_pb.StringValue.AsObject,
  }
}

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

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

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

export class RoomQRCodeResponse extends jspb.Message {
  getQrcode(): string;
  setQrcode(value: string): void;

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

export namespace RoomQRCodeResponse {
  export type AsObject = {
    qrcode: string,
  }
}

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

  hasText(): boolean;
  clearText(): void;
  getText(): google_protobuf_wrappers_pb.StringValue | undefined;
  setText(value?: google_protobuf_wrappers_pb.StringValue): void;

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

export namespace RoomAnnounceRequest {
  export type AsObject = {
    id: string,
    text?: google_protobuf_wrappers_pb.StringValue.AsObject,
  }
}

export class RoomAnnounceResponse extends jspb.Message {
  hasText(): boolean;
  clearText(): void;
  getText(): google_protobuf_wrappers_pb.StringValue | undefined;
  setText(value?: google_protobuf_wrappers_pb.StringValue): void;

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

export namespace RoomAnnounceResponse {
  export type AsObject = {
    text?: google_protobuf_wrappers_pb.StringValue.AsObject,
  }
}

