import { ValueConverter } from "@odata2ts/converter-api";
import { PrimitiveCollection } from "../primitve-collection/PrimitiveCollectionModel";
import { QFilterExpression } from "../QFilterExpression";
import { LambdaOperatorType } from "./base/LambdaOperatorType";
import { QEntityPathModel } from "./QPathModel";
export declare class QCollectionPath<CollectionType extends PrimitiveCollection> implements QEntityPathModel<CollectionType> {
    protected path: string;
    protected qEntityFn: () => new (prefix?: string, converter?: ValueConverter<any, any>) => CollectionType;
    protected __converter?: ValueConverter<any, any> | undefined;
    constructor(path: string, qEntityFn: () => new (prefix?: string, converter?: ValueConverter<any, any>) => CollectionType, __converter?: ValueConverter<any, any> | undefined);
    getPath(): string;
    getEntity(withPrefix?: boolean): CollectionType;
    isCollectionType(): boolean;
    private lambdaFunction;
    any(fn?: LambdaOperatorType<CollectionType>, prefix?: string): QFilterExpression;
    all(fn?: LambdaOperatorType<CollectionType>, prefix?: string): QFilterExpression;
}
