// Copyright © 2022-2026 Partium, Inc. DBA Partium import { ServiceProvider } from '../../core'; import { BaseService } from '../../core/services/base.service'; import { PaginatedRequestService } from '../../core/services/paginated-request.service'; import { INQUIRY_STATUS, Inquiry, InquiryStatusResponse } from '../models/inquiry'; import { Observable } from 'rxjs'; export interface InquiryService { /** * Fetch an array of inquiries * * @param paginationSize the size of the pagination * @param urlParams the size of the pagination * @returns Array of inquiries */ getInquiries(paginationSize?: number, urlParams?: Array): PaginatedRequestService; /** * Creates a new inquiry * * @returns the new inquiry */ createInquiry(): Observable; /** * Fetch an existing inquiry * @param inquiryId id of the inquiry to load * @returns the requested inquiry as an observable */ getInquiry(inquiryId: string): Observable; /** * Update the state of an existing inquiry * @param inquiryId id of the inquiry to update * @param status new status of the inquiry * @returns the requested inquiry status with the timestamp as an observable */ updateInquiryStatus(inquiryId: string, status: INQUIRY_STATUS): Observable; /** * Exports the shopping cart of an inquiry as an email * @param inquiryId id of the inquiry to export * @param recipients comma separated list of recipients * @param subject subject of the email * @param message message of the email * @return an observable that completes when the email is sent */ exportInquiryAsEmail(inquiryId: string, recipients: string, subject: string, message: string): Observable; } export declare class InquiryServiceImpl extends BaseService implements InquiryService { private httpsService; constructor(serviceProvider: ServiceProvider); onCreate(): void; getInquiries(paginationSize?: number, urlParams?: any[]): PaginatedRequestService; getInquiry(inquiryId: string): Observable; createInquiry(): Observable; updateInquiryStatus(inquiryId: string, status: INQUIRY_STATUS): Observable; exportInquiryAsEmail(inquiryId: string, recipients: string, subject: string, message: string): Observable; }