import type { TableFixture, SchemaRegistry } from '../types'; import type { ColumnAffinity } from './ColumnAffinity'; import { TableNameResolver } from './TableNameResolver'; export interface ColumnDefinition { name: string; typeName: string; affinity: ColumnAffinity; } export interface NormalizedFixture { name: string; columns: ColumnDefinition[]; rows: (string | number | bigint | Buffer | null)[][]; } export type FixtureColumnSource = 'fixture' | 'schema'; export interface FixtureColumnDescription { columns: ColumnDefinition[]; source: FixtureColumnSource; } /** * Normalizes and indexes fixture metadata so rewrites can resolve tables and columns deterministically. */ export declare class FixtureStore { private readonly schemaRegistry?; private readonly tableNameResolver?; private readonly baseMap; constructor(fixtures?: TableFixture[], schema?: SchemaRegistry, tableNameResolver?: TableNameResolver); /** * Builds a fixture lookup map that layers per-call overrides on top of the base fixtures. * @param overrides - Additional fixtures to merge with the base set. * @returns A map keyed by normalized table names. */ withOverrides(overrides?: TableFixture[]): Map; /** * Retrieves column metadata for the requested table from fixtures or registered schema information. * @param tableName - The table identifier potentially qualified by schema. * @returns Column details assembled from fixtures or schema registry entries. */ describeColumns(tableName: string): FixtureColumnDescription | undefined; private buildMap; private getRegisteredSchema; private normalizeFixture; private resolveTableKey; private resolveLookupCandidates; private buildColumns; private buildColumnsFromSchema; private buildColumnsFromDefinition; private buildColumnDefinition; private isTableDefinitionModel; private normalizeRow; private normalizeValue; }