import type { _NSExpression } from "../Foundation/NSExpression.js";
export declare class _NSFetchRequestExpression extends _NSExpression {
    static alloc(): _NSFetchRequestExpression;
    static new(): _NSFetchRequestExpression;
    init(): _NSFetchRequestExpression;
    /**
     * Returns an expression which will evaluate to the result of executing a fetch request on a context. The first argument must be an expression which evaluates to an NSFetchRequest *, and the second must be an expression which evaluates to an NSManagedObjectContext *. If the desired result is simply the count for the request, the "countOnly" argument should be YES.
     */
    static expressionForFetch$context$countOnly$(fetch: _NSExpression, context: _NSExpression, countFlag: boolean): _NSExpression;
    /**
     * Returns the expression for the fetch request: evaluating it must return an NSFetchRequest *.
     */
    requestExpression(): _NSExpression;
    /**
     * Returns the expression for the managed object context: evaluating it must return an NSManagedObjectContext *.
     */
    contextExpression(): _NSExpression;
    /**
     * Boolean indicating if the request will return object values or merely the count. If the value returns NO, the managed object context (from the contextExpression) will perform executeFetchRequest:error: with the requestExpression; if the value returns YES, the managed object context will perform countForFetchRequest:error with the requestExpression.
     */
    countOnlyRequest(): boolean;
}
