import { RunOnceScheduler } from "@codingame/monaco-vscode-api/vscode/vs/base/common/async"; import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service"; import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service"; import { ITestProfileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/testing/common/testProfileService.service"; import { ITestResult, LiveTestResult, TestResultItemChange } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/testing/common/testResult"; import { ITestResultService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/testing/common/testResultService.service"; import { ITestResultStorage } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/testing/common/testResultStorage.service"; import { ExtensionRunTestsRequest, ResolvedTestRunRequest, TestResultItem } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/testing/common/testTypes"; export type ResultChangeEvent = { completed: LiveTestResult; } | { started: LiveTestResult; } | { inserted: ITestResult; } | { removed: ITestResult[]; }; export declare class TestResultService extends Disposable implements ITestResultService { private readonly storage; private readonly testProfiles; private readonly telemetryService; _serviceBrand: undefined; private changeResultEmitter; private _results; private readonly _resultsDisposables; private testChangeEmitter; private insertOrderCounter; /** * @inheritdoc */ get results(): ITestResult[]; /** * @inheritdoc */ readonly onResultsChanged: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; /** * @inheritdoc */ readonly onTestChanged: import("@codingame/monaco-vscode-api/vscode/vs/base/common/event").Event; private readonly isRunning; private readonly hasAnyResults; private readonly loadResults; protected readonly persistScheduler: RunOnceScheduler<() => Promise>; constructor(contextKeyService: IContextKeyService, storage: ITestResultStorage, testProfiles: ITestProfileService, telemetryService: ITelemetryService); /** * @inheritdoc */ getStateById(extId: string): [ results: ITestResult, item: TestResultItem ] | undefined; /** * @inheritdoc */ createLiveResult(req: ResolvedTestRunRequest | ExtensionRunTestsRequest): LiveTestResult; /** * @inheritdoc */ push(result: T): T; /** * @inheritdoc */ getResult(id: string): ITestResult | undefined; /** * @inheritdoc */ clear(): void; private onComplete; private resort; private updateIsRunning; protected persistImmediately(): Promise; }