import { ReactNode } from 'react';
import { useFilters } from './useFilters';
import { FiltersValue } from './types';
type FiltersContextValue<T extends FiltersValue> = ReturnType<typeof useFilters<T>>;
interface FiltersProviderProps<T extends FiltersValue> {
    children: ReactNode;
    instance: FiltersContextValue<T>;
}
export declare function FiltersProvider<T extends FiltersValue>({ children, instance }: FiltersProviderProps<T>): import("react/jsx-runtime").JSX.Element;
export declare const useFiltersContext: <T extends FiltersValue>() => {
    reset: () => void;
    filters: T | import('nuqs').Values<import('nuqs').UseQueryStatesKeysMap<T>>;
    setValue: <K extends keyof T>(name: K, value: T[K]) => void;
    getValue: <K extends keyof T>(name: K) => T[K] | null;
    unregister: (name: keyof T) => void;
    isResetDisabled: boolean;
    setFilters: (newFilters: Partial<T>) => void;
};
export {};
