import * as jspb from 'google-protobuf'

import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; // proto import: "google/protobuf/empty.proto"
import * as google_protobuf_timestamp_pb from 'google-protobuf/google/protobuf/timestamp_pb'; // proto import: "google/protobuf/timestamp.proto"
import * as google_protobuf_wrappers_pb from 'google-protobuf/google/protobuf/wrappers_pb'; // proto import: "google/protobuf/wrappers.proto"
import * as annotations_pb from './annotations_pb'; // proto import: "annotations.proto"
import * as communities_pb from './communities_pb'; // proto import: "communities.proto"
import * as postal_verification_pb from './postal_verification_pb'; // proto import: "postal_verification.proto"


export class CreateCommunityReq extends jspb.Message {
  getName(): string;
  setName(value: string): CreateCommunityReq;

  getDescription(): string;
  setDescription(value: string): CreateCommunityReq;

  getParentNodeId(): number;
  setParentNodeId(value: number): CreateCommunityReq;

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

  getGeojson(): string;
  setGeojson(value: string): CreateCommunityReq;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): CreateCommunityReq.AsObject;
  static toObject(includeInstance: boolean, msg: CreateCommunityReq): CreateCommunityReq.AsObject;
  static serializeBinaryToWriter(message: CreateCommunityReq, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): CreateCommunityReq;
  static deserializeBinaryFromReader(message: CreateCommunityReq, reader: jspb.BinaryReader): CreateCommunityReq;
}

export namespace CreateCommunityReq {
  export type AsObject = {
    name: string,
    description: string,
    parentNodeId: number,
    adminIdsList: Array<number>,
    geojson: string,
  }
}

export class UpdateCommunityReq extends jspb.Message {
  getCommunityId(): number;
  setCommunityId(value: number): UpdateCommunityReq;

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

  getDescription(): string;
  setDescription(value: string): UpdateCommunityReq;

  getParentNodeId(): number;
  setParentNodeId(value: number): UpdateCommunityReq;

  getGeojson(): string;
  setGeojson(value: string): UpdateCommunityReq;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): UpdateCommunityReq.AsObject;
  static toObject(includeInstance: boolean, msg: UpdateCommunityReq): UpdateCommunityReq.AsObject;
  static serializeBinaryToWriter(message: UpdateCommunityReq, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): UpdateCommunityReq;
  static deserializeBinaryFromReader(message: UpdateCommunityReq, reader: jspb.BinaryReader): UpdateCommunityReq;
}

export namespace UpdateCommunityReq {
  export type AsObject = {
    communityId: number,
    name: string,
    description: string,
    parentNodeId: number,
    geojson: string,
  }
}

export class ListEventCommunityInviteRequestsReq extends jspb.Message {
  getPageSize(): number;
  setPageSize(value: number): ListEventCommunityInviteRequestsReq;

  getPageToken(): string;
  setPageToken(value: string): ListEventCommunityInviteRequestsReq;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): ListEventCommunityInviteRequestsReq.AsObject;
  static toObject(includeInstance: boolean, msg: ListEventCommunityInviteRequestsReq): ListEventCommunityInviteRequestsReq.AsObject;
  static serializeBinaryToWriter(message: ListEventCommunityInviteRequestsReq, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): ListEventCommunityInviteRequestsReq;
  static deserializeBinaryFromReader(message: ListEventCommunityInviteRequestsReq, reader: jspb.BinaryReader): ListEventCommunityInviteRequestsReq;
}

export namespace ListEventCommunityInviteRequestsReq {
  export type AsObject = {
    pageSize: number,
    pageToken: string,
  }
}

export class EventCommunityInviteRequest extends jspb.Message {
  getEventCommunityInviteRequestId(): number;
  setEventCommunityInviteRequestId(value: number): EventCommunityInviteRequest;

  getUserId(): number;
  setUserId(value: number): EventCommunityInviteRequest;

  getEventUrl(): string;
  setEventUrl(value: string): EventCommunityInviteRequest;

  getApproxUsersToNotify(): number;
  setApproxUsersToNotify(value: number): EventCommunityInviteRequest;

  getCommunityId(): number;
  setCommunityId(value: number): EventCommunityInviteRequest;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): EventCommunityInviteRequest.AsObject;
  static toObject(includeInstance: boolean, msg: EventCommunityInviteRequest): EventCommunityInviteRequest.AsObject;
  static serializeBinaryToWriter(message: EventCommunityInviteRequest, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): EventCommunityInviteRequest;
  static deserializeBinaryFromReader(message: EventCommunityInviteRequest, reader: jspb.BinaryReader): EventCommunityInviteRequest;
}

export namespace EventCommunityInviteRequest {
  export type AsObject = {
    eventCommunityInviteRequestId: number,
    userId: number,
    eventUrl: string,
    approxUsersToNotify: number,
    communityId: number,
  }
}

export class ListEventCommunityInviteRequestsRes extends jspb.Message {
  getRequestsList(): Array<EventCommunityInviteRequest>;
  setRequestsList(value: Array<EventCommunityInviteRequest>): ListEventCommunityInviteRequestsRes;
  clearRequestsList(): ListEventCommunityInviteRequestsRes;
  addRequests(value?: EventCommunityInviteRequest, index?: number): EventCommunityInviteRequest;

  getNextPageToken(): string;
  setNextPageToken(value: string): ListEventCommunityInviteRequestsRes;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): ListEventCommunityInviteRequestsRes.AsObject;
  static toObject(includeInstance: boolean, msg: ListEventCommunityInviteRequestsRes): ListEventCommunityInviteRequestsRes.AsObject;
  static serializeBinaryToWriter(message: ListEventCommunityInviteRequestsRes, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): ListEventCommunityInviteRequestsRes;
  static deserializeBinaryFromReader(message: ListEventCommunityInviteRequestsRes, reader: jspb.BinaryReader): ListEventCommunityInviteRequestsRes;
}

export namespace ListEventCommunityInviteRequestsRes {
  export type AsObject = {
    requestsList: Array<EventCommunityInviteRequest.AsObject>,
    nextPageToken: string,
  }
}

export class ListDecidedEventCommunityInviteRequestsReq extends jspb.Message {
  getPageSize(): number;
  setPageSize(value: number): ListDecidedEventCommunityInviteRequestsReq;

  getPageToken(): string;
  setPageToken(value: string): ListDecidedEventCommunityInviteRequestsReq;

  getApproved(): google_protobuf_wrappers_pb.BoolValue | undefined;
  setApproved(value?: google_protobuf_wrappers_pb.BoolValue): ListDecidedEventCommunityInviteRequestsReq;
  hasApproved(): boolean;
  clearApproved(): ListDecidedEventCommunityInviteRequestsReq;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): ListDecidedEventCommunityInviteRequestsReq.AsObject;
  static toObject(includeInstance: boolean, msg: ListDecidedEventCommunityInviteRequestsReq): ListDecidedEventCommunityInviteRequestsReq.AsObject;
  static serializeBinaryToWriter(message: ListDecidedEventCommunityInviteRequestsReq, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): ListDecidedEventCommunityInviteRequestsReq;
  static deserializeBinaryFromReader(message: ListDecidedEventCommunityInviteRequestsReq, reader: jspb.BinaryReader): ListDecidedEventCommunityInviteRequestsReq;
}

export namespace ListDecidedEventCommunityInviteRequestsReq {
  export type AsObject = {
    pageSize: number,
    pageToken: string,
    approved?: google_protobuf_wrappers_pb.BoolValue.AsObject,
  }
}

export class DecidedEventCommunityInviteRequest extends jspb.Message {
  getEventCommunityInviteRequestId(): number;
  setEventCommunityInviteRequestId(value: number): DecidedEventCommunityInviteRequest;

  getUserId(): number;
  setUserId(value: number): DecidedEventCommunityInviteRequest;

  getEventUrl(): string;
  setEventUrl(value: string): DecidedEventCommunityInviteRequest;

  getCommunityId(): number;
  setCommunityId(value: number): DecidedEventCommunityInviteRequest;

  getCreated(): google_protobuf_timestamp_pb.Timestamp | undefined;
  setCreated(value?: google_protobuf_timestamp_pb.Timestamp): DecidedEventCommunityInviteRequest;
  hasCreated(): boolean;
  clearCreated(): DecidedEventCommunityInviteRequest;

  getDecided(): google_protobuf_timestamp_pb.Timestamp | undefined;
  setDecided(value?: google_protobuf_timestamp_pb.Timestamp): DecidedEventCommunityInviteRequest;
  hasDecided(): boolean;
  clearDecided(): DecidedEventCommunityInviteRequest;

  getDecidedByUserId(): number;
  setDecidedByUserId(value: number): DecidedEventCommunityInviteRequest;

  getApproved(): boolean;
  setApproved(value: boolean): DecidedEventCommunityInviteRequest;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): DecidedEventCommunityInviteRequest.AsObject;
  static toObject(includeInstance: boolean, msg: DecidedEventCommunityInviteRequest): DecidedEventCommunityInviteRequest.AsObject;
  static serializeBinaryToWriter(message: DecidedEventCommunityInviteRequest, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): DecidedEventCommunityInviteRequest;
  static deserializeBinaryFromReader(message: DecidedEventCommunityInviteRequest, reader: jspb.BinaryReader): DecidedEventCommunityInviteRequest;
}

export namespace DecidedEventCommunityInviteRequest {
  export type AsObject = {
    eventCommunityInviteRequestId: number,
    userId: number,
    eventUrl: string,
    communityId: number,
    created?: google_protobuf_timestamp_pb.Timestamp.AsObject,
    decided?: google_protobuf_timestamp_pb.Timestamp.AsObject,
    decidedByUserId: number,
    approved: boolean,
  }
}

export class ListDecidedEventCommunityInviteRequestsRes extends jspb.Message {
  getRequestsList(): Array<DecidedEventCommunityInviteRequest>;
  setRequestsList(value: Array<DecidedEventCommunityInviteRequest>): ListDecidedEventCommunityInviteRequestsRes;
  clearRequestsList(): ListDecidedEventCommunityInviteRequestsRes;
  addRequests(value?: DecidedEventCommunityInviteRequest, index?: number): DecidedEventCommunityInviteRequest;

  getNextPageToken(): string;
  setNextPageToken(value: string): ListDecidedEventCommunityInviteRequestsRes;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): ListDecidedEventCommunityInviteRequestsRes.AsObject;
  static toObject(includeInstance: boolean, msg: ListDecidedEventCommunityInviteRequestsRes): ListDecidedEventCommunityInviteRequestsRes.AsObject;
  static serializeBinaryToWriter(message: ListDecidedEventCommunityInviteRequestsRes, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): ListDecidedEventCommunityInviteRequestsRes;
  static deserializeBinaryFromReader(message: ListDecidedEventCommunityInviteRequestsRes, reader: jspb.BinaryReader): ListDecidedEventCommunityInviteRequestsRes;
}

export namespace ListDecidedEventCommunityInviteRequestsRes {
  export type AsObject = {
    requestsList: Array<DecidedEventCommunityInviteRequest.AsObject>,
    nextPageToken: string,
  }
}

export class DecideEventCommunityInviteRequestReq extends jspb.Message {
  getEventCommunityInviteRequestId(): number;
  setEventCommunityInviteRequestId(value: number): DecideEventCommunityInviteRequestReq;

  getApprove(): boolean;
  setApprove(value: boolean): DecideEventCommunityInviteRequestReq;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): DecideEventCommunityInviteRequestReq.AsObject;
  static toObject(includeInstance: boolean, msg: DecideEventCommunityInviteRequestReq): DecideEventCommunityInviteRequestReq.AsObject;
  static serializeBinaryToWriter(message: DecideEventCommunityInviteRequestReq, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): DecideEventCommunityInviteRequestReq;
  static deserializeBinaryFromReader(message: DecideEventCommunityInviteRequestReq, reader: jspb.BinaryReader): DecideEventCommunityInviteRequestReq;
}

export namespace DecideEventCommunityInviteRequestReq {
  export type AsObject = {
    eventCommunityInviteRequestId: number,
    approve: boolean,
  }
}

export class DecideEventCommunityInviteRequestRes extends jspb.Message {
  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): DecideEventCommunityInviteRequestRes.AsObject;
  static toObject(includeInstance: boolean, msg: DecideEventCommunityInviteRequestRes): DecideEventCommunityInviteRequestRes.AsObject;
  static serializeBinaryToWriter(message: DecideEventCommunityInviteRequestRes, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): DecideEventCommunityInviteRequestRes;
  static deserializeBinaryFromReader(message: DecideEventCommunityInviteRequestRes, reader: jspb.BinaryReader): DecideEventCommunityInviteRequestRes;
}

export namespace DecideEventCommunityInviteRequestRes {
  export type AsObject = {
  }
}

export class SendBlogPostNotificationReq extends jspb.Message {
  getUrl(): string;
  setUrl(value: string): SendBlogPostNotificationReq;

  getTitle(): string;
  setTitle(value: string): SendBlogPostNotificationReq;

  getBlurb(): string;
  setBlurb(value: string): SendBlogPostNotificationReq;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): SendBlogPostNotificationReq.AsObject;
  static toObject(includeInstance: boolean, msg: SendBlogPostNotificationReq): SendBlogPostNotificationReq.AsObject;
  static serializeBinaryToWriter(message: SendBlogPostNotificationReq, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): SendBlogPostNotificationReq;
  static deserializeBinaryFromReader(message: SendBlogPostNotificationReq, reader: jspb.BinaryReader): SendBlogPostNotificationReq;
}

export namespace SendBlogPostNotificationReq {
  export type AsObject = {
    url: string,
    title: string,
    blurb: string,
  }
}

export class MakeUserVolunteerReq extends jspb.Message {
  getUserId(): number;
  setUserId(value: number): MakeUserVolunteerReq;

  getRole(): string;
  setRole(value: string): MakeUserVolunteerReq;

  getStartedVolunteering(): string;
  setStartedVolunteering(value: string): MakeUserVolunteerReq;

  getHideOnTeamPage(): boolean;
  setHideOnTeamPage(value: boolean): MakeUserVolunteerReq;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): MakeUserVolunteerReq.AsObject;
  static toObject(includeInstance: boolean, msg: MakeUserVolunteerReq): MakeUserVolunteerReq.AsObject;
  static serializeBinaryToWriter(message: MakeUserVolunteerReq, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): MakeUserVolunteerReq;
  static deserializeBinaryFromReader(message: MakeUserVolunteerReq, reader: jspb.BinaryReader): MakeUserVolunteerReq;
}

export namespace MakeUserVolunteerReq {
  export type AsObject = {
    userId: number,
    role: string,
    startedVolunteering: string,
    hideOnTeamPage: boolean,
  }
}

export class UpdateVolunteerReq extends jspb.Message {
  getUserId(): number;
  setUserId(value: number): UpdateVolunteerReq;

  getRole(): google_protobuf_wrappers_pb.StringValue | undefined;
  setRole(value?: google_protobuf_wrappers_pb.StringValue): UpdateVolunteerReq;
  hasRole(): boolean;
  clearRole(): UpdateVolunteerReq;

  getSortKey(): google_protobuf_wrappers_pb.DoubleValue | undefined;
  setSortKey(value?: google_protobuf_wrappers_pb.DoubleValue): UpdateVolunteerReq;
  hasSortKey(): boolean;
  clearSortKey(): UpdateVolunteerReq;

  getStartedVolunteering(): google_protobuf_wrappers_pb.StringValue | undefined;
  setStartedVolunteering(value?: google_protobuf_wrappers_pb.StringValue): UpdateVolunteerReq;
  hasStartedVolunteering(): boolean;
  clearStartedVolunteering(): UpdateVolunteerReq;

  getStoppedVolunteering(): google_protobuf_wrappers_pb.StringValue | undefined;
  setStoppedVolunteering(value?: google_protobuf_wrappers_pb.StringValue): UpdateVolunteerReq;
  hasStoppedVolunteering(): boolean;
  clearStoppedVolunteering(): UpdateVolunteerReq;

  getShowOnTeamPage(): google_protobuf_wrappers_pb.BoolValue | undefined;
  setShowOnTeamPage(value?: google_protobuf_wrappers_pb.BoolValue): UpdateVolunteerReq;
  hasShowOnTeamPage(): boolean;
  clearShowOnTeamPage(): UpdateVolunteerReq;

  getReinstateVolunteer(): boolean;
  setReinstateVolunteer(value: boolean): UpdateVolunteerReq;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): UpdateVolunteerReq.AsObject;
  static toObject(includeInstance: boolean, msg: UpdateVolunteerReq): UpdateVolunteerReq.AsObject;
  static serializeBinaryToWriter(message: UpdateVolunteerReq, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): UpdateVolunteerReq;
  static deserializeBinaryFromReader(message: UpdateVolunteerReq, reader: jspb.BinaryReader): UpdateVolunteerReq;
}

export namespace UpdateVolunteerReq {
  export type AsObject = {
    userId: number,
    role?: google_protobuf_wrappers_pb.StringValue.AsObject,
    sortKey?: google_protobuf_wrappers_pb.DoubleValue.AsObject,
    startedVolunteering?: google_protobuf_wrappers_pb.StringValue.AsObject,
    stoppedVolunteering?: google_protobuf_wrappers_pb.StringValue.AsObject,
    showOnTeamPage?: google_protobuf_wrappers_pb.BoolValue.AsObject,
    reinstateVolunteer: boolean,
  }
}

export class ListVolunteersReq extends jspb.Message {
  getIncludePast(): boolean;
  setIncludePast(value: boolean): ListVolunteersReq;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): ListVolunteersReq.AsObject;
  static toObject(includeInstance: boolean, msg: ListVolunteersReq): ListVolunteersReq.AsObject;
  static serializeBinaryToWriter(message: ListVolunteersReq, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): ListVolunteersReq;
  static deserializeBinaryFromReader(message: ListVolunteersReq, reader: jspb.BinaryReader): ListVolunteersReq;
}

export namespace ListVolunteersReq {
  export type AsObject = {
    includePast: boolean,
  }
}

export class Volunteer extends jspb.Message {
  getUserId(): number;
  setUserId(value: number): Volunteer;

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

  getUsername(): string;
  setUsername(value: string): Volunteer;

  getIsBoardMember(): boolean;
  setIsBoardMember(value: boolean): Volunteer;

  getRole(): string;
  setRole(value: string): Volunteer;

  getLocation(): string;
  setLocation(value: string): Volunteer;

  getImg(): string;
  setImg(value: string): Volunteer;

  getSortKey(): number;
  setSortKey(value: number): Volunteer;
  hasSortKey(): boolean;
  clearSortKey(): Volunteer;

  getStartedVolunteering(): string;
  setStartedVolunteering(value: string): Volunteer;

  getStoppedVolunteering(): string;
  setStoppedVolunteering(value: string): Volunteer;
  hasStoppedVolunteering(): boolean;
  clearStoppedVolunteering(): Volunteer;

  getShowOnTeamPage(): boolean;
  setShowOnTeamPage(value: boolean): Volunteer;

  getLinkType(): string;
  setLinkType(value: string): Volunteer;
  hasLinkType(): boolean;
  clearLinkType(): Volunteer;

  getLinkText(): string;
  setLinkText(value: string): Volunteer;
  hasLinkText(): boolean;
  clearLinkText(): Volunteer;

  getLinkUrl(): string;
  setLinkUrl(value: string): Volunteer;
  hasLinkUrl(): boolean;
  clearLinkUrl(): Volunteer;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): Volunteer.AsObject;
  static toObject(includeInstance: boolean, msg: Volunteer): Volunteer.AsObject;
  static serializeBinaryToWriter(message: Volunteer, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): Volunteer;
  static deserializeBinaryFromReader(message: Volunteer, reader: jspb.BinaryReader): Volunteer;
}

export namespace Volunteer {
  export type AsObject = {
    userId: number,
    name: string,
    username: string,
    isBoardMember: boolean,
    role: string,
    location: string,
    img: string,
    sortKey?: number,
    startedVolunteering: string,
    stoppedVolunteering?: string,
    showOnTeamPage: boolean,
    linkType?: string,
    linkText?: string,
    linkUrl?: string,
  }

  export enum SortKeyCase { 
    _SORT_KEY_NOT_SET = 0,
    SORT_KEY = 8,
  }

  export enum StoppedVolunteeringCase { 
    _STOPPED_VOLUNTEERING_NOT_SET = 0,
    STOPPED_VOLUNTEERING = 10,
  }

  export enum LinkTypeCase { 
    _LINK_TYPE_NOT_SET = 0,
    LINK_TYPE = 12,
  }

  export enum LinkTextCase { 
    _LINK_TEXT_NOT_SET = 0,
    LINK_TEXT = 13,
  }

  export enum LinkUrlCase { 
    _LINK_URL_NOT_SET = 0,
    LINK_URL = 14,
  }
}

export class ListVolunteersRes extends jspb.Message {
  getVolunteersList(): Array<Volunteer>;
  setVolunteersList(value: Array<Volunteer>): ListVolunteersRes;
  clearVolunteersList(): ListVolunteersRes;
  addVolunteers(value?: Volunteer, index?: number): Volunteer;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): ListVolunteersRes.AsObject;
  static toObject(includeInstance: boolean, msg: ListVolunteersRes): ListVolunteersRes.AsObject;
  static serializeBinaryToWriter(message: ListVolunteersRes, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): ListVolunteersRes;
  static deserializeBinaryFromReader(message: ListVolunteersRes, reader: jspb.BinaryReader): ListVolunteersRes;
}

export namespace ListVolunteersRes {
  export type AsObject = {
    volunteersList: Array<Volunteer.AsObject>,
  }
}

export class ListPostcardsReq extends jspb.Message {
  getPageSize(): number;
  setPageSize(value: number): ListPostcardsReq;

  getPageToken(): string;
  setPageToken(value: string): ListPostcardsReq;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): ListPostcardsReq.AsObject;
  static toObject(includeInstance: boolean, msg: ListPostcardsReq): ListPostcardsReq.AsObject;
  static serializeBinaryToWriter(message: ListPostcardsReq, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): ListPostcardsReq;
  static deserializeBinaryFromReader(message: ListPostcardsReq, reader: jspb.BinaryReader): ListPostcardsReq;
}

export namespace ListPostcardsReq {
  export type AsObject = {
    pageSize: number,
    pageToken: string,
  }
}

export class PostcardInfo extends jspb.Message {
  getPostalVerificationAttemptId(): number;
  setPostalVerificationAttemptId(value: number): PostcardInfo;

  getUserId(): number;
  setUserId(value: number): PostcardInfo;

  getUsername(): string;
  setUsername(value: string): PostcardInfo;

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

  getStatus(): postal_verification_pb.PostalVerificationStatus;
  setStatus(value: postal_verification_pb.PostalVerificationStatus): PostcardInfo;

  getAddress(): postal_verification_pb.PostalAddress | undefined;
  setAddress(value?: postal_verification_pb.PostalAddress): PostcardInfo;
  hasAddress(): boolean;
  clearAddress(): PostcardInfo;

  getCreated(): google_protobuf_timestamp_pb.Timestamp | undefined;
  setCreated(value?: google_protobuf_timestamp_pb.Timestamp): PostcardInfo;
  hasCreated(): boolean;
  clearCreated(): PostcardInfo;

  getPostcardSentAt(): google_protobuf_timestamp_pb.Timestamp | undefined;
  setPostcardSentAt(value?: google_protobuf_timestamp_pb.Timestamp): PostcardInfo;
  hasPostcardSentAt(): boolean;
  clearPostcardSentAt(): PostcardInfo;

  getVerifiedAt(): google_protobuf_timestamp_pb.Timestamp | undefined;
  setVerifiedAt(value?: google_protobuf_timestamp_pb.Timestamp): PostcardInfo;
  hasVerifiedAt(): boolean;
  clearVerifiedAt(): PostcardInfo;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): PostcardInfo.AsObject;
  static toObject(includeInstance: boolean, msg: PostcardInfo): PostcardInfo.AsObject;
  static serializeBinaryToWriter(message: PostcardInfo, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): PostcardInfo;
  static deserializeBinaryFromReader(message: PostcardInfo, reader: jspb.BinaryReader): PostcardInfo;
}

export namespace PostcardInfo {
  export type AsObject = {
    postalVerificationAttemptId: number,
    userId: number,
    username: string,
    name: string,
    status: postal_verification_pb.PostalVerificationStatus,
    address?: postal_verification_pb.PostalAddress.AsObject,
    created?: google_protobuf_timestamp_pb.Timestamp.AsObject,
    postcardSentAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
    verifiedAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
  }
}

export class ListPostcardsRes extends jspb.Message {
  getPostcardsList(): Array<PostcardInfo>;
  setPostcardsList(value: Array<PostcardInfo>): ListPostcardsRes;
  clearPostcardsList(): ListPostcardsRes;
  addPostcards(value?: PostcardInfo, index?: number): PostcardInfo;

  getNextPageToken(): string;
  setNextPageToken(value: string): ListPostcardsRes;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): ListPostcardsRes.AsObject;
  static toObject(includeInstance: boolean, msg: ListPostcardsRes): ListPostcardsRes.AsObject;
  static serializeBinaryToWriter(message: ListPostcardsRes, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): ListPostcardsRes;
  static deserializeBinaryFromReader(message: ListPostcardsRes, reader: jspb.BinaryReader): ListPostcardsRes;
}

export namespace ListPostcardsRes {
  export type AsObject = {
    postcardsList: Array<PostcardInfo.AsObject>,
    nextPageToken: string,
  }
}

export class DownloadPostcardPdfReq extends jspb.Message {
  getPostalVerificationAttemptId(): number;
  setPostalVerificationAttemptId(value: number): DownloadPostcardPdfReq;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): DownloadPostcardPdfReq.AsObject;
  static toObject(includeInstance: boolean, msg: DownloadPostcardPdfReq): DownloadPostcardPdfReq.AsObject;
  static serializeBinaryToWriter(message: DownloadPostcardPdfReq, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): DownloadPostcardPdfReq;
  static deserializeBinaryFromReader(message: DownloadPostcardPdfReq, reader: jspb.BinaryReader): DownloadPostcardPdfReq;
}

export namespace DownloadPostcardPdfReq {
  export type AsObject = {
    postalVerificationAttemptId: number,
  }
}

export class DownloadPostcardPdfRes extends jspb.Message {
  getPdf(): Uint8Array | string;
  getPdf_asU8(): Uint8Array;
  getPdf_asB64(): string;
  setPdf(value: Uint8Array | string): DownloadPostcardPdfRes;

  serializeBinary(): Uint8Array;
  toObject(includeInstance?: boolean): DownloadPostcardPdfRes.AsObject;
  static toObject(includeInstance: boolean, msg: DownloadPostcardPdfRes): DownloadPostcardPdfRes.AsObject;
  static serializeBinaryToWriter(message: DownloadPostcardPdfRes, writer: jspb.BinaryWriter): void;
  static deserializeBinary(bytes: Uint8Array): DownloadPostcardPdfRes;
  static deserializeBinaryFromReader(message: DownloadPostcardPdfRes, reader: jspb.BinaryReader): DownloadPostcardPdfRes;
}

export namespace DownloadPostcardPdfRes {
  export type AsObject = {
    pdf: Uint8Array | string,
  }
}

