/**
 * Search Indexer for the Idea Honing Tool
 *
 * This utility provides search and discovery functionality for specifications,
 * allowing users to find and browse existing specifications.
 */
import { SpecificationDocument } from '../models/specification.js';
/**
 * Search result structure
 */
export interface SearchResult {
    /** Specification identifier */
    id: string;
    /** Specification title */
    title: string;
    /** Specification description */
    description: string;
    /** Project identifier */
    projectId: string;
    /** Feature identifier */
    featureId: string;
    /** Specification status */
    status: string;
    /** Relevance score (0-1) */
    relevance: number;
    /** Matching sections */
    matchingSections: string[];
    /** Matching keywords */
    matchingKeywords: string[];
}
/**
 * Search filter structure
 */
export interface SearchFilter {
    /** Project identifier filter */
    projectId?: string;
    /** Feature identifier filter */
    featureId?: string;
    /** Status filter */
    status?: string;
    /** Author filter */
    author?: string;
    /** Tag filter */
    tag?: string;
    /** Date range filter (start) */
    startDate?: string;
    /** Date range filter (end) */
    endDate?: string;
}
/**
 * Builds the search index for all specifications
 *
 * @returns Promise that resolves when the index is built
 */
export declare function buildSearchIndex(): Promise<void>;
/**
 * Indexes a single specification
 *
 * @param specification - Specification to index
 * @returns Promise that resolves when the specification is indexed
 */
export declare function indexSpecification(specification: SpecificationDocument): Promise<void>;
/**
 * Searches for specifications matching a query
 *
 * @param query - Search query
 * @param filters - Optional search filters
 * @returns Promise that resolves with search results
 */
export declare function searchSpecifications(query: string, filters?: SearchFilter): Promise<SearchResult[]>;
