/**
 * Smart Filter Module
 *
 * Provides intelligent filtering for project imports with JQL/WIQL support,
 * preview mode, and dry-run capabilities.
 *
 * @module cli/helpers/smart-filter
 */
export type FilterProvider = 'jira' | 'ado';
export interface FilterCriteria {
    provider: FilterProvider;
    query?: string;
    projectKeys?: string[];
    excludeArchived?: boolean;
    excludeDeleted?: boolean;
    onlyActive?: boolean;
    customFilters?: Record<string, any>;
}
export interface FilterResult {
    total: number;
    filtered: number;
    excluded: number;
    items: any[];
    criteria: FilterCriteria;
}
/**
 * Validate JQL query syntax (JIRA)
 *
 * Basic validation:
 * - Check for common JQL keywords (project, type, status, etc.)
 * - Check for balanced parentheses
 * - Check for valid operators (=, !=, IN, NOT IN, etc.)
 *
 * @param jql - JQL query string
 * @returns Validation result with error message if invalid
 */
export declare function validateJQL(jql: string): {
    valid: boolean;
    error?: string;
};
/**
 * Validate WIQL query syntax (Azure DevOps)
 *
 * Basic validation for WIQL (Work Item Query Language)
 *
 * @param wiql - WIQL query string
 * @returns Validation result with error message if invalid
 */
export declare function validateWIQL(wiql: string): {
    valid: boolean;
    error?: string;
};
/**
 * Prompt user for filter criteria
 *
 * Interactive prompts for:
 * - Filter type (JQL/WIQL, project keys, or none)
 * - Exclude archived projects
 * - Exclude deleted projects
 * - Only active projects
 *
 * @param provider - Filter provider (jira or ado)
 * @returns Filter criteria
 */
export declare function promptFilterCriteria(provider: FilterProvider): Promise<FilterCriteria>;
/**
 * Apply filters to project list
 *
 * @param projects - List of projects to filter
 * @param criteria - Filter criteria
 * @returns Filtered project list
 */
export declare function applyFilters(projects: any[], criteria: FilterCriteria): FilterResult;
/**
 * Preview filter results
 *
 * Shows summary of what would be imported with current filter criteria.
 *
 * @param result - Filter result
 * @returns User confirmation to proceed
 */
export declare function previewFilterResults(result: FilterResult): Promise<boolean>;
//# sourceMappingURL=smart-filter.d.ts.map