/**
 * VCFlavor is some piece of info which is transitively attached to a VC and is
 * preserved when VC derivation (upgrade/downgrade) is happening. This piece of
 * info may be just an object of a separate class with no data (acts like a
 * boolean flag), or it can be an object with payload.
 *
 * For each flavor type, only a single VCFlavor object may exist.
 */
export declare abstract class VCFlavor {
    static readonly _tag: "VCFlavorClass";
    readonly _tag: "VCFlavorInstance";
    /**
     * Appended to the end of VC.toString() result.
     */
    toDebugString(): string;
}
/**
 * If turned on, the debug logs will contain caller stack traces for each Ent
 * query. This is expensive, use in dev mode only!
 */
export declare class VCWithStacks extends VCFlavor {
}
/**
 * If set, Ent cache is enabled for operations in this VC.
 */
export declare class VCWithQueryCache extends VCFlavor {
    readonly options: {
        maxQueries: number;
    };
    constructor(options: {
        maxQueries: number;
    });
}
//# sourceMappingURL=VCFlavor.d.ts.map