// Copyright © 2022-2026 Partium, Inc. DBA Partium import { Observable } from 'rxjs'; import { BaseService } from '../../core'; import { EnrichmentJob, EnrichmentJobDetail } from '../models/enrichment-job'; import { DefaultGetPaginatedRequestPaginationContext } from '../../core/models/default-get-paginated-request-pagination-context'; import { EnrichmentJobPart, EnrichmentJobPartsSummary } from '../models/enrichment-job-part'; import { GetEnrichmentJobsRequest } from '../models/get-enrichment-jobs-request'; import { GetEnrichmentJobPartsRequest } from '../models/get-enrichment-job-parts-request'; import { CreateEnrichmentJobRequest } from '../models/create-enrichment-job-request'; import { CreateEnrichmentJobResponse } from '../models/create-enrichment-job-response'; import { SubmitEnrichmentJobRequest } from '../models/submit-enrichment-job-request'; import { GetEnrichmentJobRequest } from '../models/get-enrichment-job-request'; import { TriggerEnrichmentJobRequest } from '../models/trigger-enrichment-job-request'; import { TriggerEnrichmentJobResponse } from '../models/trigger-enrichment-job-response'; import { CreateEnrichmentJobWithSearchSessionRequest } from '../models/create-enrichment-job-with-search-session-request'; import { CreateEnrichmentJobWithSearchSessionResponse } from '../models/create-enrichment-job-with-search-session-response'; import { PostAddPartsToEnrichmentJobRequest } from '../models/post-add-parts-to-enrichment-job-request'; import { PostRemovePartsFromEnrichmentJobRequest } from '../models/post-remove-parts-from-enrichment-job-request'; import { PostAddAllSearchSessionPartsToEnrichmentJobResponse } from '../models/post-add-all-search-session-parts-to-enrichment-job-response'; import { PostRemoveAllSearchSessionPartsFromEnrichmentJobResponse } from '../models/post-remove-all-search-session-parts-from-enrichment-job-response'; import { PostCheckWhichPartsInEnrichmentJobRequest } from '../models/post-check-which-parts-in-enrichment-job-request'; import { PostCheckWhichPartsInEnrichmentJobResponse } from '../models/post-check-which-parts-in-enrichment-job-response'; import { PostAddPartsToEnrichmentJobResponse } from '../models/post-add-parts-to-enrichment-job-response'; import { PostRemovePartsFromEnrichmentJobResponse } from '../models/post-remove-parts-from-enrichment-job-response'; import { PostAddAllSearchSessionPartsToEnrichmentJobRequest } from '../models/post-add-all-search-session-parts-to-enrichment-job-request'; import { PostRemoveAllSearchSessionPartsFromEnrichmentJobRequest } from '../models/post-remove-all-search-session-parts-from-enrichment-job-request'; import { GetSearchSummaryResponse } from '../models/get-search-summary-response'; /** * Service for managing data enrichment jobs. */ export interface DataEnrichmentService { /** * Load the initial page of data enrichment jobs. * * @param request - The request containing the parameters for the data enrichment jobs to get. * @returns An Observable that emits the data first page of enrichment jobs with pagination context. */ loadEnrichmentJobs(request: GetEnrichmentJobsRequest): Observable<{ jobs: EnrichmentJob[]; paginationContext: DefaultGetPaginatedRequestPaginationContext; }>; /** * Load the next page of data enrichment jobs. * * @param paginationContext - The pagination context from the most recent call. * @returns An Observable that emits the data of the next page of enrichment jobs with pagination context. */ loadMoreEnrichmentJobs(paginationContext: DefaultGetPaginatedRequestPaginationContext): Observable<{ jobs: EnrichmentJob[]; paginationContext: DefaultGetPaginatedRequestPaginationContext; }>; /** * Check if there are more results available to load based on the current pagination context. * * @param paginationContext - The pagination context from the most recent call. * @returns True if there are more results available to load, false otherwise. */ hasMoreEnrichmentJobsAvailable(paginationContext: DefaultGetPaginatedRequestPaginationContext): boolean; /** * Fetch the detail info of an enrichment job. * * @param request - The request containing id of the enrichment job to fetch. * @returns An Observable that emits the detail info of the enrichment job. */ getEnrichmentJob(request: GetEnrichmentJobRequest): Observable; loadEnrichmentJobParts(request: GetEnrichmentJobPartsRequest): Observable<{ parts: EnrichmentJobPart[]; partsSummary: EnrichmentJobPartsSummary; paginationContext: DefaultGetPaginatedRequestPaginationContext; }>; /** * Load the next page of enrichment job parts. * * @param paginationContext - The pagination context from the most recent call. * @returns An Observable that emits the data of the next page of enrichment job parts with pagination context. */ loadMoreEnrichmentJobParts(paginationContext: DefaultGetPaginatedRequestPaginationContext): Observable<{ parts: EnrichmentJobPart[]; partsSummary: EnrichmentJobPartsSummary; paginationContext: DefaultGetPaginatedRequestPaginationContext; }>; hasMoreEnrichmentJobPartsAvailable(paginationContext: DefaultGetPaginatedRequestPaginationContext): boolean; /** * Add parts to the Given enrichment job. * * @param jobId - The enrichment job id. * @param request - The request containing the enrichment job id and the part ids to add. * @returns An Observable that emits the response */ addPartsToEnrichmentJob(jobId: string, request: PostAddPartsToEnrichmentJobRequest): Observable; /** * Remove parts from the Given enrichment job. * * @param jobId - The enrichment job id. * @param request - The request containing the enrichment job id and the part ids to remove. * @returns An Observable that emits the response */ removePartsFromEnrichmentJob(jobId: string, request: PostRemovePartsFromEnrichmentJobRequest): Observable; /** * Add all parts from the connected search session to the Given enrichment job. * * @param jobId - The enrichment job id. * @param request - The request containing the organization to add the parts to. (optional) * @returns An Observable that emits the response */ addAllSearchSessionPartsToEnrichmentJob(jobId: string, request?: PostAddAllSearchSessionPartsToEnrichmentJobRequest): Observable; /** * Remove all parts from the connected search session from the Given enrichment job. * * @param jobId - The enrichment job id. * @param request - The request containing the organization to remove the parts from. (optional) * @returns An Observable that emits the response */ removeAllSearchSessionPartsFromEnrichmentJob(jobId: string, request?: PostRemoveAllSearchSessionPartsFromEnrichmentJobRequest): Observable; /** * Given part ids (e.g. from search), returns which of them are already on the enrichment job. * * @param jobId - The enrichment job id. * @param request - Part ids to check. */ checkWhichPartsInEnrichmentJob(jobId: string, request: PostCheckWhichPartsInEnrichmentJobRequest): Observable; /** * Get the add and remove parts count for the Given enrichment job. * * @param jobId - The enrichment job id. * @returns An Observable that emits the add and remove parts count. */ getSearchSummary(jobId: string): Observable; /** * Create a new data enrichment job based on a CSV file containing the part-ids to enrich. * * @param request - The request containing the CSV file containing the part-ids to enrich. * @returns An Observable that emits the response */ createEnrichmentJob(request: CreateEnrichmentJobRequest): Observable; /** * Create a new data enrichment job that get's linked to a search session. * This job will not automatically contain all search-results, but the part-list can be built with using the search-results. * * @param request - The request containing the search session id to link to the job. * @returns An Observable that emits the response */ createEnrichmentJobWithSearchSession(request: CreateEnrichmentJobWithSearchSessionRequest): Observable; /** * Submit the "draft" enrichment job and cause it's status to change to "submitted" * @param request - The request containing the id and metadata of the enrichment job to submit. * `jobType` is optional and overrides the type set during upload when provided. * `description` requirement depends on the effective type (request `jobType` override or uploaded job type). * @returns An Observable that emits the response */ submitEnrichmentJob(request: SubmitEnrichmentJobRequest): Observable; /** * Trigger a single-part enrichment job. * * @param request - The request containing enrichment type, part ids and optional visibility/organization. * @returns An Observable that emits the created job id. */ triggerEnrichmentJob(request: TriggerEnrichmentJobRequest): Observable; } export declare class DataEnrichmentServiceImpl extends BaseService implements DataEnrichmentService { private httpsService; onCreate(): void; loadEnrichmentJobs(request: GetEnrichmentJobsRequest): Observable<{ jobs: EnrichmentJob[]; paginationContext: DefaultGetPaginatedRequestPaginationContext; }>; loadMoreEnrichmentJobs(paginationContext: DefaultGetPaginatedRequestPaginationContext): Observable<{ jobs: EnrichmentJob[]; paginationContext: DefaultGetPaginatedRequestPaginationContext; }>; hasMoreEnrichmentJobsAvailable(paginationContext: DefaultGetPaginatedRequestPaginationContext): boolean; getEnrichmentJob(request: GetEnrichmentJobRequest): Observable; loadEnrichmentJobParts(request: GetEnrichmentJobPartsRequest): Observable<{ parts: EnrichmentJobPart[]; partsSummary: EnrichmentJobPartsSummary; paginationContext: DefaultGetPaginatedRequestPaginationContext; }>; loadMoreEnrichmentJobParts(paginationContext: DefaultGetPaginatedRequestPaginationContext): Observable<{ parts: EnrichmentJobPart[]; partsSummary: EnrichmentJobPartsSummary; paginationContext: DefaultGetPaginatedRequestPaginationContext; }>; addPartsToEnrichmentJob(jobId: string, request: PostAddPartsToEnrichmentJobRequest): Observable; removePartsFromEnrichmentJob(jobId: string, request: PostRemovePartsFromEnrichmentJobRequest): Observable; addAllSearchSessionPartsToEnrichmentJob(jobId: string, request?: PostAddAllSearchSessionPartsToEnrichmentJobRequest): Observable; removeAllSearchSessionPartsFromEnrichmentJob(jobId: string, request?: PostRemoveAllSearchSessionPartsFromEnrichmentJobRequest): Observable; checkWhichPartsInEnrichmentJob(jobId: string, request: PostCheckWhichPartsInEnrichmentJobRequest): Observable; getSearchSummary(jobId: string): Observable; hasMoreEnrichmentJobPartsAvailable(paginationContext: DefaultGetPaginatedRequestPaginationContext): boolean; createEnrichmentJob(request: CreateEnrichmentJobRequest): Observable; createEnrichmentJobWithSearchSession(request: CreateEnrichmentJobWithSearchSessionRequest): Observable; submitEnrichmentJob(request: SubmitEnrichmentJobRequest): Observable; triggerEnrichmentJob(request: TriggerEnrichmentJobRequest): Observable; private fetchEnrichmentJobsPage; private fetchEnrichmentJobPartsPage; }