import { CombinedFilter } from '../filters/combined-filter';
import { DateOffsetPeriod } from '../filters/date-offset-period';
import { FilterClause } from '../filters/filter-clause';
import { RelationFilter } from '../filters/relation-filter';
import { IFilterMetadataProvider } from './filter-metadata-provider';
export declare class ODataFilterSerializer {
    private filterMetadata;
    private propertyPrefix;
    private lambdaVariableName;
    constructor(filterMetadata?: IFilterMetadataProvider, lambdaVariableName?: string);
    serialize(filterContext: FilterContext): string | null;
    private serializeCombinedFilter;
    private serializeFilterClause;
    private serializeRelationFilter;
    private serializeFilterValue;
    private serializeFilterValuesArray;
    private getContainsTypeOperatorsFilterExpression;
}
export interface FilterContext {
    Filter: FilterClause | CombinedFilter | RelationFilter | DateOffsetPeriod | null;
    Type: string;
}
