import type { RelationNode, SelectStatementNode } from "./nodes.js";
export type ColumnUsageSummary = {
    readonly columns: Set<string>;
    requiresAllColumns: boolean;
};
export type TableColumnUsageMap = Map<string, ColumnUsageSummary>;
/**
 * Collects the column-level requirements for each relation referenced within a
 * select statement. Results are keyed by normalized alias/table names so that
 * callers can align usage with table references discovered elsewhere.
 */
export declare function collectTableColumnUsage(select: SelectStatementNode): TableColumnUsageMap;
export declare function resolveRelationAlias(relation: RelationNode): string | null;
//# sourceMappingURL=column-usage.d.ts.map