import { SqlComponent } from "../models/SqlComponent";
/**
 * Utility class for detecting hardcoded parameters in SQL queries.
 *
 * This class helps identify existing ParameterExpression nodes in parsed SQL,
 * which represent hardcoded parameters like :param_name in the original SQL.
 */
export declare class ParameterDetector {
    /**
     * Extracts all hardcoded parameter names from a parsed SQL query.
     * @param query The parsed SQL query (must be a SqlComponent)
     * @returns Array of parameter names found in the query
     */
    static extractParameterNames(query: SqlComponent): string[];
    /**
     * Checks if a parameter with the given name exists in the query.
     * @param query The parsed SQL query (must be a SqlComponent)
     * @param parameterName The parameter name to check
     * @returns True if the parameter exists, false otherwise
     */
    static hasParameter(query: SqlComponent, parameterName: string): boolean;
    /**
     * Separates filter options into hardcoded parameters and dynamic column filters.
     * @param query The parsed SQL query (must be a SqlComponent)
     * @param filter The filter object from DynamicQueryBuilder options
     * @returns Object with separated hardcoded and dynamic filters
     */
    static separateFilters(query: SqlComponent, filter: Record<string, any>): {
        hardcodedParams: Record<string, any>;
        dynamicFilters: Record<string, any>;
    };
}
