/**
 * Source-tarball cache layer wrapping CacheStorage.
 *
 * Provides content-hash-keyed operations for customer-workflow source tarballs
 * (the `.kici/` directory minus `node_modules/`, packed by the agent's build
 * job via `source-packer.ts`). Tarballs are platform-independent: raw TypeScript
 * source files are identical across architectures. Refreshes TTL on reads
 * (touch-on-read) so actively used sources stay in cache longer.
 *
 * Cache key format: source/{contentHash}.tar.gz
 *
 * Replaces the former `BundleCache` / `bundles/{contentHash}.js` layout that
 * stored Rolldown-bundled `.compiled.mjs` artifacts — the new execution path
 * downloads the source tarball, extracts it, and imports the workflow entry
 * via the shared oxc-transform ESM loader hook.
 */
import type { CacheStorage } from '../storage/types.js';
export declare class SourceCache {
    private readonly storage;
    constructor(options: {
        storage: CacheStorage;
    });
    has(contentHash: string): Promise<boolean>;
    get(contentHash: string): Promise<Buffer | null>;
    getUrl(contentHash: string): Promise<string | null>;
    getUploadUrl(contentHash: string): Promise<string>;
    store(contentHash: string, tarball: Buffer | string): Promise<void>;
    remove(contentHash: string): Promise<boolean>;
}
//# sourceMappingURL=source-cache.d.ts.map