import { AccessControl, Permission } from 'accesscontrol'; export interface AclModuleOptions { rejectIfNoRule?: boolean; } export interface AclRoles { roles?: Role[]; } export declare type CheckReturnType = (boolean | Error | undefined) | Promise<(boolean | Error | undefined)>; export interface AclRule { req?: Permission; res?: Permission; check?: () => CheckReturnType; } export interface AclContext = any> { user?: User; } export interface AclCheckOptions { id: string; context: Context; data?: Data; sourceData?: Source; message?: string; rejectIfNoRule?: boolean; [key: string]: any; } export interface AclRulesCreatorOptions extends AclCheckOptions { rolesBuilder: AccessControl; } export declare type AclRulesCreator = (options: AclRulesCreatorOptions) => AclRule[] | Promise; //# sourceMappingURL=interfaces.d.ts.map