/*!
 * Copyright (c) 2019 Contributors to the Eclipse Foundation
 *
 * See the NOTICE file(s) distributed with this work for additional
 * information regarding copyright ownership.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0
 *
 * SPDX-License-Identifier: EPL-2.0
 */
/**
 * Class that can provide a filter string
 */
export interface Filter {
    /**
     * Returns the filter string.
     *
     * @return the filter in string form.
     */
    toString(): string;
}
/**
 * Combines Filters to an and-Filter. All Filters provided must be fulfilled.
 *
 * @param filter - The filters to combine.
 * @return The and-Filter.
 */
export declare const And: (...filter: Filter[]) => Filter;
/**
 * Combines Filters to an or-Filter. At least one Filter provided must be fulfilled.
 *
 * @param filter - The filters to combine.
 * @return The or-Filter.
 */
export declare const Or: (...filter: Filter[]) => Filter;
/**
 * Negates a Filter to a not-Filter.
 *
 * @param query - The filter to negate.
 * @return The not-Filter.
 */
export declare const Not: (query: Filter) => Filter;
/**
 * Builds an eq-Filter. The body of the property must equal the body
 *
 * @param property - The property to check.
 * @param value - The body to check for.
 * @return The eq-Filter.
 */
export declare const Eq: (property: string, value: any) => Filter;
/**
 * Builds a ne-Filter. The body of the property must not equal the body
 *
 * @param property - The property to check.
 * @param value - The body to check for.
 * @return The ne-Filter.
 */
export declare const Ne: (property: string, value: any) => Filter;
/**
 * Builds a gt-Filter. The body of the property must be greater than the body
 *
 * @param property - The property to check.
 * @param value - The body to check for.
 * @return The gt-Filter.
 */
export declare const Gt: (property: string, value: any) => Filter;
/**
 * Builds a ge-Filter. The body of the property must be greater than or equal to the body
 *
 * @param property - The property to check.
 * @param value - The body to check for.
 * @return The ge-Filter.
 */
export declare const Ge: (property: string, value: any) => Filter;
/**
 * Builds a lt-Filter. The body of the property must be less than the body
 *
 * @param property - The property to check.
 * @param value - The body to check for.
 * @return The lt-Filter.
 */
export declare const Lt: (property: string, value: any) => Filter;
/**
 * Builds a le-Filter. The body of the property must be less than or equal to the body
 *
 * @param property - The property to check.
 * @param value - The body to check for.
 * @return The le-Filter.
 */
export declare const Le: (property: string, value: any) => Filter;
/**
 * Builds an in-Filter. The body of the property must be among the values
 *
 * @param property - The property to check.
 * @param value - The values to check for.
 * @return The in-Filter.
 */
export declare const In: (property: string, ...value: any[]) => Filter;
/**
 * Builds a like-Filter. The body of the property must conform to the form provided.
 *
 * @param property - The property to check.
 * @param form - The values to check for.
 * @return The like-Filter.
 */
export declare const Like: (property: string, form: string) => Filter;
/**
 * Builds a ilike-Filter. The body of the property must conform to the form provided.
 *
 * @param property - The property to check.
 * @param form - The values to check for.
 * @return The ilike-Filter.
 */
export declare const ILike: (property: string, form: string) => Filter;
/**
 * Builds a exists-Filter. The property must exist.
 *
 * @param property - The property to check.
 * @return The exists-Filter.
 */
export declare const Exists: (property: string) => Filter;
//# sourceMappingURL=filter.options.d.ts.map