import { JobScheduling } from '.'; import { AuthorizedHttpClient } from '../utils/api-request'; import { ParsableComponent } from '../utils/pojo/common'; import { ICatalystJobDetails, ICatalystJobpoolDetails, TCatalystJobs } from './types'; export default class Jobpool implements ParsableComponent { private _jobpoolDetails; requester: AuthorizedHttpClient; constructor(jobSchedulingInstance: JobScheduling, jobpoolDetails: Partial); getComponentName(): string; /** * Get a job's details from the jobpool * @param id Id of the job * @returns details of the job */ getJob(id: string): Promise>; /** * Submit a job to the jobpool * @param jobMeta details of the job to be submitted to the jobpool * @returns details of the submitted job */ submitJob(jobMeta: T): Promise>; /** * Delete a job from the job pool * @param jobId Id of the job to be deleted * @returns details of the deleted job */ deleteJob(jobId: string): Promise>; /** * Returns a string of jobpool details * @returns */ toString(): string; /** * Returns the jobpool details as a plain js object * @returns */ toJSON(): Partial; }