/** * Chunking - Text chunking utilities for RAG */ export type ChunkStrategy = 'size' | 'sentence' | 'paragraph' | 'semantic'; export interface ChunkingConfig { chunkSize?: number; overlap?: number; strategy?: ChunkStrategy; separator?: string; } export interface Chunk { content: string; index: number; startOffset: number; endOffset: number; metadata?: Record; } /** * Chunking class for splitting text into chunks */ export declare class Chunking { private chunkSize; private overlap; private strategy; private separator; constructor(config?: ChunkingConfig); /** * Chunk text based on configured strategy */ chunk(text: string): Chunk[]; /** * Chunk by fixed size with overlap */ chunkBySize(text: string): Chunk[]; /** * Chunk by sentences */ chunkBySentence(text: string): Chunk[]; /** * Chunk by paragraphs */ chunkByParagraph(text: string): Chunk[]; /** * Chunk by semantic boundaries (simplified) */ chunkBySemantic(text: string): Chunk[]; /** * Merge small chunks */ mergeSmallChunks(chunks: Chunk[], minSize?: number): Chunk[]; } /** * Create a Chunking instance */ export declare function createChunking(config?: ChunkingConfig): Chunking;