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

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

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

  hasPayload(): boolean;
  clearPayload(): void;
  getPayload(): google_protobuf_wrappers_pb.StringValue | undefined;
  setPayload(value?: google_protobuf_wrappers_pb.StringValue): void;

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

export namespace FriendshipPayloadRequest {
  export type AsObject = {
    id: string,
    payload?: google_protobuf_wrappers_pb.StringValue.AsObject,
  }
}

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

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

  getHello(): string;
  setHello(value: string): void;

  getType(): FriendshipTypeMap[keyof FriendshipTypeMap];
  setType(value: FriendshipTypeMap[keyof FriendshipTypeMap]): void;

  getStranger(): string;
  setStranger(value: string): void;

  getTicket(): string;
  setTicket(value: string): void;

  getScene(): FriendshipSceneTypeMap[keyof FriendshipSceneTypeMap];
  setScene(value: FriendshipSceneTypeMap[keyof FriendshipSceneTypeMap]): void;

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

export namespace FriendshipPayloadResponse {
  export type AsObject = {
    id: string,
    contactId: string,
    hello: string,
    type: FriendshipTypeMap[keyof FriendshipTypeMap],
    stranger: string,
    ticket: string,
    scene: FriendshipSceneTypeMap[keyof FriendshipSceneTypeMap],
  }
}

export class FriendshipSearchPhoneRequest extends jspb.Message {
  getPhone(): string;
  setPhone(value: string): void;

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

export namespace FriendshipSearchPhoneRequest {
  export type AsObject = {
    phone: string,
  }
}

export class FriendshipSearchPhoneResponse extends jspb.Message {
  hasContactId(): boolean;
  clearContactId(): void;
  getContactId(): google_protobuf_wrappers_pb.StringValue | undefined;
  setContactId(value?: google_protobuf_wrappers_pb.StringValue): void;

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

export namespace FriendshipSearchPhoneResponse {
  export type AsObject = {
    contactId?: google_protobuf_wrappers_pb.StringValue.AsObject,
  }
}

export class FriendshipSearchWeixinRequest extends jspb.Message {
  getWeixin(): string;
  setWeixin(value: string): void;

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

export namespace FriendshipSearchWeixinRequest {
  export type AsObject = {
    weixin: string,
  }
}

export class FriendshipSearchWeixinResponse extends jspb.Message {
  hasContactId(): boolean;
  clearContactId(): void;
  getContactId(): google_protobuf_wrappers_pb.StringValue | undefined;
  setContactId(value?: google_protobuf_wrappers_pb.StringValue): void;

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

export namespace FriendshipSearchWeixinResponse {
  export type AsObject = {
    contactId?: google_protobuf_wrappers_pb.StringValue.AsObject,
  }
}

export class FriendshipAddRequest extends jspb.Message {
  getContactId(): string;
  setContactId(value: string): void;

  getHello(): string;
  setHello(value: string): void;

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

export namespace FriendshipAddRequest {
  export type AsObject = {
    contactId: string,
    hello: string,
  }
}

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

export namespace FriendshipAddResponse {
  export type AsObject = {
  }
}

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

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

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

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

export namespace FriendshipAcceptResponse {
  export type AsObject = {
  }
}

export interface FriendshipTypeMap {
  FRIENDSHIP_TYPE_UNSPECIFIED: 0;
  FRIENDSHIP_TYPE_CONFIRM: 1;
  FRIENDSHIP_TYPE_RECEIVE: 2;
  FRIENDSHIP_TYPE_VERIFY: 3;
}

export const FriendshipType: FriendshipTypeMap;

export interface FriendshipSceneTypeMap {
  FRIENDSHIP_SCENE_TYPE_UNSPECIFIED: 0;
  FRIENDSHIP_SCENE_TYPE_QQ: 1;
  FRIENDSHIP_SCENE_TYPE_EMAIL: 2;
  FRIENDSHIP_SCENE_TYPE_WEIXIN: 3;
  FRIENDSHIP_SCENE_TYPE_QQTBD: 12;
  FRIENDSHIP_SCENE_TYPE_ROOM: 14;
  FRIENDSHIP_SCENE_TYPE_PHONE: 15;
  FRIENDSHIP_SCENE_TYPE_CARD: 17;
  FRIENDSHIP_SCENE_TYPE_LOCATION: 18;
  FRIENDSHIP_SCENE_TYPE_BOTTLE: 25;
  FRIENDSHIP_SCENE_TYPE_SHAKING: 29;
  FRIENDSHIP_SCENE_TYPE_QRCODE: 30;
}

export const FriendshipSceneType: FriendshipSceneTypeMap;

