import { CacheValueType, NullableType, RequestInstance, ExtractResponseType, ExtractErrorType, ExtractAdapterResolvedType, Dispatcher, ExtractAdapterType, ResponseDetailsType } from '@hyper-fetch/core';
import { UseTrackedStateType } from '..';
/**
 * Determines whether state should be cleared when the cache key changes.
 *
 * - `"clean"` — always clear
 * - `"preserve"` — never clear
 * - `"auto"` — clear when the resource identity changed (URL params), preserve when only query params changed
 */
export declare const getShouldClearState: (mode: "auto" | "preserve" | "clean", oldCacheKey: string, newCacheKey: string) => boolean;
export declare const getDetailsState: (state?: UseTrackedStateType<RequestInstance>, details?: Partial<ResponseDetailsType>) => ResponseDetailsType;
export declare const isStaleCacheData: (staleTime: number, staleTimestamp: NullableType<Date | number>) => boolean;
export declare const getValidCacheData: <T extends RequestInstance>(request: T, initialResponse: NullableType<Partial<ExtractAdapterResolvedType<T>>>, cacheData: NullableType<CacheValueType<ExtractResponseType<T>, ExtractErrorType<T>, ExtractAdapterType<T>>>) => CacheValueType<ExtractResponseType<T>, ExtractErrorType<T>, ExtractAdapterType<T>> | null;
export declare const getTimestamp: (timestamp?: NullableType<number | Date>) => Date | null;
export declare const getIsInitiallyLoading: <T extends RequestInstance>({ queryKey, dispatcher, hasState, revalidate, disabled, }: {
    queryKey: string;
    dispatcher: Dispatcher<ExtractAdapterType<T>>;
    hasState: boolean;
    revalidate?: boolean;
    disabled?: boolean;
}) => boolean;
export declare const getInitialState: <T extends RequestInstance>({ initialResponse, dispatcher, request, disabled, revalidate, }: {
    initialResponse: NullableType<Partial<ExtractAdapterResolvedType<T>>>;
    dispatcher: Dispatcher<ExtractAdapterType<T>>;
    request: T;
    disabled?: boolean;
    revalidate?: boolean;
}) => UseTrackedStateType<T>;
//# sourceMappingURL=use-tracked-state.utils.d.ts.map