import { Relation } from "./types.js"; import { PrefixIndexDefinition, PrefixIndexDepth } from "./utils/typs.js"; /** * User-defined index configuration for a source. */ type IndexDefinition = Record; /** * Input needed to build index config for a source. */ export interface IndexConfigInput { index?: IndexDefinition; customIndex?: IndexDefinition; relations?: Record; } /** * Builds index configurations for sources. * * Extracted from SourceConfigResolver to separate the concern of * index directory/depth resolution from source configuration resolution. */ export declare class IndexConfigFactory { /** * Builds the full index definition for a source, including: * - Default slug index * - User-defined field indexes * - Relation-derived indexes (auto-generated from foreign keys) * - Custom indexes */ buildForSource(sourceName: string, source: IndexConfigInput, allSources: Record): PrefixIndexDefinition; /** * Collects relation entries relevant to a source (both own and referencing). */ private collectRelationalSources; /** * Determines which fields need auto-generated indexes for a relation. */ private getRelationIndexFields; private isDepthInRange; } export {};