import { AnyValue, Many } from '../../common/types/custom_type.types.cjs';

declare const LockCacheUtil: <CacheValue = AnyValue>(cacheKey: string) => {
    get: (key: string) => Promise<CacheValue | undefined>;
    find: (filter: (value: any, index: number, array: any[]) => unknown) => Promise<{
        id: string;
        val: CacheValue;
    } | undefined>;
    fetchAll: () => Promise<CacheValue[]>;
    replaceMainCache: (value: Many<CacheValue>) => void;
    set: (key: string, value: CacheValue) => Promise<unknown>;
    update: (filter: (value: any, index: number, array: any[]) => unknown, value: CacheValue) => Promise<unknown>;
    destroy: (filter: (value: any, index: number, array: any[]) => unknown) => Promise<void>;
};

export { LockCacheUtil };
