import type { CacheValue, HashMapKey, ICreateCacheReturnType } from '../../cache/index.js';
export interface ProcessCachedTaskOptions<TValue extends CacheValue> {
    cache: ICreateCacheReturnType;
    cacheKey: string;
    hashKey?: HashMapKey | undefined;
    rawSource?: string | undefined;
    hash?: string | undefined;
    readCache?: (() => TValue | undefined) | undefined;
    applyResult: (value: TValue, meta: {
        cacheHit: boolean;
    }) => void | Promise<void>;
    transform: () => Promise<{
        result: TValue;
        cacheValue?: CacheValue | undefined;
    }>;
    onCacheHit?: (() => void) | undefined;
}
export declare function processCachedTask<TValue extends CacheValue>({ cache, cacheKey, hashKey, rawSource, hash, readCache, applyResult, transform, onCacheHit, }: ProcessCachedTaskOptions<TValue>): Promise<void>;
