/**
 * JiraProjectAdapter - Map projects to JIRA projects
 *
 * Subscribes to project events and stores JIRA project key mappings.
 * Note: JIRA projects cannot be created via API, this is a read-only
 * mapping that validates existing JIRA projects.
 */
import { Logger } from '../../../utils/logger.js';
import { Project } from '../types/project-types.js';
import { ProjectRegistry } from '../project-registry.js';
export interface JiraProjectAdapterOptions {
    logger?: Logger;
    domain: string;
    email?: string;
    apiToken?: string;
}
export declare class JiraProjectAdapter {
    private logger;
    private domain;
    private email?;
    private apiToken?;
    private registry?;
    constructor(options: JiraProjectAdapterOptions);
    /**
     * Subscribe to project events from the registry's event bus
     */
    subscribe(registry: ProjectRegistry): void;
    /**
     * Handle ProjectCreated event - store JIRA mapping (no creation)
     */
    private handleProjectCreated;
    /**
     * Handle ProjectUpdated event - revalidate mapping
     */
    private handleProjectUpdated;
    /**
     * Handle ProjectDeleted event - log removal
     */
    private handleProjectDeleted;
    /**
     * Handle ProjectSyncRequested event - validate mappings
     */
    private handleSyncRequested;
    /**
     * Sync a project - validate JIRA mapping
     */
    private syncProject;
    /**
     * Validate and store JIRA mapping
     */
    private validateAndStoreMapping;
    /**
     * Suggest JIRA project key from project ID
     */
    private suggestProjectKey;
    /**
     * Get authorization header
     */
    private getAuthHeader;
    /**
     * Check if JIRA project key exists
     */
    private projectKeyExists;
    /**
     * Discover JIRA projects
     */
    discoverProjects(): Promise<Partial<Project>[]>;
}
//# sourceMappingURL=jira-project-adapter.d.ts.map