import Filter from 'ol/format/filter/Filter';
import { XmlTypes } from '../../models/xmlTypes';
export declare const wfsOperatorsStrList: readonly ["eq", "neq", "gt", "gte", "lt", "lte", "like", "nlike", "before", "after", "between", "nul", "nnul"];
export type WfsOperator = (typeof wfsOperatorsStrList)[number];
export declare const mapAttributeTypeToFilterOperators: Record<'string' | 'number' | 'date', WfsOperator[]>;
export declare class WfsFilter<WfsXmlTypes extends XmlTypes = XmlTypes> {
    property: string;
    propertyType?: WfsXmlTypes;
    operator: WfsOperator;
    value: string;
    value2: string;
    beginOfTime: string;
    endOfTime: string;
    constructor(property: string, operator: WfsOperator, value: string, value2?: string, propertyType?: WfsXmlTypes);
    toOpenLayersFilter(): Filter;
    /**
     *
     * @returns a simple filter string that can be used in a WMS GetMap request, does not provide any XML namespace (xmlns attributes)
     */
    toWmsGetMapFilter(): string;
    protected static simpleEqFilter(name: string, value: string): string;
    protected static simpleNeqFilter(name: string, value: string): string;
    protected static simpleLtFilter(name: string, value: string): string;
    protected static simpleLteFilter(name: string, value: string): string;
    protected static simpleGtFilter(name: string, value: string): string;
    protected static simpleGteFilter(name: string, value: string): string;
    protected static simpleBetweenFilter(name: string, value: string, value2: string): string;
    protected static simpleInnerLikeFilter(name: string, value: string, wildCard?: string): string;
    protected static simpleLikeFilter(name: string, value: string, wildCard?: string): string;
    protected static simpleNlikeFilter(name: string, value: string, wildCard?: string): string;
    protected static simpleLikeFilterGenerateWildCard(value: string): string;
}
export default WfsFilter;
