import { firebase } from '../core'; import { Action, Policy, Role } from './types'; export declare const restCheckPermission: (objectTpl: string, action: Action) => (controller: any, methodName: string, desc: PropertyDescriptor) => void; export declare const socketCheckPermission: (objectTpl: string, action: Action) => (controller: any, methodName: string, desc: PropertyDescriptor) => void; export declare class ACL { private readonly store; private readonly aclCollection; constructor(store: firebase.firestore.Firestore); addDefaultRoles(): Promise; addRole(role: Role): Promise; getPolicies(roleKey: string): Promise; addPolicy(userId: string, policy: Policy): Promise; checkPermission(subjects: string[], action: Action, object: string): Promise; }