/**
 * Project Count Fetcher
 *
 * Lightweight query to get project count without fetching full metadata.
 * Optimized for < 1 second response time with retry logic.
 *
 * @module cli/helpers/project-count-fetcher
 */
import { Logger } from '../../utils/logger.js';
/**
 * Supported issue tracker providers
 */
export type ProjectProvider = 'jira' | 'ado';
/**
 * Jira instance type (Cloud vs Server/Data Center)
 */
export type JiraInstanceType = 'cloud' | 'server';
/**
 * Jira credentials
 */
export interface JiraCredentials {
    domain: string;
    email: string;
    token: string;
    instanceType: JiraInstanceType;
}
/**
 * Azure DevOps credentials
 */
export interface AdoCredentials {
    organization: string;
    pat: string;
}
/**
 * Project count options
 */
export interface ProjectCountOptions {
    credentials: JiraCredentials | AdoCredentials;
    provider: ProjectProvider;
    logger?: Logger;
}
/**
 * Project count result
 */
export interface ProjectCountResult {
    total: number;
    accessible: number;
    error?: string;
}
/**
 * Get project count from issue tracker
 *
 * Performs lightweight count-only query (no metadata fetched).
 * Target response time: < 1 second
 *
 * @param options - Project count options
 * @returns Project count result
 *
 * @example
 * ```typescript
 * const result = await getProjectCount({
 *   credentials: { domain: 'example.atlassian.net', email: 'user@example.com', token: 'xyz', instanceType: 'cloud' },
 *   provider: 'jira'
 * });
 * console.log(`Found ${result.total} projects`);
 * ```
 */
export declare function getProjectCount(options: ProjectCountOptions): Promise<ProjectCountResult>;
//# sourceMappingURL=project-count-fetcher.d.ts.map