export interface VectorSearchOptions {
    query: string;
    embedding?: number[];
    limit?: number;
    threshold?: number;
    filters?: {
        type?: string;
        source?: string;
        dateFrom?: string;
        dateTo?: string;
        seen?: 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;
    similarity: number;
}
export interface ChunkSearchResult {
    content_id: string;
    chunk_id: string;
    chunk_index: number;
    chunk_text: string;
    metadata: any;
    similarity: number;
}
/**
 * Search content using vector similarity
 */
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
 */
export declare function hybridSearch(query: string, options?: {
    vectorWeight?: number;
    textWeight?: number;
    limit?: number;
    filters?: VectorSearchOptions['filters'];
}): 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>;
