import { PureAbility, AbilityOptions, AbilityOptionsOf } from './PureAbility'; import { RawRuleFrom } from './RawRule'; import { AbilityTuple } from './types'; import { MongoQuery } from './matchers/conditions'; import { Public, RawRuleOf } from './RuleIndex'; /** * @deprecated use createMongoAbility function instead and MongoAbility interface. * In the next major version PureAbility will be renamed to Ability and this class will be removed */ export declare class Ability extends PureAbility { constructor(rules?: RawRuleFrom[], options?: AbilityOptions); } export interface AnyMongoAbility extends Public> { } export interface MongoAbility extends PureAbility { } /** * Creates Ability with MongoDB conditions matcher */ export declare function createMongoAbility(rules?: RawRuleOf[], options?: AbilityOptionsOf): T; export declare function createMongoAbility(rules?: RawRuleFrom[], options?: AbilityOptions): MongoAbility;