import type { DiagnosisBundle, DiagnosisEvidenceRef, DiagnosisLifecycle } from './types.js';
export interface ObserveDiagnosisInput {
    generatedAt: string;
    skillChainAdvisories?: SkillChainAdvisorySource[];
    runtimeChecks?: ObservationRuntimeCheckSource[];
    problemPatterns?: ExperienceProblemPatternSource[];
    reviewerFindings?: ExperienceReviewerReportFindingSource[];
    derivedStandards?: SkillDerivedStandardSource[];
}
export interface SkillChainAdvisorySource {
    skillName: string;
    code: 'hardrules_not_declared' | 'workflows_not_declared' | 'skill_md_not_found';
    message?: string;
    exampleYaml?: string;
    commandTemplate?: string;
    sourceId?: string;
}
export interface ObservationRuntimeCheckSource {
    skillName: string;
    id: string;
    kind: 'hardRule' | 'workflowNode';
    status: 'passed' | 'attention' | 'manual_review';
    title?: string;
    expectation?: string;
    reason?: string;
    evidenceRefs?: DiagnosisEvidenceRef[];
    evidenceSnippets?: string[];
}
export interface ExperienceProblemPatternSource {
    skillName: string;
    bucket: string;
    patternKey: string;
    signalTypes: string[];
    count: number;
    sessionCount: number;
    recentSessionIds?: string[];
    evidenceRefs?: DiagnosisEvidenceRef[];
    lastSeen?: string;
}
export interface ExperienceReviewerReportFindingSource {
    skillName: string;
    id: string;
    judgmentId?: string;
    source: 'deterministic_rule' | 'llm_soft' | 'manual';
    level: 'info' | 'low' | 'medium' | 'high' | 'attention' | 'sample' | 'normal' | 'warning' | 'critical';
    title?: string;
    body?: string;
    ruleSource: string;
    ruleVersion?: string;
    targetKey?: string;
    evidenceRefs?: DiagnosisEvidenceRef[];
}
export interface SkillDerivedStandardSource {
    skillName: string;
    id: string;
    kind: 'hard_rule_candidate' | 'workflow_candidate';
    status: 'pending_review' | 'author_confirmed' | 'rejected' | 'stale';
    title: string;
    body?: string;
    source?: 'llm_soft_standard' | 'manual';
    confidence?: number;
    evidence?: string[];
    model?: string;
    promptVersion?: string;
}
export declare function buildObserveDiagnostics(input: ObserveDiagnosisInput): DiagnosisBundle;
export declare function maxLifecycle(a: DiagnosisLifecycle, b: DiagnosisLifecycle): DiagnosisLifecycle;
//# sourceMappingURL=observe-mapper.d.ts.map