/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
import type { PageParam } from "../../../navigation/page-param";
export declare enum FilterType {
    SEARCH = "search"
}
export interface Filter {
    type: FilterType;
    value: string;
}
interface Dependencies {
    readonly searchUrlParam: PageParam<string>;
}
export declare class PageFiltersStore {
    protected readonly dependencies: Dependencies;
    protected filters: import("mobx").IObservableArray<Filter>;
    protected isDisabled: import("mobx").ObservableMap<FilterType, boolean>;
    get activeFilters(): Filter[];
    constructor(dependencies: Dependencies);
    protected syncWithGlobalSearch(): () => void;
    addFilter(filter: Filter, begin?: boolean): void;
    removeFilter(filter: Filter): void;
    getByType(type: FilterType, value?: any): Filter | undefined;
    getValues(type: FilterType): string[];
    isEnabled(type: FilterType): boolean;
    disable(type: FilterType | FilterType[]): () => () => any;
    enable(type: FilterType | FilterType[]): () => () => any;
    reset(): void;
}
export {};
