import { DecodedValueMap, QueryParamConfig, QueryParamConfigMap, StringParam } from 'serialize-query-params'; import { QueryParamOptions } from './options'; import { QueryParamConfigMapWithInherit, SetQuery } from './types'; declare type UseQueryParamsResult = [ DecodedValueMap, SetQuery ]; declare type ExpandInherits = { [ParamName in keyof QPCMap]: QPCMap[ParamName] extends string ? typeof StringParam : QPCMap[ParamName] extends QueryParamConfig ? QPCMap[ParamName] : never; }; /** * Given a query parameter configuration (mapping query param name to { encode, decode }), * return an object with the decoded values and a setter for updating them. */ export declare function useQueryParams(): UseQueryParamsResult; export declare function useQueryParams(names: string[], options?: QueryParamOptions): UseQueryParamsResult>; export declare function useQueryParams>(paramConfigMap: QPCMap, options?: QueryParamOptions): UseQueryParamsResult; export default useQueryParams;