/**
 * JIRA Items Adapter - OPTIMIZED FOR SCALE
 *
 * Three-tier fetching:
 * 1. getOpenCount() - Single API call, returns total (for status)
 * 2. getOpenItems(filter) - Paginated, filtered (for details)
 *
 * Requires JIRA_BASE_URL, JIRA_EMAIL, JIRA_API_TOKEN in environment
 */
import { ExternalItemsProvider, ExternalProvider, ItemsFilter, PaginatedItemsResult } from '../types.js';
import { Logger } from '../../../utils/logger.js';
export declare class JiraItemsAdapter implements ExternalItemsProvider {
    private baseUrl;
    private email;
    private apiToken;
    private projectKey;
    private logger;
    constructor(options: {
        baseUrl: string;
        email: string;
        apiToken: string;
        projectKey: string;
        logger?: Logger;
    });
    static fromEnv(options?: {
        projectKey?: string;
        logger?: Logger;
    }): JiraItemsAdapter | null;
    getProviderName(): ExternalProvider;
    isConfigured(): Promise<boolean>;
    /**
     * TIER 1: Fast count - single API call with maxResults=0
     * JIRA returns total even when maxResults=0, so we get count without fetching items
     */
    getOpenCount(): Promise<number>;
    /**
     * TIER 3: Paginated items - on-demand with filters
     */
    getOpenItems(filter?: ItemsFilter): Promise<PaginatedItemsResult>;
}
//# sourceMappingURL=jira-items-adapter.d.ts.map