import { QueryIR } from '../ir.js';
/**
 * Gives every query-source placement its own runtime source identities.
 *
 * A reused builder describes the same query meaning, but each FROM, JOIN,
 * UNION, or include placement owns an independent position in the dataflow
 * graph. Expressions are immutable and can remain shared; CollectionRefs
 * cannot because their sourceId identifies that lexical position.
 */
export declare function cloneQueryForPlacement(query: QueryIR): QueryIR;
