import type { DocumentationType, NoteTag, RiskLevel, Difficulty, SpecStatus } from './common.js';
import type { SpecDiagram } from './spec.js';
/** Metadata about a context note used for doc-health analysis. */
export interface NoteInfo {
    key: string;
    specId?: string;
    tags?: NoteTag[];
    createdAt: string;
}
/** Metadata about a spec used for doc-health analysis. */
export interface SpecInfo {
    id: string;
    status: string;
    updatedAt?: string;
}
export interface GeneratedDocument {
    type: DocumentationType;
    title: string;
    path: string;
    content: string;
    audience: string;
    sections: DocSection[];
    diagrams: SpecDiagram[];
    relatedSpecs: string[];
}
export interface DocSection {
    title: string;
    level: number;
    content: string;
    screenshots?: string[];
}
export interface GenerateDocsResult {
    documents: GeneratedDocument[];
    message: string;
}
export interface GenerateDocsInput {
    projectId: string;
    specId?: string;
    types: DocumentationType[];
    /** Single documentation type for routing — shorthand for types: [docType] */
    docType?: DocumentationType;
    audience?: 'end-user' | 'developer' | 'stakeholder' | 'ops';
    format?: 'markdown' | 'html' | 'pdf-ready';
    language?: string;
}
/** All supported documentation types (alias for DocumentationType). */
export type DocType = DocumentationType;
/** Target audience for a generated document. */
export type DocAudience = 'end-user' | 'developer' | 'devops' | 'team-lead' | 'new-member';
/** Template metadata describing the structure and tone for a documentation type. */
export interface DocTemplate {
    docType: DocumentationType;
    audience: DocAudience;
    sections: string[];
    tone: 'technical' | 'non-technical' | 'operational' | 'collaborative';
    mermaidSupported: boolean;
}
export interface ExecutiveSummarySpecEntry {
    id: string;
    title: string;
    status: SpecStatus;
    difficulty: Difficulty;
    risk: RiskLevel;
    devHours: number;
    reviewHours: number;
    totalCostUsd: number;
    tags: string[];
    actualDevHours?: number;
    actualTotalCostUsd?: number;
    completedAt?: string;
}
export interface AggregatedEstimation {
    totalDevHours: number;
    totalReviewHours: number;
    totalHumanCostUsd: number;
    totalApiCostUsd: number;
    totalCostUsd: number;
    specCount: number;
}
export interface RiskProfile {
    low: number;
    medium: number;
    high: number;
    critical: number;
    highlights: string[];
}
export interface ArchitectureSnapshot {
    language: string;
    framework: string;
    database: string;
    layers: string[];
}
export interface ExecutiveSummaryData {
    projectName: string;
    generatedAt: string;
    architecture: ArchitectureSnapshot;
    specs: ExecutiveSummarySpecEntry[];
    estimation: AggregatedEstimation;
    riskProfile: RiskProfile;
}
/** An embedded Mermaid diagram within a generated document. */
export interface MermaidDiagram {
    type: 'flowchart' | 'sequence' | 'er' | 'class' | 'state' | 'graph';
    content: string;
    title: string;
}
//# sourceMappingURL=docs.d.ts.map