/** * SQL Mode 2 — SELECT Translator * * Translates SELECT/FROM/WHERE/ORDER BY/LIMIT/OFFSET/DISTINCT/aliases/IS NULL * into MongoDB aggregate pipeline stages. */ export declare function translateWhere(where: unknown): Record; export declare function translateColumns(columns: unknown, tableAliases: Map): Record | null; export interface OrderByResult { sort: Record; /** Computed fields that need $addFields before the $sort */ computedFields?: Record; } export declare function translateOrderBy(orderBy: unknown, tableAliases: Map): OrderByResult | null; export declare function translateLimit(limit: unknown): { limit?: number; skip?: number; }; export declare function translateDistinct(columns: unknown, tableAliases: Map): Record[] | null; export declare function likeToRegex(pattern: string): string; /** * Convert an AST node to a MongoDB aggregation expression. * Used for complex expressions in WHERE ($expr), ORDER BY, and GROUP BY. */ export declare function astToMongoAggExpr(node: Record): unknown; export declare function extractFieldName(node: Record): string; export declare function extractValue(node: Record): unknown; export declare function extractInList(node: Record): unknown[]; export declare function resolveColumnRef(expr: Record, tableAliases: Map): string; export declare function buildTableAliases(from: unknown): Map; /** * Build the full aggregate pipeline stages from a SELECT AST. */ export declare function buildSelectPipeline(ast: Record): Record[]; /** * Extract collection name from AST FROM clause. * For derived tables (subquery in FROM), returns the inner subquery's collection. */ export declare function extractCollection(ast: Record): string; /** * Check if the FROM clause contains a derived table (subquery in FROM). * Returns the derived table info if found. */ export declare function extractDerivedTable(from: unknown): { subAst: Record; alias: string; } | null; //# sourceMappingURL=select.d.ts.map