import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs/Rx'; import { BaseService } from './base.service'; import { CartService } from '../services/cart.service'; import { ISubscriber, ICreditLine, IOrder, IPreferredPrice, IDormantProperties } from '../shared/modal/common'; import { Customer, ICreditEligibilityReq } from '../shared/modal/customer'; import { BehaviorSubject } from 'rxjs/BehaviorSubject'; /** * This class provides the Customer Service with methods to get, create, credit line, subscriber and order history */ export declare class CustomerService extends BaseService { _http: HttpClient; cartService: CartService; customerModel: any; customer: Customer; creditDetail: any; isEmployee: BehaviorSubject; isUnderAge: BehaviorSubject; dormantProperties: IDormantProperties; /** * Creates a new UserService with the injected HttpClient. * @param {HttpClient} _http - The injected HttpClient. * @constructor */ constructor(_http: HttpClient, cartService: CartService); setIsEmployeeData(data: any): void; setIsUnderAgeData(data: any): void; getCustomerModel(): any; setCustomerModel(customerModel: any): void; /**Gets the customer profile */ getCustomer(): Customer; /**Sets the customer profile */ setCustomer(customer: Customer): void; /**Gets the credit details */ getCreditDetails(): any; /**Sets the credit details */ setCreditDetails(creditDetail: any): void; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {Customer} The Observable for the HTTP request. */ getCustomerProfile(storeId: number, orderId: number, creditType: string): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {any} The Observable for the HTTP request. */ createCustomer(storeId: number, customer: Customer): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {any} The Observable for the HTTP request. */ validateAddress(storeId: number, requestParams: any): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {any} The Observable for the HTTP request. */ getSocConflicts(storeId: number, rateplanSOC: string, accountNumber: number, accountType: string, accountSubType: string, phoneNumber: number): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {any} The Observable for the HTTP request. */ creditCheck(storeId: number, creditCheck: Customer): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {Customer} The Observable for the HTTP request. */ refreshCreditClass(storeId: number, orderId: number, requestParams: any): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {any} The Observable for the HTTP request. */ switchCreditType(storeId: number, requestParams: any): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {ICreditLine} The Observable for the HTTP request. */ getCreditLine(storeId: number, accountNumber: number, planType: string, creditClass: string, accountType: string, accountSubType: string, accountStatus: string, accountTenure: string, behaviorScore: string, onyxReferenceNumber: string, loanCrp: number, leaseCrp: number, state: string, numberOfLines: number, activeDataLines: number, activeVoiceLines: number): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {IOrderList} The Observable for the HTTP request. */ getOrderList(storeId: number, accountNumber: number): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {ISubscriber[]} The Observable for the HTTP request. */ getSubscriberList(storeId: number, accountNumber: number, phoneNumbers: string, hasDuplicateLines: boolean): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {IPreferredPrice} The Observable for the HTTP request. */ getPreferredPrice(storeId: number, accountNumber: number, creditClass: string): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {any} The Observable for the HTTP request. */ resendSAEmail(storeId: number, orderId: number, requestParams: any): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {any} The Observable for the HTTP request. */ validatePINFormat(storeId: number, pinCode: string): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {Customer} The Observable for the HTTP request. */ profileByBAN(storeId: number, accountNumber: string, profileType: string): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {Customer} The Observable for the HTTP request. */ profileByMSISDN(storeId: number, phoneNumber: string, profileType: string): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {any} The Observable for the HTTP request. */ profileByToken(storeId: number, toggleKey: string, profileType: string): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {any} The Observable for the HTTP request. */ otpGenerate(storeId: number, accountNumber: number, requestParams: any): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {any} The Observable for the HTTP request. */ otpValidate(storeId: number, accountNumber: number, requestParams: any): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {any} The Observable for the HTTP request. */ paymentArrangement(storeId: number, accountNumber: number, requestParams: any): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {any} The Observable for the HTTP request. */ searchMemo(storeId: number, accountNumber: number, requestParams: any): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {any} The Observable for the HTTP request. */ generateMemo(storeId: number, orderId: number, requestParams: any): Observable; getHeaders(): any; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {any} The Observable for the HTTP request. */ zipCodePromotion(storeId: number, zipCode: any): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {any} The Observable for the HTTP request. */ createTentativeBan(storeId: number, requestParams: any): Observable; /** * Returns an Observable for the HTTP GET request for the JSON resource. * @return {any} The Observable for the HTTP request. */ getCreditOptionDetails(storeId: number): Observable; /** * * @param storeId * @param creditEligibilityReq */ verifyEligibility(storeId: number, creditEligibilityReq: ICreditEligibilityReq): Observable; }