import type { GenerateMusicParams } from '../utils/generate-music-url-parser.js';
interface MusicCacheEntry {
    key: string;
    params: GenerateMusicParams;
    metadata: {
        generatedAt: string;
        model: string;
        fileSize: number;
        mimeType: string;
        sampleRate: number;
        channels: number;
        actualDuration?: number;
    };
    usage: {
        lastUsed: string;
        useCount: number;
        projects: string[];
    };
}
export declare class MusicCache {
    private cacheDir;
    private manifestPath;
    private manifest;
    private initialized;
    constructor();
    initialize(): Promise<void>;
    private loadManifest;
    private saveManifest;
    generateCacheKey(params: GenerateMusicParams): string;
    get(key: string, projectPath?: string): Promise<string | null>;
    save(key: string, data: Buffer, params: GenerateMusicParams, projectPath?: string): Promise<string>;
    clear(options?: {
        olderThan?: number;
    }): Promise<number>;
    getStats(): {
        totalFiles: number;
        totalSize: number;
        oldestFile: Date | null;
        newestFile: Date | null;
    };
    getAllCachedFiles(): Array<{
        path: string;
        params: GenerateMusicParams;
        metadata: MusicCacheEntry['metadata'];
    }>;
}
export declare const musicCache: MusicCache;
export declare function generateMusicCacheKey(params: GenerateMusicParams): string;
export {};
//# sourceMappingURL=music-cache.d.ts.map