import { OnInit, AfterViewInit, ChangeDetectorRef, EventEmitter } from '@angular/core';
import { AuthorizatorConfig } from '../../authorizator.config';
import { ResourceObj } from '../../classes/resource-obj';
import { Operation, PermissionObj } from '../../classes/permission-obj';
import { MatSnackBar } from '@angular/material/snack-bar';
import { MatSlideToggleChange } from '@angular/material/slide-toggle';
import { UserObj } from '../../classes/user-obj';
import { AuthorizatorService } from '../../services/authorizator.service';
import { RoleObj } from '../../classes/role-obj';
export interface PermissionData {
    rootFirebasePath: string;
    user?: UserObj;
    role?: RoleObj;
}
export declare class PermissionManagerComponent implements OnInit, AfterViewInit {
    private authorizatorConfig;
    private cd;
    data: PermissionData;
    private authorizatorservice;
    private snackbar;
    permissionsConfig: {
        resource: ResourceObj;
        operations: {
            id: Operation;
            value: boolean;
        }[];
    }[];
    AllowedOperation: typeof Operation;
    resourceCols: number;
    permissionCols: number;
    user: UserObj;
    role: RoleObj;
    change: EventEmitter<PermissionObj>;
    constructor(authorizatorConfig: AuthorizatorConfig, cd: ChangeDetectorRef, data: PermissionData, authorizatorservice: AuthorizatorService, snackbar: MatSnackBar);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    onPermissionChange(resource: ResourceObj, operation: Operation, event: MatSlideToggleChange): void;
}
