import { IStore } from '../interfaces/store'; import { ISubject } from '../interfaces/subject'; import { TCreatePermission } from '../types/create-permission'; import { TPermission } from '../types/permission'; import { TPermissionId } from '../types/permission-id'; import { TPermissionOrId } from '../types/permission-or-id'; import { TRole } from '../types/role'; import { TSubjectOrPrincipal } from '../types/subject-or-principal'; import { TSubjectPrincipal } from '../types/subject-principal'; export declare class MemoryStore implements IStore { private permissions; private subjects; private subjectRoles; private rolePermissions; constructor(); createPermission(permission: TCreatePermission): TPermission; deletePermission(permissionOrId: TPermissionOrId): this; replacePermission(permission: TPermission): this; addPermissionToRole(role: TRole, permissionOrId: TPermissionOrId): this; addPermissionsToRole(role: TRole, permissions: TPermissionOrId[]): this; removePermissionFromRole(role: string, permissionOrId: TPermissionOrId): this; addRoleToSubject(subjectOrPrincipal: TSubjectOrPrincipal, role: string): this; removeRoleFromSubject(subjectOrPrincipal: TSubjectOrPrincipal, role: string): this; getRolesForSubject(subjectOrPrincipal: TSubjectOrPrincipal): string[]; getPermissionsForRole(role: string): TPermission[]; getPermissionsForSubject(subject: ISubject<{}>): TPermission[]; createSubject(subject: ISubject<{}>): this; deleteSubject(subjectOrPrincipal: TSubjectOrPrincipal): this; getPermissionsForRoles(roles: string[]): TPermission[]; getPermissions(): TPermission[]; getPermissionById(id: TPermissionId): TPermission | undefined; getSubjects(): ISubject<{}>[]; getSubjectByPrincipal(subjectPrincipal: TSubjectPrincipal): ISubject<{}> | undefined; }