import type { HiveClient, HivePluginOptions } from './types.js'; export declare function memo(fn: (arg: A) => R, cacheKeyFn: (arg: A) => K): (arg: A) => R; export declare function cache(fn: (arg: A, arg2: V) => R, cacheKeyFn: (arg: A, arg2: V) => K, cacheMap: { has(key: K): boolean; set(key: K, value: R): void; get(key: K): R | undefined; }): (arg: A, arg2: V) => { key: K; value: R; cacheHit: boolean; }; export declare function cacheDocumentKey(doc: T, variables: V | null): string; export declare function measureDuration(): () => number; export declare function addProperty(key: K, value: undefined | null, obj: T): T; export declare function addProperty(key: K, value: V, obj: T): T & { [k in K]: V; }; export declare function isHiveClient(clientOrOptions: HiveClient | HivePluginOptions): clientOrOptions is HiveClient; export declare function logIf(condition: boolean, message: string, logFn: (message: string) => void): void; export declare function joinUrl(url: string, subdirectory: string): string; //# sourceMappingURL=utils.d.ts.map