import { QueryInfoOptions } from './queryInfo'; import { Updater } from './typeUtils'; export * from './utils/generateKey'; export declare const getFullKey: (key: string, variables?: any) => [string, any]; export declare const hashKeyByOptions: (fullKey: [string, any], options: { queryKeyHashFn?: ((key: [string, any]) => string) | undefined; }) => string; export declare const hashKey: (fullKey: [string, any]) => string; export declare const isPlainObject: (o: any) => boolean; /** * Checks if key `b` partially matches with key `a`. */ export declare const partialMatchKey: (a: any, b: any) => boolean; export declare const isValidTimeout: (value: unknown) => value is number; export declare const sleep: (timeout: number) => Promise; export declare const isPlainArray: (value: unknown) => boolean; /** * This function returns `a` if `b` is deeply equal. * If not, it will replace any deeply equal children of `b` with those of `a`. * This can be used for structural sharing between JSON values for example. */ export declare function replaceEqualDeep(a: unknown, b: T): T; export declare const replaceData: >(prevData: TData | undefined, data: TData, options: TOptions) => TData; export declare const isPromiseLike: (x: unknown) => x is PromiseLike; export declare const noop: () => undefined; export declare const UNDEFINED: undefined; export declare const isUndefined: (v: any) => v is undefined; export declare const isServer: boolean; export declare const isFunction: (v: any) => v is (...args: any[]) => any; export declare const isBoolean: (value?: any) => value is boolean; export declare const isNumber: (value?: any) => value is number; export declare const timeUntilStale: (updatedAt: number, staleTime?: number) => number; export declare const addToEnd: (items: T[], item: T, max?: number) => T[]; export declare const addToStart: (items: T[], item: T, max?: number) => T[]; export declare const functionalUpdate: (updater: Updater, input: TInput) => TOutput; export declare const findSet: (listeners: Set, predicate: (listener: T) => boolean | undefined) => T | undefined; /** * Shallow compare objects. Only works with objects that always have the same properties. */ export declare const shallowEqualObjects: (a: T, b: T) => boolean;