import type { EntClass } from "../types";
import type { VC } from "../VC";
import type { Predicate } from "./Predicate";
/**
 * Checks that an ent which a field is pointing to is readable:
 *
 * EntOur[company_id] ---> EntCompany[id]
 *
 * This predicate delegates the readability permission check for the current ent
 * to another ent with ID equals to the value of our ent's field.
 *
 * - field = user_id in the above example
 * - toEntClass = EntCompany in the above example
 */
export declare class CanReadOutgoingEdge<TField extends string> implements Predicate<Record<TField, string | null>> {
    readonly field: TField;
    readonly toEntClass: EntClass;
    readonly name: string;
    constructor(field: TField, toEntClass: EntClass);
    check(vc: VC, row: Record<TField, string | null>): Promise<boolean>;
}
//# sourceMappingURL=CanReadOutgoingEdge.d.ts.map