/**
 * Relation Path Resolver
 *
 * Resolves nested relation paths (e.g., "userRoles.role.name") into table joins
 * and column references for use in WHERE clauses.
 *
 */
import type { JoinDefinition, ResolvedPath } from '../types/index.js';
export type { JoinDefinition, ResolvedPath };
/**
 * Resolve a relation path into joins and column reference
 *
 * Example: "userRoles.role.name" becomes:
 * - JOIN userRoles table
 * - JOIN roles table through userRoles
 * - Return roles.name column
 */
export declare function resolveRelationPath(basePath: string, baseTable: any, baseTableName: string, baseAlias?: string, forPermissionCheck?: boolean): ResolvedPath;
/**
 * Check if a field path contains relations (has dots)
 */
export declare function isRelationPath(fieldPath: string): boolean;
/**
 * Apply joins to a Drizzle query builder
 *
 * Note: Drizzle doesn't support aliasing in joins directly with the leftJoin() API,
 * so we need to use raw SQL for the joins when aliases are needed.
 */
export declare function applyJoins(baseQuery: any, joins: JoinDefinition[]): any;
//# sourceMappingURL=relationPathResolver.d.ts.map