import { SupportedDbtAdapter } from '../types/dbt';
import { DimensionType, MetricType, type CompiledCustomSqlDimension, type CompiledField, type TableCalculation } from '../types/field';
import { FilterOperator, type DateFilterRule, type FilterRule } from '../types/filter';
import { type WeekDay } from '../utils/timeFrames';
export declare const renderStringFilterSql: (dimensionSql: string, filter: FilterRule<FilterOperator, unknown>, stringQuoteChar: string) => string;
export declare const renderNumberFilterSql: (dimensionSql: string, filter: FilterRule<FilterOperator, unknown>) => string;
export declare const renderDateFilterSql: (dimensionSql: string, filter: DateFilterRule, adapterType: SupportedDbtAdapter, timezone: string, dateFormatter?: (date: Date) => string, startOfWeek?: WeekDay | null | undefined) => string;
export declare const renderBooleanFilterSql: (dimensionSql: string, filter: FilterRule<FilterOperator, unknown>) => string;
export declare const renderTableCalculationFilterRuleSql: (filterRule: FilterRule<FilterOperator, unknown>, field: TableCalculation | undefined, fieldQuoteChar: string, stringQuoteChar: string, escapeString: (string: string) => string, adapterType: SupportedDbtAdapter, startOfWeek: WeekDay | null | undefined, timezone?: string) => string;
export declare const renderFilterRuleSql: (filterRule: FilterRule<FilterOperator, unknown>, fieldType: DimensionType | MetricType, fieldSql: string, stringQuoteChar: string, escapeString: (string: string) => string, startOfWeek: WeekDay | null | undefined, adapterType: SupportedDbtAdapter, timezone?: string) => string;
export declare const renderFilterRuleSqlFromField: (filterRule: FilterRule<FilterOperator, unknown>, field: CompiledField | CompiledCustomSqlDimension, fieldQuoteChar: string, stringQuoteChar: string, escapeString: (string: string) => string, startOfWeek: WeekDay | null | undefined, adapterType: SupportedDbtAdapter, timezone?: string) => string;
//# sourceMappingURL=filtersCompiler.d.ts.map