import { Observable } from 'rxjs'; import { Lead } from './lead.model'; import { AuthHttp } from 'angular2-jwt'; import { LeadSerializer } from './lead.serializer'; import { LeadConverter } from './lead.converter'; import { LeadCollectionConverter } from './lead.collection.converter'; import { LeadMetric } from './lead-metric.model'; import { LeadMetricDeserializer } from './lead-metric.deserializer'; import { UrlParamBuilderService } from '../service/url-param-builder.service'; import { IErrorHandler } from '../error/error-handler.interface'; import { LeadCollection } from './lead.collection'; export declare class LeadService { private authHttp; private leadConverter; private collectionConverter; private leadMetricDeserializer; private serializer; private baseUrl; private urlParamBuilderService; private errorHandler; constructor(authHttp: AuthHttp, leadConverter: LeadConverter, collectionConverter: LeadCollectionConverter, leadMetricDeserializer: LeadMetricDeserializer, serializer: LeadSerializer, baseUrl: string, urlParamBuilderService: UrlParamBuilderService, errorHandler: IErrorHandler); getMany(filters?: { [key: string]: any; }, sort?: string[], page?: number, limit?: number): Observable; getOne(id: string): Observable; create(lead: Lead): Observable; update(lead: Lead): Observable; delete(id: string): Observable; reportInboundCall(id: string, outcome: string): Observable; reportOutboundCall(id: string, outcome: string): Observable; scheduleCall(id: string, scheduledFor: Date): Observable; scheduleCheckup(id: string, scheduledFor: Date): Observable; schedulePayment(id: string, scheduledFor: Date): Observable; reportCheckup(id: string, outcome: string): Observable; reject(id: string, reason: string): Observable; reportOffer(id: string, offerValue: string, offerGiver: string): Observable; reportPayment(id: string): Observable; assign(leadId: string, userId: string): Observable; unassign(leadId: string): Observable; getMetrics(filters?: { [key: string]: any; }): Observable; private buildActionUrl(id, action); }