import { MessageBus } from '@tangential/core'; import { FirebaseProvider } from '@tangential/firebase-util'; import { Observable } from 'rxjs'; import { Auth } from '../../media-type/cdm/auth'; import { AuthPermission } from '../../media-type/cdm/auth-permission'; import { AuthRole } from '../../media-type/cdm/auth-role'; import { AuthSettings } from '../../media-type/cdm/auth-settings'; import { AuthUser } from '../../media-type/cdm/auth-user'; import { AuthPermissionKey } from '../../media-type/doc-model/auth-permission'; import { AuthRoleKey } from '../../media-type/doc-model/auth-role'; import { AuthUserKey } from '../../media-type/doc-model/auth-user'; import { AuthSettingsService } from '../settings-service/settings-service'; import { AdminService } from './admin-service'; import * as i0 from "@angular/core"; export declare class FirebaseAdminService extends AdminService { private bus; constructor(bus: MessageBus, fb: FirebaseProvider, authSettingsService: AuthSettingsService); auth$(): Observable; addPermission(newPermission: AuthPermission): Promise; updatePermission(permission: AuthPermission): Promise; /** * @todo ggranum: Add Firebase Function that watches for removed permissions and updates the Users table. * @todo ggranum: Remove these removed permissions from Roles. * @param permissionKey * @returns {Promise} */ removePermission(permissionKey: AuthPermissionKey): Promise; addRole(role: AuthRole): Promise; updateRole(role: AuthRole): Promise; removeRole(key: AuthRoleKey): Promise; addUser(user: AuthUser): Promise; updateUser(user: AuthUser): Promise; removeUser(entityKey: string): Promise; grantPermissionOnUser(user: AuthUser, permission: AuthPermission): Promise; revokePermissionOnUser(user: AuthUser, permission: AuthPermission): Promise; grantRoleOnUser(user: AuthUser, role: AuthRole): Promise; revokeRoleOnUser(userKey: AuthUserKey, role: AuthRoleKey): Promise; updateSettings(authSettings: AuthSettings): Promise; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }