import type { TableDefinitionModel } from 'rawsql-ts'; import type { FixtureRow } from '../types'; import { TableNameResolver } from './TableNameResolver'; import { type DdlLintMode } from './ddlLint'; import { type DdlViewDefinition } from './DdlViewCatalog'; export interface DdlFixtureLoaderOptions { directories: string[]; extensions?: string[]; tableNameResolver?: TableNameResolver; ddlLint?: DdlLintMode; } export interface DdlProcessedFixture { tableDefinition: TableDefinitionModel; rows?: FixtureRow[]; } export declare class DdlFixtureLoader { private readonly options; private static readonly cache; private readonly resolvedDirectories; private readonly extensions; private readonly cacheKey; private fixtures; private fixturesByName; private views; private loaded; private readonly tableNameResolver?; private readonly ddlLintMode; constructor(options: DdlFixtureLoaderOptions); getFixtures(): DdlProcessedFixture[]; getViewDefinitions(): DdlViewDefinition[]; getFixture(tableName: string): DdlProcessedFixture | undefined; private ensureLoaded; private registerLoadedDefinitions; private registerFixtures; private loadFromDirectories; private collectSqlFiles; private loadFile; private static buildCacheKey; private runDdlLint; private resolveTableKey; }