// Copyright © 2022-2026 Partium, Inc. DBA Partium import { Observable } from 'rxjs'; import { BaseService, DefaultGetPaginatedRequestPaginationContext } from '../../core'; import { SubmitImagesRequest } from '../models/submit-images-request'; import { SubmitImagesResponse } from '../models/submit-images-response'; import { GetImageSubmissionsRequest } from '../models/get-image-submissions-request'; import { GetImageSubmissionsResponse } from '../models/get-image-submissions-response'; import { ApproveImageSubmissionRequest } from '../models/approve-image-submission-request'; import { ApproveImageSubmissionResponse } from '../models/approve-image-submission-response'; import { RejectImageSubmissionRequest } from '../models/reject-image-submission-request'; import { RejectImageSubmissionResponse } from '../models/reject-image-submission-response'; import { UpdateImageSubmissionRequest } from '../models/update-image-submission-request'; import { UpdateImageSubmissionResponse } from '../models/update-image-submission-response'; /** * Service for submitting images and metadata to the datacuration backend for AI ingestion. */ export interface ImageSubmissionService { /** * Submits images. * * @param request - The request containing the images to submit. * @returns An Observable that emits the submitted images. */ submit(request: SubmitImagesRequest): Observable; /** * Gets image submissions. * * @param request - The request containing the parameters for the image submissions to get. * @returns An Observable that emits the image submissions with pagination context. * @throws An error if the language is not provided. */ loadInitialSubmissions(request: GetImageSubmissionsRequest): Observable<{ response: GetImageSubmissionsResponse; paginationContext: DefaultGetPaginatedRequestPaginationContext; }>; /** * Loads more image submissions using the provided pagination context. * * @param paginationContext - The pagination context from previous calls. * @returns An Observable that emits the image submissions with updated pagination context. * @throws An error if there are no more pages available. */ loadMoreSubmissions(paginationContext: DefaultGetPaginatedRequestPaginationContext): Observable<{ response: GetImageSubmissionsResponse; paginationContext: DefaultGetPaginatedRequestPaginationContext; }>; /** * Returns true if there are more results available to load based on the pagination context. */ hasMoreResultsAvailable(paginationContext: DefaultGetPaginatedRequestPaginationContext): boolean; /** * Approves image submissions. * * @param request - The request containing the image submissions to approve. * @returns An Observable that emits the approved image submissions. * @throws An error if the organization is not provided. * @throws An error if the image IDs are not provided. */ approve(request: ApproveImageSubmissionRequest): Observable; /** * Rejects image submissions. * * @param request - The request containing the image submissions to reject. * @returns An Observable that emits the rejected image submissions. * @throws An error if the organization is not provided. * @throws An error if the image IDs are not provided. */ reject(request: RejectImageSubmissionRequest): Observable; /** * Updates image submissions. * * @param request - The request containing the image submissions to update. * @returns An Observable that emits the updated image submissions. * @throws An error if the organization is not provided. * @throws An error if the image IDs are not provided. */ update(request: UpdateImageSubmissionRequest): Observable; } export declare class ImageSubmissionServiceImpl extends BaseService implements ImageSubmissionService { private httpsService; onCreate(): void; submit(request: SubmitImagesRequest): Observable; loadInitialSubmissions(request: GetImageSubmissionsRequest): Observable<{ response: GetImageSubmissionsResponse; paginationContext: DefaultGetPaginatedRequestPaginationContext; }>; loadMoreSubmissions(paginationContext: DefaultGetPaginatedRequestPaginationContext): Observable<{ response: GetImageSubmissionsResponse; paginationContext: DefaultGetPaginatedRequestPaginationContext; }>; approve(request: ApproveImageSubmissionRequest): Observable; reject(request: RejectImageSubmissionRequest): Observable; update(request: UpdateImageSubmissionRequest): Observable; hasMoreResultsAvailable(paginationContext: DefaultGetPaginatedRequestPaginationContext): boolean; private fetchSubmissionsPage; }