/**
 * Brownfield Discrepancy Manager
 *
 * Manages persistent storage and lifecycle of brownfield discrepancies.
 * Uses batched folder structure for scalability (supports 10,000+ discrepancies).
 *
 * @module core/discrepancy/brownfield-manager
 */
import { Logger } from '../../utils/logger.js';
import { BrownfieldDiscrepancy, BrownfieldDiscrepancyCreate, BrownfieldDiscrepancyFilter, BrownfieldDiscrepancyResolution, BrownfieldDiscrepancyStats, BrownfieldDiscrepancyUpdate } from './brownfield-types.js';
/**
 * Manages brownfield discrepancies with persistent storage.
 */
export declare class BrownfieldDiscrepancyManager {
    private readonly projectPath;
    private readonly basePath;
    private readonly logger;
    private index;
    constructor(projectPath: string, options?: {
        logger?: Logger;
    });
    /**
     * Initialize folder structure if needed.
     */
    ensureFolderStructure(): Promise<void>;
    /**
     * Create a new discrepancy with auto-generated ID.
     */
    createDiscrepancy(data: BrownfieldDiscrepancyCreate): Promise<BrownfieldDiscrepancy>;
    /**
     * Get a discrepancy by ID.
     */
    getDiscrepancy(id: string): Promise<BrownfieldDiscrepancy | null>;
    /**
     * Update a discrepancy.
     */
    updateDiscrepancy(id: string, updates: BrownfieldDiscrepancyUpdate): Promise<BrownfieldDiscrepancy | null>;
    /**
     * Delete a discrepancy.
     */
    deleteDiscrepancy(id: string): Promise<boolean>;
    /**
     * List discrepancies with optional filtering.
     */
    listDiscrepancies(filter?: BrownfieldDiscrepancyFilter): Promise<BrownfieldDiscrepancy[]>;
    /**
     * Get summary statistics.
     */
    getStats(): Promise<BrownfieldDiscrepancyStats>;
    /**
     * Link discrepancy to an increment.
     * Returns true if successfully linked, false if discrepancy not found.
     */
    linkToIncrement(discrepancyId: string, incrementId: string): Promise<boolean>;
    /**
     * Resolve a discrepancy.
     */
    resolveDiscrepancy(id: string, resolution: BrownfieldDiscrepancyResolution): Promise<void>;
    /**
     * Ignore a discrepancy.
     */
    ignoreDiscrepancy(id: string, reason: string): Promise<void>;
    /**
     * Create multiple discrepancies in batch.
     */
    createBatch(discrepancies: BrownfieldDiscrepancyCreate[]): Promise<BrownfieldDiscrepancy[]>;
    /**
     * Archive resolved discrepancies to YYYY-MM folders.
     */
    archiveResolved(): Promise<number>;
    /**
     * Get the batch folder name for a numeric ID.
     * Example: 1-100 → "0001-0100", 101-200 → "0101-0200"
     */
    getBatchFolder(numericId: number): string;
    private getNextId;
    private getStatusFolder;
    private saveDiscrepancy;
    private moveDiscrepancy;
    private findDiscrepancyPath;
    private readDiscrepancyFile;
    private getAllJsonFiles;
    private matchesFilter;
    private loadIndex;
    private saveIndex;
    private updateIndex;
}
//# sourceMappingURL=brownfield-manager.d.ts.map