import { Indexer } from "./Indexer.js"; import { QueryBuilder } from "./QueryBuilder.js"; import { SourceConfig, SourceConfigResolver, SourceRecord } from "./SourceConfigResolver.js"; import { StorageRepository } from "./repository/StorageRepository.js"; import { Validator } from "./validator/Validator.js"; import { LoggerProvider } from "./logger/LoggerProvider.js"; import { ParserOptions } from "./parser/index.js"; /** * Initialization options for StaticQL. */ /** * Initialization options for StaticQL. */ export interface StaticQLInitOptions { /** Validator for content schema */ validator?: Validator; /** Logger for debug/info/warning output */ logger?: LoggerProvider; /** * Parsers registry to override or extend default parsers * (e.g. CSV, XML, custom formats). */ parsers?: Record any>; } /** * Configuration for StaticQL. */ export interface StaticQLConfig { sources: Record; } /** * The core class for querying structured static content. */ export declare class StaticQL { private config; private repository; private sourceConfigResolver; private options; private validator; private logger; constructor(config: StaticQLConfig, repository: StorageRepository, sourceConfigResolver: SourceConfigResolver, options?: StaticQLInitOptions); /** * Creates a type-safe QueryBuilder for the specified source. * * @param sourceName - Name of the source. * @returns A new QueryBuilder instance. */ from(sourceName: string): QueryBuilder; /** * Saves index files for all sources * to the configured output directory. * * @param customIndexers - Optional custom indexer callbacks for _custom indexes. * @throws If writing to the storage fails. */ saveIndexes(customIndexers?: Record any>): Promise; /** * Returns the configuration object used by StaticQL. */ getConfig(): StaticQLConfig; /** * Returns an Indexer instance. * Useful for incremental index updates. */ getIndexer(customIndexers?: Record any>): Indexer; }