import { URI } from "../../../../base/common/uri.js";
import { ITextEditorOptions } from "../../../../platform/editor/common/editor.js";
import { MutableObservableValue } from "@codingame/monaco-vscode-testing-service-override/vscode/vs/workbench/contrib/testing/common/observableValue";
import { IShowResultOptions } from "./testingPeekOpener.js";
import { ITestResult } from "@codingame/monaco-vscode-6845754f-e617-5ed9-8aaa-6ca3653a9532-common/vscode/vs/workbench/contrib/testing/common/testResult";
import { TestResultItem } from "./testTypes.js";
export interface ITestingPeekOpener {
    _serviceBrand: undefined;
    /** Whether test history should be shown in the results output. */
    historyVisible: MutableObservableValue<boolean>;
    /**
    * Tries to peek the first test error, if the item is in a failed state.
    * @returns a boolean indicating whether a peek was opened
    */
    tryPeekFirstError(result: ITestResult, test: TestResultItem, options?: Partial<ITextEditorOptions>): boolean;
    /**
    * Peeks at the given test message uri.
    * @returns a boolean indicating whether a peek was opened
    */
    peekUri(uri: URI, options?: IShowResultOptions): boolean;
    /**
    * Opens the currently selected message in an editor.
    */
    openCurrentInEditor(): void;
    /**
    * Opens the peek. Shows any available message.
    */
    open(): void;
    /**
    * Closes peeks for all visible editors.
    */
    closeAllPeeks(): void;
}
export declare const ITestingPeekOpener: import("../../../../platform/instantiation/common/instantiation.js").ServiceIdentifier<ITestingPeekOpener>;
