import { Ability, Generics, Normalize, ExtractSubjectType } from '@casl/ability'; import { BasePrismaQuery, InferPrismaTypes } from './types'; type ModelName> = Extract['conditions']>['WhereInput'], string>; type SubjectType> = Extract['abilities']>[1]>, ModelName>; export declare class AccessibleRecords> { private readonly _ability; private readonly _action; constructor(_ability: TAbility, _action: string); ofType>(subjectType: TSubjectType): InferPrismaTypes['conditions']>['WhereInput'][TSubjectType]; } export declare function accessibleBy>(ability: TAbility, action?: TAbility["rules"][number]["action"] & string): AccessibleRecords; export {};