///
import { OneOrMany } from '../util/types';
import { QueryFilterOperator } from '@google-cloud/datastore/query';
export declare type Filter = OneOrMany>;
export interface ComplexFilter {
op: QueryFilterOperator;
value: T;
}
export declare type Filters = {
[K in keyof T]?: T[K] extends Array ? Filter : T[K] extends object ? Filters : Filter;
};
export declare function isComplexFilter(filter: Filter): filter is ComplexFilter;
interface Query {
filter(path: string, operation: QueryFilterOperator, value: any): this;
filter(path: string, value: any): this;
}
export declare const buildFilters: (query: Q, filters: Filters, pathPrefix?: string) => Q;
export {};