import type { OpenClawConfig } from "../config/types.openclaw.js"; export type PluginLruCacheResult = { hit: true; value: T; } | { hit: false; }; export declare class PluginLruCache { #private; constructor(defaultMaxEntries: number); get maxEntries(): number; get size(): number; setMaxEntriesForTest(value?: number): void; clear(): void; get(cacheKey: string): T | undefined; getResult(cacheKey: string): PluginLruCacheResult; set(cacheKey: string, value: T): void; } export type ConfigScopedRuntimeCache = WeakMap>; export type ConfigScopedPromiseLoader = { load(config?: OpenClawConfig): Promise; clear(): void; }; export declare function resolveConfigScopedRuntimeCacheValue(params: { cache: ConfigScopedRuntimeCache; config?: OpenClawConfig; key: string; load: () => T; }): T; export declare function createPluginCacheKey(parts: readonly unknown[]): string; export declare function createConfigScopedPromiseLoader(load: (config?: OpenClawConfig) => T | Promise): ConfigScopedPromiseLoader;