export interface EhcacheKeysParams {
  /** 缓存名称 */
  cacheName: string;
};

export type EhcacheValueParams = {
  /** 缓存键名 */
  key: string;
} & EhcacheKeysParams

export type EhcacheRemoveParams = Partial<Pick<EhcacheValueParams, 'key'>> & EhcacheKeysParams


/** 系统-ehcache缓存 服务 */
export interface EhcacheService {

  /** 查询缓存名称列表 */
  names: () => Promise<any>;

  /** 查询缓存键名列表 */
  keys: (params: EhcacheKeysParams) => Promise<any>;

  /** 查询缓存内容 */
  value: (params: EhcacheValueParams) => Promise<any>;

  /** 清除缓存 */
  remove: (params: EhcacheRemoveParams) => Promise<any>;

  /** 清理全部缓存 */
  clear: () => Promise<any>;
}
