import { QueryOperation, QueryMethod, Attribute, Facet } from "./instance"; declare const FILTER_OPERATIONS: readonly ["eq", "gt", "lt", "gte", "lte", "between", "begins", "exists", "notExists", "contains", "notContains"]; export declare type BuildQueryParameters = { name: string; query: QueryMethod; attributes: Attribute[]; facets: Facet[]; actions: { remove?: QueryMethod; }; }; export declare type ExecuteQueryOptions = { raw?: boolean; params?: boolean; table?: string; limit: string; filter: FilterOption[]; delete?: boolean; }; declare type FilterOperation = (typeof FILTER_OPERATIONS)[number]; export declare type FilterOption = { attribute: string; operation: FilterOperation; value1: string | number | boolean; value2?: string | number | boolean; }; export declare type RequestFilters = string | string[]; export declare function parseFilterParameterString(value: string): string[]; export declare function getFilterParser(attributes: Attribute[]): (val: string, arr?: FilterOption[]) => FilterOption[]; export declare function parseFilters(attributes: Attribute[], filters: RequestFilters): FilterOption[]; export declare function applyFilter(query: QueryOperation, filters: FilterOption[]): QueryOperation; export declare function isOperation(operation: string): operation is FilterOperation; export declare function parseFacets(args: string[], facets: Facet[]): object; export declare function execute(query: QueryOperation, options: ExecuteQueryOptions): Promise; export declare function query(params: BuildQueryParameters, options: ExecuteQueryOptions, ...args: string[]): Promise; export {}; //# sourceMappingURL=query.d.ts.map