/**
 * Copyright IBM Corp. 2022, 2024
 *
 * This source code is licensed under the Apache-2.0 license found in the
 * LICENSE file in the root directory of this source tree.
 */
import React from 'react';
import PropTypes from 'prop-types';
import { SAVED_FILTERS } from './constants';
import { Filter } from '../../../../FilterSummary/FilterSummary';
type ActionType = typeof SAVED_FILTERS;
interface Action {
    type: ActionType;
    payload?: any;
}
export interface ContextType {
    EventEmitter: any;
    dispatch: React.Dispatch<Action>;
    state: {
        savedFilters: object[];
    };
    setPanelOpen: React.Dispatch<React.SetStateAction<boolean>>;
    panelOpen: boolean;
    tableId: string;
    filterTags: Filter[];
}
export declare const FilterContext: React.Context<ContextType>;
export declare const clearSingleFilter: ({ key, value, tableId }: {
    key: any;
    value: any;
    tableId: any;
}, setAllFilters: any, state: any, contextTableId: any) => void;
export declare const FilterProvider: {
    ({ children, filters, filterProps, tableId }: {
        children: any;
        filters: any;
        filterProps: any;
        tableId: any;
    }): React.JSX.Element;
    propTypes: {
        children: PropTypes.Validator<NonNullable<NonNullable<PropTypes.ReactNodeLike>>>;
        filterProps: PropTypes.Requireable<object>;
        filters: PropTypes.Validator<(object | null | undefined)[]>;
        tableId: PropTypes.Requireable<string>;
    };
};
export {};
//# sourceMappingURL=FilterProvider.d.ts.map