import { IFilterFactory } from "./IFilterFactory.js";
import { IAbstractDocumentQuery } from "../Session/IAbstractDocumentQuery.js";
import { MethodCall } from "../Session/MethodCall.js";
import { WhereParams } from "../Session/WhereParams.js";
export declare class FilterFactory<T extends object> implements IFilterFactory<T> {
    private readonly _documentQuery;
    constructor(documentQuery: IAbstractDocumentQuery<T>, filterLimit?: number);
    equals(fieldName: string, value: any): IFilterFactory<T>;
    equals(fieldName: string, method: MethodCall): IFilterFactory<T>;
    equals(whereParams: WhereParams): IFilterFactory<T>;
    notEquals(fieldName: string, value: any): IFilterFactory<T>;
    notEquals(fieldName: string, method: MethodCall): IFilterFactory<T>;
    notEquals(whereParams: WhereParams): IFilterFactory<T>;
    greaterThan(fieldName: string, value: any): IFilterFactory<T>;
    greaterThanOrEqual(fieldName: string, value: any): IFilterFactory<T>;
    lessThan(fieldName: string, value: any): IFilterFactory<T>;
    lessThanOrEqual(fieldName: string, value: any): IFilterFactory<T>;
    andAlso(): IFilterFactory<T>;
    orElse(): IFilterFactory<T>;
    not(): IFilterFactory<T>;
    openSubclause(): IFilterFactory<T>;
    closeSubclause(): IFilterFactory<T>;
    private _setFilterLimit;
}
//# sourceMappingURL=FilterFactory.d.ts.map