import { VLMAnalyzer } from '../openrouter/vlm.js';
import type { QualityReport } from '../../types/api.js';
export declare class QualityController {
    private readonly vlm;
    constructor(vlm?: VLMAnalyzer);
    /**
     * Runs VLM analysis on an image and saves the quality report.
     */
    checkQuality(imageUrl: string, characterId: string, imageId: string, taskId: string, threshold?: number): Promise<QualityReport>;
    /**
     * Checks quality with auto-retry. If below threshold, calls regenerateFn
     * with VLM feedback and re-checks. Max attempts before marking for manual review.
     */
    checkWithRetry(imageUrl: string, characterId: string, imageId: string, taskId: string, regenerateFn: (feedback: string) => Promise<string>, threshold?: number, maxAttempts?: number): Promise<QualityReport>;
}
/** Lazy singleton — avoids requiring API keys at import time. */
export declare function getQualityController(): QualityController;
//# sourceMappingURL=quality-control.d.ts.map