/**
 * EmbeddingService - Embedding generation orchestrator
 *
 * CP-001: Complete provenance (EMBEDDING records, chain_depth=3)
 * CP-002: original_text denormalized in every embedding
 * CP-004: Local GPU only - NO cloud fallback
 *
 * ATOMIC: All operations succeed or none are stored. FAIL FAST.
 *
 * @module services/embedding/embedder
 */
import { NomicEmbeddingClient, EmbeddingError } from './nomic.js';
import { DatabaseService } from '../storage/database/index.js';
import { VectorService } from '../storage/vector.js';
import type { Chunk } from '../../models/chunk.js';
interface DocumentInfo {
    documentId: string;
    filePath: string;
    fileName: string;
    fileHash: string;
    documentProvenanceId: string;
}
interface EmbedResult {
    success: boolean;
    embeddingIds: string[];
    provenanceIds: string[];
    totalChunks: number;
    elapsedMs: number;
    error?: string;
}
/**
 * Build a section-aware context prefix from chunk metadata.
 * This prefix is prepended to the chunk text before embedding to make
 * embeddings section-aware WITHOUT changing stored text.
 *
 * @param chunk - Chunk with section/heading/content_types metadata
 * @returns Prefix string (may be empty if no relevant metadata)
 */
export declare function buildSectionPrefix(chunk: Chunk): string;
export declare class EmbeddingService {
    private readonly client;
    private readonly batchSize;
    constructor(options?: {
        batchSize?: number;
        client?: NomicEmbeddingClient;
    });
    embedDocumentChunks(db: DatabaseService, vectorService: VectorService, chunks: Chunk[], documentInfo: DocumentInfo): Promise<EmbedResult>;
    embedSearchQuery(query: string): Promise<Float32Array>;
    processPendingChunks(db: DatabaseService, vectorService: VectorService, documentInfo: DocumentInfo): Promise<EmbedResult>;
    private createProvenance;
}
export declare function getEmbeddingService(): EmbeddingService;
export declare function resetEmbeddingService(): void;
export { EmbeddingError };
//# sourceMappingURL=embedder.d.ts.map