import { Event } from "../../../../base/common/event.js";
import { ISettableObservable } from "../../../../base/common/observableInternal/index.js";
import { IObservableValue, MutableObservableValue } from "@codingame/monaco-vscode-testing-service-override/vscode/vs/workbench/contrib/testing/common/observableValue";
import { TestFilterTerm } from "@codingame/monaco-vscode-testing-service-override/vscode/vs/workbench/contrib/testing/common/testExplorerFilterState";
export interface ITestExplorerFilterState {
    _serviceBrand: undefined;
    readonly text: IObservableValue<string>;
    readonly reveal: ISettableObservable<string | undefined>;
    readonly onDidSelectTestInExplorer: Event<string | undefined>;
    readonly onDidRequestInputFocus: Event<void>;
    readonly globList: readonly {
        include: boolean;
        text: string;
    }[];
    readonly includeTags: ReadonlySet<string>;
    readonly excludeTags: ReadonlySet<string>;
    readonly fuzzy: MutableObservableValue<boolean>;
    focusInput(): void;
    setText(text: string): void;
    isFilteringFor(term: TestFilterTerm): boolean;
    toggleFilteringFor(term: TestFilterTerm, shouldFilter?: boolean): void;
    didSelectTestInExplorer(testId: string): void;
}
export declare const ITestExplorerFilterState: import("../../../../platform/instantiation/common/instantiation.js").ServiceIdentifier<ITestExplorerFilterState>;
