import React from 'react';
import { AggregationResultType } from '../api';
import { RangeAggregation, StatAggregation, TermAggregation } from '@sentecacommerce/sdk';
export { RangeAggregation, StatAggregation, TermAggregation } from '@sentecacommerce/sdk';
export declare type ListingAggregationResultType = {
    selected: boolean;
    data: AggregationResultType;
    meta: any;
    aggregationType?: string;
    onClick: () => void;
};
export declare type ListingAggregateType = {
    name: string;
    component: string;
    type: string;
    selectedCount: number;
    items: ListingAggregationResultType[];
    clearAll: () => void;
    raw: StatAggregation | RangeAggregation | TermAggregation;
};
export declare type UseListingFiltersResult = {
    data?: ListingAggregateType[];
    clearAllFilters: () => void;
    selectedFilters: ListingAggregationResultType[];
    isLoading: boolean;
    isFetching: boolean;
};
export declare function ListingFiltersProvider({ children, }: {
    children: React.ReactNode;
}): JSX.Element;
export declare function useListingFilters(): UseListingFiltersResult;
export declare const filtersOperatorsMap: {
    ranges: string;
    stats: string;
    terms: string;
};
