import type { ThreatLabDiscovery } from './threat-lab.js';
import type { AutoCorpusSource } from './auto-corpus-writer.js';
export interface CorpusPromotionProvenance {
    source: AutoCorpusSource;
    inputFingerprint: string;
    attackClass: string;
    hypothesis: string;
    confidence: number;
    llmUsed: boolean;
    advId: string;
}
export interface CorpusPromotionResult {
    ok: boolean;
    relPath?: string;
    category?: string;
    reason?: string;
}
export interface CorpusPromotionManifest {
    timestamp: string;
    count: number;
    entries: Array<{
        relPath: string;
        category: string;
        advId: string;
        confidence: number;
        source: AutoCorpusSource;
        promotedAt: string;
    }>;
}
export declare function promoteToCorpus(discovery: ThreatLabDiscovery, provenance: CorpusPromotionProvenance): Promise<CorpusPromotionResult>;
/** Batch promote multiple discoveries. */
export declare function promoteBatchToCorpus(discoveries: Array<{
    discovery: ThreatLabDiscovery;
    provenance: CorpusPromotionProvenance;
}>): Promise<CorpusPromotionResult[]>;
/** Get promotion statistics for dashboard. */
export declare function getPromotionStats(): {
    enabled: boolean;
    dailyQuota: {
        used: number;
        max: number;
    };
    totalPromoted: number;
    byCategory: Record<string, number>;
    lastPromotionAt: string | null;
};
/** Exported for test use */
export declare function resetPromotionStateForTests(): void;
//# sourceMappingURL=auto-corpus-promoter.d.ts.map