/**
 * GitHub Items Adapter - OPTIMIZED FOR SCALE
 *
 * Three-tier fetching:
 * 1. getOpenCount() - Single API call, returns total (for status)
 * 2. getOpenItems(filter) - Paginated, filtered (for details)
 */
import { ExternalItemsProvider, ExternalProvider, ItemsFilter, PaginatedItemsResult } from '../types.js';
import { Logger } from '../../../utils/logger.js';
export declare class GitHubItemsAdapter implements ExternalItemsProvider {
    private owner;
    private repo;
    private logger;
    constructor(options: {
        owner: string;
        repo: string;
        logger?: Logger;
    });
    /**
     * Create adapter from auto-detected git remote
     */
    static fromGitRemote(options?: {
        logger?: Logger;
    }): Promise<GitHubItemsAdapter | null>;
    getProviderName(): ExternalProvider;
    isConfigured(): Promise<boolean>;
    /**
     * TIER 1: Fast count - single API call
     * Uses GitHub search API to get total_count without fetching items
     */
    getOpenCount(): Promise<number>;
    /**
     * TIER 3: Paginated items - on-demand with filters
     */
    getOpenItems(filter?: ItemsFilter): Promise<PaginatedItemsResult>;
}
//# sourceMappingURL=github-items-adapter.d.ts.map