// package: wechaty.puppet
// file: wechaty/deprecated/file-box.proto

import * as jspb from "google-protobuf";
import * as google_protobuf_wrappers_pb from "google-protobuf/google/protobuf/wrappers_pb";
import * as wechaty_puppet_image_pb from "../../wechaty/puppet/image_pb";

export class FileBoxChunk extends jspb.Message {
  hasData(): boolean;
  clearData(): void;
  getData(): Uint8Array | string;
  getData_asU8(): Uint8Array;
  getData_asB64(): string;
  setData(value: Uint8Array | string): void;

  hasName(): boolean;
  clearName(): void;
  getName(): string;
  setName(value: string): void;

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

export namespace FileBoxChunk {
  export type AsObject = {
    data: Uint8Array | string,
    name: string,
  }
}

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

  getType(): wechaty_puppet_image_pb.ImageTypeMap[keyof wechaty_puppet_image_pb.ImageTypeMap];
  setType(value: wechaty_puppet_image_pb.ImageTypeMap[keyof wechaty_puppet_image_pb.ImageTypeMap]): void;

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

export namespace MessageImageStreamRequest {
  export type AsObject = {
    id: string,
    type: wechaty_puppet_image_pb.ImageTypeMap[keyof wechaty_puppet_image_pb.ImageTypeMap],
  }
}

export class MessageImageStreamResponse extends jspb.Message {
  hasFileBoxChunk(): boolean;
  clearFileBoxChunk(): void;
  getFileBoxChunk(): FileBoxChunk | undefined;
  setFileBoxChunk(value?: FileBoxChunk): void;

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

export namespace MessageImageStreamResponse {
  export type AsObject = {
    fileBoxChunk?: FileBoxChunk.AsObject,
  }
}

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

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

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

export class MessageFileStreamResponse extends jspb.Message {
  hasFileBoxChunk(): boolean;
  clearFileBoxChunk(): void;
  getFileBoxChunk(): FileBoxChunk | undefined;
  setFileBoxChunk(value?: FileBoxChunk): void;

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

export namespace MessageFileStreamResponse {
  export type AsObject = {
    fileBoxChunk?: FileBoxChunk.AsObject,
  }
}

export class MessageSendFileStreamRequest extends jspb.Message {
  hasConversationId(): boolean;
  clearConversationId(): void;
  getConversationId(): string;
  setConversationId(value: string): void;

  hasFileBoxChunk(): boolean;
  clearFileBoxChunk(): void;
  getFileBoxChunk(): FileBoxChunk | undefined;
  setFileBoxChunk(value?: FileBoxChunk): void;

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

export namespace MessageSendFileStreamRequest {
  export type AsObject = {
    conversationId: string,
    fileBoxChunk?: FileBoxChunk.AsObject,
  }
}

export class MessageSendFileStreamResponse extends jspb.Message {
  hasIdStringValueDeprecated(): boolean;
  clearIdStringValueDeprecated(): void;
  getIdStringValueDeprecated(): google_protobuf_wrappers_pb.StringValue | undefined;
  setIdStringValueDeprecated(value?: google_protobuf_wrappers_pb.StringValue): void;

  getId(): string;
  setId(value: string): void;

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

export namespace MessageSendFileStreamResponse {
  export type AsObject = {
    idStringValueDeprecated?: google_protobuf_wrappers_pb.StringValue.AsObject,
    id: string,
  }
}

