import type { ContentType } from '../config-schema.js'; import type { Chunk } from '../types.js'; /** * All chunkers implement this interface. * Given file content and metadata, produce an array of Chunks. */ export interface Chunker { readonly strategy: string; chunk(content: string, filePath: string, type: ContentType): Chunk[]; } /** * Resolve a strategy name to a fresh chunker instance via the registry. * * Pre-ADR-097 the strategy → constructor mapping was a closed `Record` * keyed by the closed `ChunkStrategy` Zod enum (mmnto-ai/totem#1769). * Now the lookup goes through `chunker-registry.ts`, which is populated * by built-ins at module load and extended by Pack registration * callbacks during boot. * * Fail-loud per Tenet 4: an unregistered strategy name names the missing * pack (callers consume the registry's `registeredNames()` for context). * Schema validation (`ChunkStrategySchema`) catches misconfigured strategy * names at config-load time, so reaching this fail-loud at runtime is an * architectural error. */ export declare function createChunker(strategy: string): Chunker; //# sourceMappingURL=chunker.d.ts.map