import { Cache } from "./Cache.js";

//#region src/modules/cache/CacheModuleConfig.d.ts

/**
 * CacheModuleConfigOptions defines the interface for the options of the CacheModuleConfig class.
 */
interface CacheModuleConfigOptions {
  /**
   *
   * Implementation of the {@link Cache} interface.
   *
   */
  cache: Cache;
  /**
   *
   * @default 60
   *
   */
  defaultExpiryInSeconds?: number;
  /**
   *
   * Uses a caching registry before talking to the storage service when a Record has the `useCache` set to `true`
   *
   * @default false
   *
   */
  useCachedStorageService?: boolean;
}
declare class CacheModuleConfig {
  private options;
  constructor(options: CacheModuleConfigOptions);
  /** See {@link CacheModuleConfigOptions.cache} */
  get cache(): Cache;
  /** See {@link CacheModuleConfigOptions.defaultExpiryInSeconds} */
  get defaultExpiryInSeconds(): number;
  /** See {@link CacheModuleConfigOptions.useCachedStorageService} */
  get useCachedStorageService(): boolean;
}
//#endregion
export { CacheModuleConfig, CacheModuleConfigOptions };
//# sourceMappingURL=CacheModuleConfig.d.ts.map