import type { MissingFixtureStrategy, SqlFormatterOptions } from 'rawsql-ts'; import type { FixtureResolver, TableRowsFixture } from '../types'; import { TableNameResolver } from '../fixtures/TableNameResolver'; import type { DdlViewDefinition } from '../fixtures/DdlViewCatalog'; interface RewriteResult { sql: string; fixturesApplied: string[]; sourceCommand: string | null; isCountWrapper: boolean; } /** Rewrites CRUD/SELECT statements into fixture-backed SELECTs while ignoring unsupported DDL. */ export declare class ResultSelectRewriter { private readonly fixtures; private readonly missingFixtureStrategy; private readonly tableNameResolver?; private readonly viewDefinitions; private readonly formatter; private visitedComponents; constructor(fixtures: FixtureResolver, missingFixtureStrategy?: MissingFixtureStrategy, formatterOptions?: SqlFormatterOptions, tableNameResolver?: TableNameResolver | undefined, viewDefinitions?: DdlViewDefinition[]); rewrite(sql: string, scopedFixtures?: TableRowsFixture[]): RewriteResult; private prepareInputs; private parseStatements; private convertStatement; private convertToResultSelect; private injectFixtures; private applyFixtureAliases; private buildCollisionAwareAliasMap; private toSimpleSelectQuery; private filterFixturesForQuery; private collectReferencedTableNames; private rewriteViewCteReferences; private getLookupCandidates; private getPrimaryKey; private normalizeParameters; private restoreParameters; private rewriteSchemaQualifiers; private rewriteColumnReferencesInQuery; private rewriteSourceExpression; private rewriteSourceComponent; private rewriteSqlComponent; private rewriteValueComponent; private rewriteSwitchCaseArgument; private rewriteWindowFrameExpression; private rewriteColumnReference; } export {};