import { ComponentInterface, EventEmitter } from "../../../stencil-public-runtime";
import { PayModel, FeedListQueryInput, Efile, Photo, Site, User, Template, Job } from "../../../sdk";
import { FireEnjinFetchEvent, FireEnjinSubmitEvent, FireEnjinTriggerInput } from "@fireenjin/sdk";
export declare class AppJob implements ComponentInterface {
  epayEl: any;
  popoverEl: HTMLIonPopoverElement;
  efileListEl: HTMLIonListElement;
  userListEl: HTMLIonListElement;
  inputSearchEl: any;
  modalEl: HTMLIonModalElement;
  photoSlidesEl: HTMLIonSlidesElement;
  feedFetchData: FeedListQueryInput;
  feedPaginationEl: any;
  userRoleMap: {
    [userId: string]: string;
  };
  jobPageEl: any;
  fireenjinFetch: EventEmitter<FireEnjinFetchEvent>;
  fireenjinTrigger: EventEmitter<FireEnjinTriggerInput>;
  fireenjinSubmit: EventEmitter<FireEnjinSubmitEvent>;
  jobId: string;
  showingEfileHistory: string[];
  efiles: {
    id?: string;
    name?: string;
    url?: string;
    type?: string;
    tags?: string[];
    template?: {
      id?: string;
      subject?: string;
      description?: string;
    };
    history: Efile[];
  }[];
  job: Job;
  isUploading: boolean;
  efileLoading: boolean;
  isSending: boolean;
  template: Template;
  activityFeed: any[];
  isSiteModalOpen: boolean;
  isEndOfFeed: boolean;
  payModels: PayModel[];
  feedLimit: number;
  siteId: string;
  currentSlide: number;
  showControls: any;
  sidebarContentEl: HTMLIonContentElement;
  isUploadingPhoto: boolean;
  activityFeedEl: any;
  selectedReadingDate: string;
  readingsView: "evaporationPotential" | "grainsPerPound" | "temperature" | "readings";
  selectedImage: string;
  preparingEfiles: string[];
  onSlideChange(event: any): Promise<void>;
  onSuccess(event: any): Promise<void>;
  onSlideTap(_event: any): Promise<void>;
  onCloseModa(): void;
  openReadingModal(event?: any): Promise<void>;
  onOpenSiteEditModal(event: any): void;
  onSelect(event: any): void;
  onChange(event: any): void;
  removeEfileFromJob(efile: Efile): Promise<void>;
  openMatterportModal(): Promise<void>;
  openSiteEditModal(site?: Site, options?: {
    jobId?: string;
    sites?: Site[];
    currentSlide?: number;
    viewGallery?: boolean;
    showProgress?: boolean;
    selectedTab?: "info" | "areas" | "photos" | "inventories" | "services";
    photo?: Photo;
    photoUploading?: boolean;
  }): Promise<void>;
  openReadingSelect(event: any): Promise<void>;
  removeUserFromJob(user: User): Promise<void>;
  openaddReadingPopover(event: any): Promise<void>;
  openUserSelect(event: any): Promise<void>;
  openUserSearch(): Promise<void>;
  readingsGraphData(): any[];
  refreshResults(): Promise<void>;
  openFileUpload(event: any): Promise<void>;
  openMenu(): Promise<void>;
  openJobEdit(step?: "info" | "cause" | "payment"): Promise<void>;
  openSendEfileModal(event: any): Promise<void>;
  openEsignModal(event: any, templateId: string): Promise<void>;
  fetchJob(): Promise<void>;
  fetchPayModels(): Promise<void>;
  generatePdf(templateId: any, filename?: string): Promise<void>;
  formatUSD(amount: any): string;
  formatDate(date: string | Date): string;
  send(event: any, template: any): void;
  sendEmail(event: any, userId: any): Promise<void>;
  getData(): void;
  componentDidLoad(): Promise<void>;
  disconnectedCallback(): void;
  render(): any[];
}
