/**
 * Automatic Chunking with Overlap (Phase 2A)
 *
 * Sentence-boundary chunking for long memories.
 * Preserves coherent thoughts by never splitting mid-sentence.
 */
interface ChunkingConfig {
    /** Target tokens per chunk (default 200) */
    targetTokens: number;
    /** Minimum tokens to trigger chunking (default 150) */
    minTokens: number;
    /** Number of sentences to overlap between chunks (default 2) */
    overlapSentences: number;
}
interface Chunk {
    /** Chunk content */
    content: string;
    /** 0-based index */
    index: number;
    /** Approximate token count */
    tokenCount: number;
}
interface ChunkResult {
    /** Whether content was chunked */
    chunked: boolean;
    /** Array of chunks (length 1 if not chunked) */
    chunks: Chunk[];
}
/** Default chunking configuration */
declare const DEFAULT_CHUNKING_CONFIG: ChunkingConfig;
/**
 * Chunk content into overlapping segments at sentence boundaries.
 *
 * @param content - The text content to chunk
 * @param config - Chunking configuration
 * @returns ChunkResult with chunks array
 */
declare function chunkContent(content: string, config?: ChunkingConfig): ChunkResult;
/**
 * Get parent content by reassembling chunks.
 * Useful for displaying full context when a chunk is retrieved.
 *
 * @param chunks - Array of chunk contents in order
 * @returns Reassembled parent content (with overlap removed)
 */
declare function reassembleChunks(chunks: string[]): string;

export { type Chunk, type ChunkResult, type ChunkingConfig, DEFAULT_CHUNKING_CONFIG, chunkContent, reassembleChunks };
