/**
 * ADOProjectAdapter - Sync projects to Azure DevOps area paths
 *
 * Subscribes to project events and maps SpecWeave projects
 * to ADO area paths. Note: Creating area paths may require
 * admin permissions in ADO.
 */
import { Logger } from '../../../utils/logger.js';
import { Project } from '../types/project-types.js';
import { ProjectRegistry } from '../project-registry.js';
export interface ADOProjectAdapterOptions {
    logger?: Logger;
    organization: string;
    project: string;
    pat?: string;
}
export declare class ADOProjectAdapter {
    private logger;
    private organization;
    private project;
    private pat?;
    private registry?;
    constructor(options: ADOProjectAdapterOptions);
    /**
     * Subscribe to project events from the registry's event bus
     */
    subscribe(registry: ProjectRegistry): void;
    /**
     * Handle ProjectCreated event - map to ADO area path
     */
    private handleProjectCreated;
    /**
     * Handle ProjectUpdated event - update area path mapping
     */
    private handleProjectUpdated;
    /**
     * Handle ProjectDeleted event - note the mapping deletion
     */
    private handleProjectDeleted;
    /**
     * Handle ProjectSyncRequested event - verify mappings
     */
    private handleSyncRequested;
    /**
     * Sync a project to ADO
     */
    private syncProject;
    /**
     * Get area path for a project
     */
    private getAreaPath;
    /**
     * Get authorization header
     */
    private getAuthHeader;
    /**
     * Check if area path exists
     */
    private areaPathExists;
    /**
     * Find area path in classification nodes
     */
    private findAreaPath;
    /**
     * Create area path (requires admin permissions)
     */
    private createAreaPath;
    /**
     * Discover area paths from ADO
     */
    discoverProjects(): Promise<Partial<Project>[]>;
}
//# sourceMappingURL=ado-project-adapter.d.ts.map