export interface AudioAssetInfo {
    /** Absolute path to the file */
    filePath: string;
    /** Path relative to build directory */
    relativePath: string;
    /** File size in bytes */
    size: number;
    /** Whether a matching .spectral.json exists */
    hasSpectral: boolean;
    /** Spectral JSON size if available */
    spectralSize?: number;
    /** Savings by switching to spectral */
    potentialSavings?: number;
}
export interface AudioOptimizationReport {
    /** All audio files found */
    audioFiles: AudioAssetInfo[];
    /** All .spectral.json files found */
    spectralFiles: string[];
    /** Total size of all MP3/audio files */
    totalAudioSize: number;
    /** Total size if all with spectral were replaced */
    totalSpectralSize: number;
    /** Whether SpectralAudioEngine runtime was injected */
    runtimeInjected: boolean;
    /** Size of injected runtime (bytes) */
    runtimeSize: number;
    /** Net savings from spectral replacement (bytes) */
    netSavings: number;
}
export interface AudioOptimizerOptions {
    /** Build output directory to scan */
    buildDir: string;
    /**
     * Whether to auto-inject SpectralAudioEngine runtime when spectral files are present.
     * Defaults to true.
     */
    injectRuntime?: boolean;
    /**
     * Path to an HTML file to inject the runtime into (e.g. index.html).
     * If not provided, runtime injection is skipped even if injectRuntime=true.
     */
    htmlOutputPath?: string;
    /** Verbose logging */
    verbose?: boolean;
}
/**
 * AudioOptimizer — Build-time audio analysis and optimization.
 *
 * Scans a build directory for audio files and .spectral.json counterparts.
 * When spectral files are present, optionally injects the SpectralAudioEngine
 * runtime (< 3KB) into the output HTML so the browser can synthesize them.
 *
 * Usage:
 *   const optimizer = new AudioOptimizer({ buildDir: './dist', htmlOutputPath: './dist/index.html' });
 *   const report = await optimizer.optimize();
 *   console.log(report);
 */
export declare class AudioOptimizer {
    private options;
    constructor(options: AudioOptimizerOptions);
    /**
     * Run the optimizer. Returns a report with audio file details and optimization results.
     */
    optimize(): Promise<AudioOptimizationReport>;
    /**
     * Print a human-readable summary of the optimization report.
     */
    static printReport(report: AudioOptimizationReport): void;
}
