/**
 * Sanitizes and optimizes search queries for Microsoft Graph API
 * Handles character restrictions and converts problematic queries
 */
export declare class SearchQuerySanitizer {
    /**
     * Detects if a search query contains problematic characters
     * Microsoft Graph search has issues with numbers and some special characters
     */
    static hasProblematicCharacters(query: string): boolean;
    /**
     * Sanitizes a search query by removing or replacing problematic characters
     * @param query Raw search query
     * @returns Sanitized query safe for Graph API search
     */
    static sanitizeForSearch(query: string): string;
    /**
     * Extracts important tokens from a query for alternative search strategies
     */
    static extractSearchTokens(query: string): {
        years: string[];
        emails: string[];
        keywords: string[];
        hasNumbers: boolean;
    };
    /**
     * Converts a search query with numbers into a filter expression
     * This is more reliable than search for queries containing years, dates, etc.
     */
    static convertToFilterExpression(query: string): string;
    /**
     * Suggests alternative search strategies based on the query
     */
    static suggestSearchStrategy(query: string): {
        strategy: 'search' | 'filter' | 'hybrid';
        sanitizedQuery?: string;
        filterExpression?: string;
        warnings: string[];
        suggestions: string[];
    };
}
//# sourceMappingURL=searchQuerySanitizer.d.ts.map