import { Instantiable, InstantiableConfig } from '../Instantiable.abstract'; import { MetaData, MetaDataAlgorithm } from '../ddo/MetaData'; import Account from './Account'; import { SubscribablePromise } from '../utils'; import { OrderProgressStep } from './utils/ServiceUtils'; import { DID } from '../squid'; import { ServiceCompute, ServiceComputePrivacy } from '../ddo/Service'; export declare const ComputeJobStatus: Readonly<{ Started: number; ConfiguringVolumes: number; ProvisioningSuccess: number; DataProvisioningFailed: number; AlgorithmProvisioningFailed: number; RunningAlgorithm: number; FilteringResults: number; PublishingResult: number; Completed: number; Stopped: number; Deleted: number; }>; export interface Output { publishAlgorithmLog?: boolean; publishOutput?: boolean; brizoAddress?: string; brizoUri?: string; metadata?: MetaData; metadataUri?: string; nodeUri?: string; owner?: string; secretStoreUri?: string; whitelist?: string[]; } export interface ComputeJob { owner: string; agreementId: string; jobId: string; dateCreated: string; dateFinished: string; status: number; statusText: string; algorithmLogUrl: string; resultsUrls: string[]; resultsDid?: DID; } export declare class OceanCompute extends Instantiable { static getInstance(config: InstantiableConfig): Promise; order(consumerAccount: Account, datasetDid: string, algorithmDid?: string, algorithmMeta?: MetaDataAlgorithm, provider?: string): SubscribablePromise; checkOutput(consumerAccount: Account, output?: Output): Output; start(consumerAccount: Account, agreementId: string, algorithmDid?: string, algorithmMeta?: MetaDataAlgorithm, output?: Output): Promise; stop(consumerAccount: Account, agreementId: string, jobId: string): Promise; delete(consumerAccount: Account, agreementId: string, jobId: string): Promise; restart(consumerAccount: Account, agreementId: string, jobId: string): Promise; status(consumerAccount: Account, agreementId?: string, jobId?: string): Promise; result(consumerAccount: Account, agreementId: string, jobId: string): Promise; createComputeServiceAttributes(consumerAccount: Account, price: string, datePublished: string, computePrivacy?: ServiceComputePrivacy, timeout?: number): Promise; }