/**
 * JIRA Board Selection Helper (v0.29.0+)
 *
 * Provides UI prompts for selecting JIRA boards and mapping them to SpecWeave projects.
 * Used during `specweave init` when user selects board-based team organization.
 *
 * @module cli/helpers/issue-tracker/jira-board-selection
 */
import type { JiraBoardMappingConfig } from '../../../core/types/sync-profile.js';
import { JiraClient } from '../../../integrations/jira/jira-client.js';
/**
 * JIRA organization strategy
 */
export type JiraOrganizationStrategy = 'single-project' | 'board-based' | 'multi-project';
/**
 * Board selection result
 */
export interface BoardSelectionResult {
    /** Selected organization strategy */
    strategy: JiraOrganizationStrategy;
    /** Board mapping config (only for board-based strategy) */
    boardMapping?: JiraBoardMappingConfig;
    /** Selected project keys (for multi-project strategy) */
    projectKeys?: string[];
    /** Single project key (for single-project strategy) */
    projectKey?: string;
}
/**
 * Prompt user to select JIRA organization strategy
 *
 * @param projectCount Number of projects user has access to
 * @returns Selected strategy
 */
export declare function promptOrganizationStrategy(projectCount: number): Promise<JiraOrganizationStrategy>;
/**
 * Fetch and display boards for a JIRA project
 * Prompts user to select boards and map them to SpecWeave projects
 *
 * @param client JIRA client for API calls
 * @param projectKey JIRA project key (e.g., "CORE")
 * @param projectRoot Path to SpecWeave project root (for existing project IDs)
 * @returns Board mapping configuration
 */
export declare function promptBoardSelection(client: JiraClient, projectKey: string, projectRoot: string): Promise<JiraBoardMappingConfig | null>;
/**
 * Complete board selection flow
 * Orchestrates strategy selection and board mapping
 *
 * @param credentials JIRA credentials (partial)
 * @param selectedProjects Already selected JIRA projects
 * @param projectRoot Path to SpecWeave project root
 * @returns Board selection result
 */
export declare function completeBoardSelectionFlow(credentials: {
    domain: string;
    email: string;
    token: string;
    instanceType: 'cloud' | 'server';
}, selectedProjects: string[], projectRoot: string): Promise<BoardSelectionResult>;
/**
 * Display summary of board mapping
 */
export declare function displayBoardMappingSummary(mapping: JiraBoardMappingConfig): void;
//# sourceMappingURL=jira-board-selection.d.ts.map