/**
 * ADO Area Path Mapper
 *
 * Maps SpecWeave increments to Azure DevOps area paths for hierarchical organization.
 * Supports granularity selection (Project-level, Team-level, Area-Path-level).
 *
 * @module cli/helpers/ado-area-path-mapper
 */
export type AreaPathGranularity = 'project' | 'team' | 'area-path';
export interface AreaPathMapping {
    incrementId: string;
    project: string;
    team?: string;
    areaPath?: string;
    granularity: AreaPathGranularity;
}
export interface AreaPathMapperOptions {
    organization: string;
    project: string;
    availableTeams?: string[];
    availableAreaPaths?: string[];
}
/**
 * Prompt user to select area path granularity
 *
 * Granularity levels:
 * - project: Map to project only (simplest)
 * - team: Map to project + team
 * - area-path: Map to project + team + specific area path (most granular)
 *
 * @param options - Mapper options
 * @returns Selected granularity
 */
export declare function promptAreaPathGranularity(options: AreaPathMapperOptions): Promise<AreaPathGranularity>;
/**
 * Prompt user to select team (for team-level or area-path-level granularity)
 *
 * @param options - Mapper options
 * @returns Selected team name
 */
export declare function promptTeamSelection(options: AreaPathMapperOptions): Promise<string | undefined>;
/**
 * Prompt user to select area path (for area-path-level granularity)
 *
 * @param options - Mapper options
 * @param team - Selected team
 * @returns Selected area path
 */
export declare function promptAreaPathSelection(options: AreaPathMapperOptions, team?: string): Promise<string | undefined>;
/**
 * Create area path mapping for an increment
 *
 * Interactive flow:
 * 1. Select granularity level
 * 2. Select team (if team-level or area-path-level)
 * 3. Select area path (if area-path-level)
 *
 * @param incrementId - Increment ID
 * @param options - Mapper options
 * @returns Area path mapping
 */
export declare function createAreaPathMapping(incrementId: string, options: AreaPathMapperOptions): Promise<AreaPathMapping>;
/**
 * Format area path for ADO API
 *
 * Converts mapping to ADO-compatible area path format:
 * - project: "ProjectName"
 * - team: "ProjectName\\TeamName"
 * - area-path: "ProjectName\\TeamName\\AreaPath"
 *
 * @param mapping - Area path mapping
 * @returns Formatted area path string
 */
export declare function formatAreaPath(mapping: AreaPathMapping): string;
/**
 * Validate area path exists in ADO
 *
 * Makes API call to verify area path is valid before creating work item.
 *
 * @param areaPath - Formatted area path
 * @param credentials - ADO credentials
 * @returns true if valid, false otherwise
 */
export declare function validateAreaPath(areaPath: string, credentials: {
    organization: string;
    pat: string;
    project: string;
}): Promise<boolean>;
//# sourceMappingURL=ado-area-path-mapper.d.ts.map