import { DeleteQuery } from '../models/DeleteQuery';
import { SimpleSelectQuery } from '../models/SelectQuery';
import { TableDefinitionModel, TableDefinitionRegistry } from '../models/TableDefinitionModel';
import { FixtureTableDefinition } from './FixtureCteBuilder';
import type { MissingFixtureStrategy } from './InsertResultSelectConverter';
/** Options that control how DELETE-to-SELECT conversion resolves metadata and fixtures. */
export interface DeleteResultSelectOptions {
    /** Optional registry keyed by table name (matching the target table name case). */
    tableDefinitions?: TableDefinitionRegistry;
    /** Optional callback that resolves metadata by table name (useful for schemified targets). */
    tableDefinitionResolver?: (tableName: string) => TableDefinitionModel | undefined;
    /** Optional fixtures that should shadow real tables inside the generated SELECT. */
    fixtureTables?: FixtureTableDefinition[];
    /** Strategy for how missing fixtures should be tolerated. */
    missingFixtureStrategy?: MissingFixtureStrategy;
}
export declare class DeleteResultSelectConverter {
    private static readonly DEFAULT_MISSING_FIXTURE_STRATEGY;
    /**
     * Converts a DELETE (with optional RETURNING) into a SELECT that mirrors its output rows.
     */
    static toSelectQuery(deleteQuery: DeleteQuery, options?: DeleteResultSelectOptions): SimpleSelectQuery;
    private static buildReturningSelectClause;
    private static buildReturningSelectItems;
    private static isWildcardReturningItem;
    private static expandReturningWildcard;
    private static buildDeleteReturningSelectItem;
    private static buildDeleteColumnReference;
    private static composeDeleteColumnReference;
    private static getReturningAlias;
    private static buildCountSelectClause;
    private static buildFromClause;
    private static buildReturningContext;
    private static buildTableContexts;
    private static parseReturningColumnName;
    private static findTableContextForNamespaces;
    private static ensureColumnExists;
    private static resolveTableDefinition;
    private static convertFixtureToTableDefinition;
    private static buildTableDefinitionMap;
    private static extractTargetTableName;
    private static buildFixtureCtes;
    private static collectPhysicalTableReferences;
    private static buildFixtureTableMap;
    private static filterFixtureTablesForReferences;
    private static collectReferencedTablesFromWithClause;
    private static ensureFixtureCoverage;
    private static collectReferencedTables;
    private static collectCteNamesFromWithClause;
    private static getMissingFixtureTables;
    private static mergeWithClause;
    private static normalizeIdentifier;
}
