/**
 * 품질 측정 배치 작업
 *
 * 일일 품질 측정을 수행하는 배치 작업입니다.
 *
 * 주요 기능:
 * - 모든 네임스페이스에 대한 품질 측정 실행
 * - 측정 결과 기록 및 리포트 생성
 * - 경고 및 실패 지표 감지
 * - 로깅 및 통계 수집
 *
 * PRD FR-5.6: 일일 품질 측정 배치 작업 구현
 */
import Database from 'better-sqlite3';
import { QualityAssuranceService } from '../../../domains/monitoring/services/quality-assurance/quality-assurance-service.js';
import type { BatchJobResult } from '../batch-scheduler.js';
/**
 * 품질 측정 배치 작업 설정
 */
export interface QualityMeasurementBatchJobConfig {
    /**
     * 측정 타입 (기본값: 'batch')
     */
    measurementType?: 'batch' | 'test' | 'manual';
    /**
     * 측정 컨텍스트 (기본값: 'default')
     */
    context?: string;
    /**
     * 측정할 네임스페이스 목록 (지정하지 않으면 모든 네임스페이스)
     */
    namespaces?: string[] | undefined;
    /**
     * 측정 결과를 기록할지 여부 (기본값: true)
     */
    record?: boolean;
    /**
     * 리포트 생성 여부 (기본값: true)
     */
    generateReport?: boolean;
    /**
     * 리포트 형식 (기본값: 'markdown')
     */
    reportFormat?: 'markdown' | 'json' | 'html';
    /**
     * 작업 타임아웃 (밀리초, 기본값: 5분)
     */
    timeout?: number;
}
/**
 * 품질 측정 배치 작업 결과
 */
export interface QualityMeasurementBatchResult extends BatchJobResult {
    jobType: 'quality_measurement_batch';
    details: {
        /**
         * 측정된 네임스페이스 수
         */
        namespacesMeasured: number;
        /**
         * 전체 지표 수
         */
        totalMetrics: number;
        /**
         * 통과한 지표 수
         */
        passedMetrics: number;
        /**
         * 실패한 지표 수
         */
        failedMetrics: number;
        /**
         * 경고 지표 수
         */
        warningMetrics: number;
        /**
         * 전체 상태
         */
        overallStatus: 'pass' | 'warning' | 'fail';
        /**
         * 리포트 파일 경로 (생성된 경우)
         */
        reportFilePath?: string;
    };
}
/**
 * 품질 측정 배치 작업 클래스
 */
export declare class QualityMeasurementBatchJob {
    private config;
    private qualityService;
    constructor(config?: QualityMeasurementBatchJobConfig, dependencies?: {
        qualityService?: QualityAssuranceService;
    });
    /**
     * 배치 작업 실행
     *
     * PRD FR-5.6: 일일 품질 측정 배치 작업
     * - 모든 네임스페이스에 대한 품질 측정 실행
     * - 측정 결과 기록 및 리포트 생성
     * - 경고 및 실패 지표 감지
     *
     * @param db 데이터베이스 연결
     * @returns 배치 작업 결과
     */
    execute(db: Database.Database): Promise<QualityMeasurementBatchResult>;
}
//# sourceMappingURL=quality-measurement-batch-job.d.ts.map