芝麻web文件管理V1.00
编辑当前文件:/home/freeclou/app.optimyar.com/backend/node_modules/@casl/ability/dist/types/types.d.ts
declare type Fn = (...args: any[]) => any; declare type AnyClass
= new (...args: any[]) => ReturnType; declare type AnyRecord = Record
; export declare type AnyObject = Record
; export declare type SubjectClass
= AnyClass & { modelName?: N; }; export declare type SubjectType = string | SubjectClass | undefined; export declare type Subject = AnyRecord | SubjectType; export declare type AbilityTuple
= [X, Y]; export declare type Abilities = AbilityTuple | string; export declare type ToAbilityTypes
= T extends AbilityTuple ? AbilityTupleType
> : Extract
; export declare type AbilityTupleType
= [T, U]; export declare type AbilityTypes = string | AbilityTupleType; export declare type Normalize
= T extends AbilityTuple ? T : [T, undefined?]; export declare type DetectSubjectType
= (subject?: T) => string; export declare type IfString
= T extends string ? U : never; export declare type AbilityParameters
0, Else = IfString
>> = T extends AbilityTuple ? Parameters
: Else; export declare type CanParameters
= AbilityParameters
0 : (action: T[0], subject: T[1]) => 0 : never, (action: Extract
) => 0>; export declare type ExtractSubjectType
= Extract
| TagName
; declare type SubjectClassWithCustomName
= AnyClass & { modelName: T; }; export declare type InferSubjects
= T | (T extends AnyClass
? I | (IncludeTagName extends true ? T extends SubjectClassWithCustomName
? Name : TagName
: never) : TagName
); export declare type ForcedSubject
= { readonly __caslSubjectType__: T; }; declare type TaggedInterface
= ForcedSubject
| { readonly kind: T; }; declare type TagName
= T extends TaggedInterface
? U : never; export declare type MatchConditions
= (object: T) => boolean; export declare type ConditionsMatcher
= (conditions: T) => MatchConditions; export declare type MatchField
= (field: T) => boolean; export declare type FieldMatcher =
(fields: T[]) => MatchField
; export declare type AliasesMap = Record
; export declare type ResolveAction
= (action: T | T[]) => T | T[]; export interface RuleOptions
{ conditionsMatcher?: ConditionsMatcher
; fieldMatcher?: FieldMatcher; resolveAction: ResolveAction
[0]>; } export {};