/**
 * Dialogue File Management for Story 86-3
 *
 * Persistence layer for tandem agent consultation exchanges.
 * Creates, appends, and archives dialogue files following the format
 * defined in ADR-0012 (lines 156-195).
 *
 * All functions are pure or use simple file I/O — no external dependencies.
 */
export type Outcome = 'applied' | 'deferred' | 'rejected';
export interface DialogueHeader {
    storyId: string;
    workflow: string;
    leader: string;
    leaderCharacter?: string;
    partner: string;
    partnerCharacter?: string;
    startedAt: string;
}
export interface DialogueExchange {
    number: number;
    timestamp: string;
    leader: string;
    partner: string;
    question: string;
    recommendation: string;
    confidence: string;
    outcome?: Outcome;
    outcomeNote?: string;
}
export interface DialogueResult {
    success: boolean;
    data?: Record<string, unknown>;
    error?: string;
}
interface ArchiveParams {
    dialoguePath: string;
    archiveDir: string;
    jiraKey?: string;
    storyId?: string;
}
/**
 * Create initial dialogue file content with header and empty summary.
 */
export declare function createDialogueContent(header: DialogueHeader): string;
/**
 * Format a single exchange as markdown block.
 */
export declare function formatExchange(exchange: DialogueExchange): string;
/**
 * Parse exchanges from dialogue file content.
 */
export declare function parseDialogueExchanges(content: string): DialogueExchange[];
/**
 * Generate summary markdown section from exchanges.
 */
export declare function generateSummary(exchanges: DialogueExchange[], startedAt: string): string;
/**
 * Append an exchange to a dialogue file. Creates the file if missing.
 */
export declare function appendExchangeToFile(dialoguePath: string, exchange: DialogueExchange, header?: DialogueHeader): Promise<DialogueResult>;
/**
 * Update the outcome of a specific exchange in the dialogue file.
 */
export declare function updateOutcomeInFile(dialoguePath: string, exchangeNum: number, outcome: Outcome, note?: string): Promise<DialogueResult>;
/**
 * Regenerate the summary section in an existing dialogue file.
 */
export declare function refreshSummary(dialoguePath: string): Promise<DialogueResult>;
/**
 * Copy dialogue file to archive directory.
 */
export declare function archiveDialogue(params: ArchiveParams): Promise<DialogueResult>;
export {};
//# sourceMappingURL=dialogue-manager.d.ts.map