/**
 * Jira Integration for Issue Tracker Setup
 *
 * Handles Jira Cloud and Jira Server/Data Center authentication
 *
 * NEW (v0.33.0): Aligned with ADO init pattern
 * - Single vs multi-project selection
 * - Per-project board selection (2-level structure)
 * - Configuration stored in config.json (ADR-0050)
 *
 * @module cli/helpers/issue-tracker/jira
 */
import type { JiraCredentials, ExistingCredentials, ValidationResult } from './types.js';
import type { JiraStrategy, JiraInstanceType as ConfigJiraInstanceType, JiraProjectConfig as ConfigJiraProjectConfig, JiraBoardConfig } from '../../../core/config/types.js';
import type { SupportedLanguage } from '../../../core/i18n/types.js';
/**
 * Check for existing Jira credentials
 *
 * @param projectPath - Path to project root
 * @returns Existing credentials or null
 */
export declare function checkExistingJiraCredentials(projectPath: string): Promise<ExistingCredentials | null>;
/**
 * Prompt user for Jira credentials
 *
 * Supports:
 * - Jira Cloud (atlassian.net)
 * - Jira Server/Data Center (self-hosted)
 *
 * @param language - User's language
 * @param projectRoot - Project root path (optional, for cache manager)
 * @returns Credentials or null if skipped
 */
export declare function promptJiraCredentials(language: SupportedLanguage, projectRoot?: string): Promise<JiraCredentials | null>;
/**
 * Validate Jira connection
 *
 * Tests authentication and returns user information
 * Handles rate limiting with retry logic
 *
 * @param credentials - Jira credentials
 * @param maxRetries - Maximum retry attempts (default: 3)
 * @returns Validation result
 */
export declare function validateJiraConnection(credentials: JiraCredentials, maxRetries?: number): Promise<ValidationResult>;
/**
 * Get Jira environment variables for .env file
 *
 * ONLY SECRETS - All non-sensitive config goes to config.json via getJiraConfig()
 *
 * @param credentials - Jira credentials
 * @returns Array of key-value pairs for .env (secrets only)
 */
export declare function getJiraEnvVars(credentials: JiraCredentials): Array<{
    key: string;
    value: string;
}>;
/**
 * Get Jira configuration for config.json
 *
 * Extracts non-sensitive configuration from credentials
 *
 * @param credentials - Jira credentials
 * @returns Partial config object for config.json
 */
export declare function getJiraConfig(credentials: JiraCredentials): {
    issueTracker: {
        provider: 'jira';
        domain: string;
        instanceType?: ConfigJiraInstanceType;
        strategy?: JiraStrategy;
        projects?: ConfigJiraProjectConfig[];
        project?: string;
        components?: string[];
        boards?: JiraBoardConfig[];
    };
};
/**
 * Create Jira project folder structure (similar to ADO)
 *
 * NEW (v0.33.0): Creates living docs folder structure for Jira projects
 * - 1-level: project only (e.g., .specweave/docs/internal/specs/frontend/)
 * - 2-level: project + board (e.g., .specweave/docs/internal/specs/frontend/sprint-board/)
 *
 * @param projectPath - Path to project root
 * @param credentials - Jira credentials with projectConfigs
 */
export declare function createJiraProjectFolders(projectPath: string, credentials: JiraCredentials): void;
/**
 * Show Jira setup complete message
 *
 * @param language - User's language
 */
export declare function showJiraSetupComplete(language: SupportedLanguage): void;
/**
 * Show Jira setup skipped message
 *
 * @param language - User's language
 */
export declare function showJiraSetupSkipped(language: SupportedLanguage): void;
//# sourceMappingURL=jira.d.ts.map