import { GenerateImageParams } from './gemini.js';
export declare class ImageCache {
    private cacheDir;
    private manifestPath;
    private manifest;
    constructor(cacheDir?: string);
    initialize(): Promise<void>;
    /**
     * キャッシュから画像を取得
     */
    get(cacheKey: string): Promise<string | null>;
    /**
     * 画像をキャッシュに保存
     */
    save(cacheKey: string, imageData: Buffer, params: GenerateImageParams): Promise<string>;
    /**
     * キャッシュをクリア
     */
    clear(options?: {
        olderThan?: Date;
    }): Promise<void>;
    /**
     * キャッシュのサイズを取得
     */
    getSize(): Promise<{
        totalSize: number;
        fileCount: number;
    }>;
    /**
     * キャッシュ状況を取得
     */
    getStatus(): Promise<{
        totalFiles: number;
        totalSize: number;
        oldestEntry?: Date;
        newestEntry?: Date;
    }>;
    /**
     * マニフェストを読み込む
     */
    private loadManifest;
    /**
     * マニフェストを保存
     */
    private saveManifest;
}
/**
 * キャッシュキーを生成
 */
export declare function generateCacheKey(params: GenerateImageParams): string;
export declare const imageCache: ImageCache;
//# sourceMappingURL=image-cache.d.ts.map