/**
 * Azure DevOps Importer
 *
 * Imports Azure DevOps work items as External Items with WIQL support and pagination.
 * Handles PAT authentication and converts ADO-specific data to platform-agnostic format.
 */
import type { Importer, ExternalItem, ImportConfig } from './external-importer.js';
/**
 * Azure DevOps Importer Implementation
 */
export declare class ADOImporter implements Importer {
    readonly platform: "ado";
    private orgUrl;
    private project;
    private pat;
    constructor(orgUrl: string, project: string, pat?: string);
    /**
     * Import all work items matching config
     */
    import(config?: ImportConfig): Promise<ExternalItem[]>;
    /**
     * Paginate through work items using WIQL with date-based pagination for 100K+ items
     *
     * CRITICAL FIX (2025-12-01): Also fetch missing parent items (Epics/Capabilities)
     * Problem: If a parent Epic wasn't modified recently, it won't be in the WIQL results,
     * causing all its child User Stories to be grouped into one generic folder.
     * Solution: After fetching all items, identify missing parents and fetch them separately.
     *
     * ENHANCEMENT (2025-12-01): Date-based pagination to handle 100K+ items
     * ADO WIQL has a 20K ID limit per query. For larger projects, we need to:
     * 1. Run initial WIQL query (up to 20K IDs)
     * 2. If we hit the limit, run another query with older date range
     * 3. Keep paginating by date until we have all items or hit maxItems
     */
    paginate(config?: ImportConfig): AsyncGenerator<ExternalItem[], void, unknown>;
    /**
     * Find parent IDs that are referenced but not in our fetched items
     * These are typically Epics/Capabilities that weren't modified recently
     */
    private findMissingParentIds;
    /**
     * Fetch work items in batch (up to 200 IDs)
     */
    private getWorkItemsBatch;
    /**
     * Make authenticated ADO API request
     */
    private makeADORequest;
    /**
     * Convert ADO work item to ExternalItem
     */
    private convertToExternalItem;
    /**
     * Map ADO work item type to ExternalItem type
     */
    private mapWorkItemType;
    /**
     * Map ADO state to ExternalItem status
     */
    private mapState;
    /**
     * Map ADO priority (1-4) to ExternalItem priority (P0-P4)
     */
    private mapPriority;
    /**
     * Parse acceptance criteria from ADO HTML format
     * ADO stores ACs as HTML, needs to extract plain text
     */
    private parseAcceptanceCriteria;
}
//# sourceMappingURL=ado-importer.d.ts.map