// package: bet.beteran.member_referrer
// file: models/member_referrer.proto

import * as jspb from 'google-protobuf';
import * as models_member_pb from '../models/member_pb';

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

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

  getCanUse(): boolean;
  setCanUse(value: boolean): void;

  hasMemo(): boolean;
  clearMemo(): void;
  getMemo(): string;
  setMemo(value: string): void;

  getCreatedAt(): number;
  setCreatedAt(value: number): void;

  getUpdatedAt(): number;
  setUpdatedAt(value: number): void;

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

export namespace MemberReferrer {
  export type AsObject = {
    id: string;
    memberId: string;
    canUse: boolean;
    memo: string;
    createdAt: number;
    updatedAt: number;
  };
}

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

  hasMember(): boolean;
  clearMember(): void;
  getMember(): models_member_pb.Member | undefined;
  setMember(value?: models_member_pb.Member): void;

  getCanUse(): boolean;
  setCanUse(value: boolean): void;

  hasMemo(): boolean;
  clearMemo(): void;
  getMemo(): string;
  setMemo(value: string): void;

  getCreatedAt(): number;
  setCreatedAt(value: number): void;

  getUpdatedAt(): number;
  setUpdatedAt(value: number): void;

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

export namespace MemberReferrerModel {
  export type AsObject = {
    id: string;
    member?: models_member_pb.Member.AsObject;
    canUse: boolean;
    memo: string;
    createdAt: number;
    updatedAt: number;
  };
}
