import type { LlmJsonlSource, SourceDefinition } from './types'; /** * Pattern every importer-owned table must match. * * WHY: the table name is interpolated into generated SQL (it is not a bind * parameter), so it must be a safe identifier. The `history_etl_` prefix also * namespaces importer tables away from consumer schemas. Both built-in and * custom source definitions are held to this rule. */ export declare const VALID_TABLE_NAME: RegExp; /** Built-in source definitions keyed by source identifier. */ export declare const SOURCE_DEFINITIONS: Readonly>; /** * Resolve a built-in source definition by identifier. * * Throws {@link HistoryImportError} for unknown identifiers so misconfigured * callers fail fast at the seam instead of producing empty imports. */ export declare function getSourceDefinition(source: LlmJsonlSource): SourceDefinition; /** * Validate a caller-supplied source definition before it enters the pipeline. * * WHY: target table names are interpolated into SQL, so both the primary * `targetTable` and any `splitConfig.targetTable` override must match * {@link VALID_TABLE_NAME}. Required structural fields are checked here so the * importer can assume they are present. Built-in definitions skip this — they * are validated by construction. */ export declare function validateSourceDefinition(definition: SourceDefinition): SourceDefinition; /** * Resolve a `string | SourceDefinition` source argument into a validated * {@link SourceDefinition}. Strings resolve from {@link SOURCE_DEFINITIONS} * (unknown strings throw); objects are validated via {@link validateSourceDefinition}. */ export declare function resolveSourceDefinition(input: string | SourceDefinition): SourceDefinition; //# sourceMappingURL=sources.d.ts.map