import type { SearchOptions, SearchResult, APIGroupConfig, AuthProvider, ScopeFilteringConfig } from '@mondaydotcomorg/atp-protocol';
/**
 * SearchEngine provides semantic and keyword-based search over available API functions.
 */
export declare class SearchEngine {
    private index;
    private apiGroups;
    /**
     * Creates a new SearchEngine instance.
     * @param apiGroups - Array of API group configurations to index
     */
    constructor(apiGroups?: APIGroupConfig[]);
    /**
     * Builds the search index from API group configurations.
     * @param apiGroups - API groups to index
     */
    private buildIndex;
    /**
     * Searches for API functions matching the query.
     * Tool rules are automatically applied from the request scope.
     * @param options - Search options including query and filters
     * @param userId - Optional user ID for scope filtering
     * @param authProvider - Optional auth provider for checking user scopes
     * @param scopeFilteringConfig - Optional scope filtering configuration
     * @returns Array of search results sorted by relevance
     */
    search(options: SearchOptions, userId?: string, authProvider?: AuthProvider, scopeFilteringConfig?: ScopeFilteringConfig): Promise<SearchResult[]>;
    /**
     * Checks if a user has the required scopes for a function.
     * @param item - Indexed function to check
     * @param userId - User ID
     * @param authProvider - Auth provider for looking up credentials
     * @param config - Scope filtering configuration
     * @returns True if function should be included in results
     */
    private checkScopes;
    /**
     * Extracts keywords from a text string.
     * @param text - Text to extract keywords from
     * @returns Array of lowercase keywords
     */
    private extractKeywords;
    /**
     * Generates a function signature string.
     * @param func - Function definition
     * @returns Signature string
     */
    private generateSignature;
}
//# sourceMappingURL=index.d.ts.map