import { IFileSystem } from '../interfaces'; export interface ADR { id: string; number: number; title: string; status: ADRStatus; date: string; context: string; decision: string; consequences: ADRConsequences; relatedAdrs?: string[]; tags?: string[]; } export type ADRStatus = 'Proposed' | 'Accepted' | 'Deprecated' | 'Superseded' | 'Amended'; export interface ADRConsequences { positive: string[]; negative: string[]; neutral?: string[]; } export declare class ADRService { private readonly fs; private readonly adrDir; constructor(fs: IFileSystem, basePath: string); create(input: CreateADRInput, dryRun?: boolean): Promise; list(): Promise; get(idOrNumber: string): Promise; updateStatus(id: string, status: ADRStatus, reason?: string, dryRun?: boolean): Promise; getMatrix(): Promise; private getNextNumber; private updateMatrix; private renderMarkdown; } export interface CreateADRInput { title: string; context: string; decision: string; consequences: ADRConsequences; relatedAdrs?: string[]; tags?: string[]; } export interface ADCMatrix { adrs: ADR[]; lastUpdated: string; summary: { total: number; proposed: number; accepted: number; deprecated: number; }; }