import { IObservableArray } from 'mobx'; import { ObservableGroupMap } from 'mobx-utils'; import { RundeckClient } from '@rundeck/client'; import { RootStore } from './RootStore'; import { JobWorkflow, RenderedStepList } from '../utilities/JobWorkflow'; import { ExecutionStatusGetResponse, ExecutionOutputEntry as ApiExecutionOutputEntry } from '@rundeck/client/dist/lib/models'; export declare class ExecutionOutputStore { readonly root: RootStore; readonly client: RundeckClient; executionOutputsById: Map; constructor(root: RootStore, client: RundeckClient); createOrGet(id: string): ExecutionOutput; getOutput(id: string, maxLines: number): Promise; } export declare class ExecutionOutput { client: RundeckClient; id: string; offset: number; clusterExec: boolean; error: string; empty: boolean; completed: boolean; execCompleted: boolean; hasFailedNodes: boolean; execState: string; lastModified: string; execDuration: number; percentLoaded: number; totalSize: number; retryBackoff: number; compacted: boolean; entries: IObservableArray; entriesbyNodeCtx: ObservableGroupMap; entriesByNode: ObservableGroupMap; constructor(id: string, client: RundeckClient); size: number; backoff: number; lineNumber: number; private jobWorkflowProm; private executionStatusProm; /** Get an observable list of entries grouped by node or node and step */ getEntriesByNodeCtx(node: string, stepCtx?: string): IObservableArray | undefined; /** Optional method to populate information about execution output */ init(): Promise; getJobWorkflow(): Promise; getExecutionStatus(): Promise; getOutput(maxLines: number): Promise; private waitBackOff; private increaseBackOff; private decreaseBackOff; } export declare class ExecutionOutputEntry { executionOutput: ExecutionOutput; time: string; absoluteTime: string; log?: string; logHtml?: string; level?: string; stepctx?: string; node?: string; lineNumber: number; renderedStep?: RenderedStepList; constructor(executionOutput: ExecutionOutput); static FromApiResponse(executionOutput: ExecutionOutput, resp: ApiExecutionOutputEntry, line: number, workflow: JobWorkflow): ExecutionOutputEntry; }