import type { QueryParam, ReactiveParam } from '../../queryStore/queryParam'; import type { StoreApi } from '../../store/types'; import type { InternalUnsubscribeFn } from '../types/internalSubscribeTypes'; export type TrackedValue = { readonly initialValue: T; subscribe(listener: (value: T) => void): InternalUnsubscribeFn; }; export type QueryParams> = { buildKey(params?: TParams): string; complete(params: Partial | undefined): TParams; get(): TParams; subscribe(onChange: (key: keyof TParams, oldValue: unknown, newValue: unknown) => void): InternalUnsubscribeFn; }; export declare function createQueryParams, State>(params: { [K in keyof TParams]: QueryParam; } | undefined, store: StoreApi, requiredKeys: (keyof TParams)[]): QueryParams; export declare function trackQueryValue(getValue: ReactiveParam, ownerStore: StoreApi): TrackedValue;