import { EntityType } from 'breeze-client';
export interface PredicateContext {
    entityType: EntityType;
    prefix?: string;
}
export interface PredicateVisitor {
    passthruPredicate(this: any): string;
    unaryPredicate(this: any, context: PredicateContext): string;
    binaryPredicate(this: any, context: PredicateContext): string;
    andOrPredicate(this: any, context: PredicateContext): string;
    anyAllPredicate(this: any, context: PredicateContext): string;
    litExpr(this: any): any;
    propExpr(this: any, context: PredicateContext): string;
    fnExpr(this: any, context: PredicateContext): string;
}
export declare class OData4PredicateVisitor implements PredicateVisitor {
    static register(): void;
    passthruPredicate(this: any): string;
    unaryPredicate(this: any, context: PredicateContext): string;
    binaryPredicate(this: any, context: any): string;
    andOrPredicate(this: any, context: PredicateContext): string;
    anyAllPredicate(this: any, context: PredicateContext): string;
    litExpr(this: any): any;
    propExpr(this: any, context: PredicateContext): string;
    fnExpr(this: any, context: PredicateContext): string;
}
