/**
 * Quality Recorder
 *
 * 품질 측정 결과 기록 서비스
 *
 * 주요 기능:
 * - 측정 결과를 quality_measurement_history 테이블에 저장
 * - 측정 결과를 quality_metrics 테이블에 저장 (최신 값 유지)
 * - Meta-Quality Memory 저장
 *
 * PRD FR-1.1: Recorder 역할 - 측정 결과를 기억으로 저장 (Meta-Quality Memory)
 */
import Database from 'better-sqlite3';
import type { CollectedMetrics } from './quality-metrics-collector.js';
import type { QualityEvaluationResult } from './quality-evaluator.js';
/**
 * 측정 타입
 */
export type MeasurementType = 'batch' | 'test' | 'manual';
/**
 * 측정 이력 상태
 */
export type MeasurementHistoryStatus = 'success' | 'warning' | 'error';
/**
 * 품질 지표 상태
 */
export type QualityMetricStatus = 'pass' | 'warning' | 'fail';
/**
 * 측정 결과 기록 옵션
 */
export interface RecordOptions {
    /**
     * 측정 타입 (기본값: 'batch')
     */
    measurement_type?: MeasurementType;
    /**
     * 컨텍스트 (기본값: 'default')
     */
    context?: string;
}
/**
 * Quality Recorder
 *
 * PRD FR-1.1: Recorder 역할 - 측정 결과를 기억으로 저장 (Meta-Quality Memory)
 */
export declare class QualityRecorder {
    private db;
    constructor(db: Database.Database);
    /**
     * ID 생성 유틸리티
     */
    private generateId;
    /**
     * 측정 결과 기록
     *
     * quality_measurement_history와 quality_metrics 테이블에 저장
     *
     * @param collectedMetrics - 수집된 품질 지표
     * @param evaluationResult - 평가 결과
     * @param options - 기록 옵션
     * @returns 기록된 측정 이력 ID
     */
    recordMeasurement(collectedMetrics: CollectedMetrics, evaluationResult: QualityEvaluationResult, options?: RecordOptions): Promise<string>;
    /**
     * 여러 네임스페이스의 측정 결과 기록
     *
     * @param collectedMetricsList - 수집된 품질 지표 목록
     * @param evaluationResults - 평가 결과 목록
     * @param options - 기록 옵션
     * @returns 기록된 측정 이력 ID 목록
     */
    recordAllMeasurements(collectedMetricsList: CollectedMetrics[], evaluationResults: QualityEvaluationResult[], options?: RecordOptions): Promise<string[]>;
    /**
     * 측정 이력 조회
     *
     * @param namespace - 네임스페이스 필터 (선택적)
     * @param context - 컨텍스트 필터 (선택적)
     * @param from - 시작 시간 (선택적)
     * @param to - 종료 시간 (선택적)
     * @param limit - 최대 개수 (기본값: 100)
     * @returns 측정 이력 목록
     */
    getMeasurementHistory(namespace?: string, context?: string, from?: string, to?: string, limit?: number): Array<{
        id: string;
        measurement_type: string;
        measured_at: string;
        status: string;
        created_at: string;
    }>;
    /**
     * 최신 품질 지표 조회
     *
     * @param namespace - 네임스페이스 필터 (선택적)
     * @param context - 컨텍스트 필터 (선택적)
     * @returns 최신 품질 지표 목록
     */
    getLatestMetrics(namespace?: string, context?: string): Array<{
        metric_namespace: string;
        metric_key: string;
        context: string;
        metric_value: number;
        measured_at: string;
        status: string;
        threshold_value: number | null;
        updated_at: string;
    }>;
}
//# sourceMappingURL=quality-recorder.d.ts.map