import type { Adapter, Model } from 'casbin'; import type { PrismaClient, Prisma } from '@prisma/client'; export declare class PrismaAdapter implements Adapter { #private; filtered: boolean; isFiltered(): boolean; enableFiltered(enabled: boolean): void; /** * @param option It should be PrismaClientOptions or PrismaClient. * You should later call open() to activate it. */ constructor(option?: Prisma.PrismaClientOptions | PrismaClient); loadPolicy(model: Model): Promise; /** * loadFilteredPolicy loads policy rules that match the filter from the storage; * use an empty string for selecting all values in a certain field. */ loadFilteredPolicy(model: Model, filter: { [key: string]: string[][]; }): Promise; savePolicy(model: Model): Promise; addPolicy(sec: string, ptype: string, rule: string[]): Promise; addPolicies(sec: string, ptype: string, rules: string[][]): Promise; removePolicy(sec: string, ptype: string, rule: string[]): Promise; removePolicies(sec: string, ptype: string, rules: string[][]): Promise; removeFilteredPolicy(sec: string, ptype: string, fieldIndex: number, ...fieldValues: string[]): Promise; close(): Promise; static newAdapter(option?: Prisma.PrismaClientOptions | PrismaClient): Promise; }