import { CodebaseSearchResult, CodebaseSearchInput, CodebaseSearchConfig } from './types.js';
import '../utils/resilience.js';

/**
 * Core implementation for codebase search
 * Calls Morph rerank service for two-stage semantic search
 */

/**
 * CodebaseSearch client for programmatic semantic search
 */
declare class CodebaseSearchClient {
    private config;
    constructor(config?: {
        apiKey?: string;
        debug?: boolean;
        timeout?: number;
        retryConfig?: any;
    });
    /**
     * Execute a semantic code search
     *
     * @param input - Search parameters including query, repoId, and target directories
     * @param overrides - Optional config overrides for this operation
     * @returns Search results with ranked code matches
     */
    search(input: {
        query: string;
        repoId: string;
        target_directories?: string[];
        explanation?: string;
        limit?: number;
    }, overrides?: any): Promise<CodebaseSearchResult>;
}
/**
 * Execute semantic code search
 */
declare function executeCodebaseSearch(input: CodebaseSearchInput, config: CodebaseSearchConfig): Promise<CodebaseSearchResult>;

export { CodebaseSearchClient, executeCodebaseSearch };
