import type { StoreApi } from '../store/types'; import type { DeriveGetter } from '../types'; import type { NonFunction } from '../types/functions'; declare const QUERY_PARAM_CONFIG: unique symbol; /** * Selects how a query parameter participates in the query key. */ export type QueryParamKey = false | ((value: T) => unknown); /** * A query value derived from stores via `$`. */ export type ReactiveParam = ($: DeriveGetter, store: StoreApi) => T; /** * Query parameter wrapper for values whose fetcher value and key value differ. */ export type QueryParamConfig = { readonly [QUERY_PARAM_CONFIG]: true; readonly key: QueryParamKey; readonly value: NonFunction | ReactiveParam; }; /** * A direct, reactive, or key-configured query parameter. */ export type QueryParam = NonFunction | ReactiveParam | QueryParamConfig; /** * Wraps a query parameter when its full fetcher value should be excluded * from the query key or represented by a smaller key value. */ export declare function queryParam(value: NonFunction | ReactiveParam, options: { key: QueryParamKey; }): QueryParamConfig; /** * Checks if a `QueryParam` value is a custom `queryParam(...)` config. */ export declare function isQueryParamConfig(value: QueryParam): value is QueryParamConfig; export {}; //# sourceMappingURL=queryParam.d.ts.map