import type { ComparisonNode } from "ts-rsql"; export type SelectorConfig = { readonly sql?: string; readonly alias?: string; readonly type?: "string" | "number" | "integer" | "date" | "date-time" | "boolean"; readonly enum?: string[]; readonly sortable?: boolean; }; export type Value = string | number | boolean | string[] | number[]; export type StaticQueryConfig = { readonly mainQuery: string; readonly selectors: Record; readonly concatStrategy: "where" | "and"; readonly lax?: true; }; export type RsqlOperatorPluginToSqlOptions = { readonly selector: string; readonly ast: ComparisonNode; readonly values: Value[]; readonly keywordsLowerCase?: boolean; readonly config: StaticQueryConfig; }; export type RsqlOperatorPlugin = { readonly operator: string; invariant?(ast: ComparisonNode): void; toSql(options: RsqlOperatorPluginToSqlOptions): string; }; export type SqlContext = { readonly values: Value[]; readonly plugins?: RsqlOperatorPlugin[]; readonly keywordsLowerCase?: true; readonly whereKeywordPrefix?: string; readonly detachedOperators?: boolean; } & StaticQueryConfig; //# sourceMappingURL=context.d.ts.map