import { MaterializerId } from "./gen/interfaces/metatype-typegraph-core.js";
interface PolicyPerEffectAlt {
    update?: Policy;
    delete?: Policy;
    create?: Policy;
    read?: Policy;
}
export declare class PolicyPerEffectObject {
    readonly value: PolicyPerEffectAlt;
    constructor(value: PolicyPerEffectAlt);
}
export default class Policy {
    readonly _id: number;
    readonly name: string;
    constructor(_id: number, name: string);
    static public(): Policy;
    static context(key: string, check: string | RegExp): Policy;
    static internal(): Policy;
    static create(name: string, materializerId: MaterializerId): Policy;
    static on(effects: PolicyPerEffectAlt): PolicyPerEffectObject;
}
export {};
