export interface VectorSearchOptions {
    query: string;
    embedding?: number[];
    limit?: number;
    threshold?: number;
    filters?: {
        type?: string;
        source?: string;
        area?: string;
        region?: string;
        dateFrom?: string;
        dateTo?: string;
        seen?: boolean;
    };
    includeAdjacent?: boolean;
}
export interface ContentSearchResult {
    id: string;
    type: string;
    title: string;
    source: string | null;
    source_url: string | null;
    image_url: string | null;
    data: any;
    seen: boolean;
    rank: number | null;
    content_date: string | null;
    primary_area?: string;
    applicable_areas?: string[];
    area_relevance_matrix?: Record<string, number>;
    similarity: number;
    area_relevance?: number;
}
export interface ChunkSearchResult {
    content_id: string;
    chunk_id: string;
    chunk_index: number;
    chunk_text: string;
    metadata: any;
    similarity: number;
}
/**
 * Improved search type detection logic
 */
declare function detectSearchType(query: string): string;
/**
 * Search content using vector similarity with adjacent area support
 */
export declare function searchContent(options: VectorSearchOptions): Promise<ContentSearchResult[]>;
/**
 * Search content chunks for longer documents
 */
export declare function searchContentChunks(query: string, limit?: number, threshold?: number): Promise<ChunkSearchResult[]>;
/**
 * Hybrid search combining vector and full-text search with adjacent area support
 */
export declare function hybridSearch(query: string, options?: {
    vectorWeight?: number;
    textWeight?: number;
    limit?: number;
    filters?: VectorSearchOptions['filters'];
    includeAdjacent?: boolean;
}): Promise<ContentSearchResult[]>;
/**
 * Get similar content based on an existing content ID
 */
export declare function findSimilarContent(contentId: string, limit?: number): Promise<ContentSearchResult[]>;
/**
 * Update content metadata (seen, rank) after user interaction
 */
export declare function updateContentMetadata(contentId: string, updates: {
    seen?: boolean;
    rank?: number;
}): Promise<void>;
export { detectSearchType };
