import { Platform } from '@angular/cdk/platform'; import { HttpClient, HttpResponse } from '@angular/common/http'; import { Observable, ReplaySubject } from 'rxjs'; import { MtnaLogger } from '@mtna/lib-ui'; import { OptionBundle, OptionSet, PackagingOptions, ProcessStatusDetail } from '@mtna/rds-packaging-ui'; import { SelectParameters, TabulationParameters } from '../models/index'; import { RdsApiService } from './rds-api.service'; export declare class RdsPackagingService { protected apiService: RdsApiService; private http; protected logger: MtnaLogger; protected platform: Platform; get PACKAGE_URL(): string; get DATA_PRODUCT_URL(): string; protected _bundlesCache$: ReplaySubject; protected _bundlesRequest$: Observable; protected _optionsCache$: ReplaySubject; protected _optionsRequest$: Observable; constructor(apiService: RdsApiService, http: HttpClient, logger: MtnaLogger, platform: Platform); downloadPackagedFile(processId: string): void; /** * Get bundle. When a client wants to get a particular bundle they can use this endpoint * to retrieve a list of OptionSets that are pre-configured to work with each other. * @param bundleId The ID of the bundle whose options are desired */ getBundle(bundleId: string): Observable; /** * Get all packaging bundles. * These are groups of related OptionSets grouped together with some pre-configuration already done. * This can ensure that users can get a set of options quickly and already set up with all the options needed. * @remarks This method uses caching, returns a hot observable. * @param refresh forces a cache refresh, will update all subscribers. Defaults to false. * @returns all packaging bundles */ getBundles(refresh?: boolean): Observable; getOption(formatId: string): Observable; /** * Get all packaging options. * This is a starting point for clients to identify all the possible packaging formats that are available. * @remarks This method uses caching, returns a hot observable. * @param refresh forces a cache refresh, will update all subscribers. Defaults to false. * @returns all packaging options. */ getOptions(refresh?: boolean): Observable; getProcessDetails(processId: string): Observable; getPackagedFile(processId: string): Observable>; select(params: SelectParameters, optionSets: OptionSet[]): Observable; /** * Package a tabulation. * * @param optionSets packaging format option sets * @param options various tabulation parameters * @returns packaging ID */ tabulate(params: TabulationParameters, optionSets: Array): Observable; }