import { QFilterExpression } from "../QFilterExpression";
import { QOrderByExpression } from "../QOrderByExpression";
import { QueryObject } from "../QueryObject";
import { LambdaOperatorType } from "./base/LambdaOperatorType";
import { QEntityPathModel } from "./QPathModel";
export declare class QEntityCollectionPath<Q extends QueryObject> implements QEntityPathModel<Q> {
    private path;
    private qEntityFn;
    constructor(path: string, qEntityFn: () => new (prefix?: string) => Q);
    getPath(): string;
    getEntity(withPrefix?: boolean): Q;
    isCollectionType(): boolean;
    private lambdaFunction;
    any(fn?: LambdaOperatorType<Q>, prefix?: string): QFilterExpression;
    all(fn?: LambdaOperatorType<Q>, prefix?: string): QFilterExpression;
    /**
     * Sort by total count of these collection items in ascending order.
     */
    countAsc(): QOrderByExpression;
    /**
     * Sort by total count of these collection items in ascending order.
     */
    countDesc(): QOrderByExpression;
}
