芝麻web文件管理V1.00
编辑当前文件:/home/freeclou/app.optimyar.com/backend/node_modules/@casl/ability/dist/types/AbilityBuilder.d.ts
import { Ability, AnyMongoAbility } from './Ability'; import { AnyAbility, AbilityOptionsOf, AbilityClass, PureAbility } from './PureAbility'; import { RawRuleOf, Generics } from './RuleIndex'; import { ExtractSubjectType as E, AbilityTuple, AbilityTypes, ToAbilityTypes, AbilityParameters } from './types'; import { RawRule } from './RawRule'; declare class RuleBuilder
> { rule: T; constructor(rule: T); because(reason: string): this; } declare type CanFunction
= T extends AbilityTuple ? WithFields extends true ? (action: T[0] | T[0][], subject: E
| E
[], fields?: string | string[], conditions?: C) => 0 : (action: T[0] | T[0][], subject: E
| E
[], conditions?: C) => 0 : never; export declare type BuilderCanParameters
= AbilityParameters
['abilities'], CanFunction
['abilities']>, Generics
['conditions'], WithFields>, (action: Generics
['abilities'] | Generics
['abilities'][]) => 0>; export declare class AbilityBuilder
{ rules: RawRuleOf
[]; private _AbilityType; constructor(AbilityType?: AbilityClass
); can(...args: BuilderCanParameters
): RuleBuilder
>; can(...args: BuilderCanParameters
): RuleBuilder
>; cannot(...args: BuilderCanParameters
): RuleBuilder
>; cannot(...args: BuilderCanParameters
): RuleBuilder
>; build(options?: AbilityOptionsOf
): T; } declare type AsyncDSL
= (can: AbilityBuilder
['can'], cannot: AbilityBuilder
['cannot']) => Promise
; declare type DSL
= (...args: Parameters
>) => void; export declare function defineAbility
(dsl: AsyncDSL
): Promise
; export declare function defineAbility
(params: AbilityOptionsOf
, dsl: AsyncDSL
): Promise
; export declare function defineAbility
(dsl: DSL
): T; export declare function defineAbility
(params: AbilityOptionsOf
, dsl: DSL
): T; export {};