import { LiveAnnouncer } from '@angular/cdk/a11y';
import { ChangeDetectorRef, OnInit } from '@angular/core';
import { AuthPermission, AuthRole, AdminService } from '@tangential/authorization-service';
import { MatSort, Sort } from '@angular/material/sort';
import { SelectionModel } from '@angular/cdk/collections';
import { MatTableDataSource } from '@angular/material/table';
import { AdminConsoleParentPage } from '../_parent/admin-console-parent.page';
import * as i0 from "@angular/core";
export declare class RoleManagerPage implements OnInit {
    private parent;
    private adminService;
    private _liveAnnouncer;
    private changeDetectorRef;
    displayedColumns: string[];
    dataSource: MatTableDataSource<AuthRole>;
    selection: SelectionModel<AuthRole>;
    rows: AuthRole[];
    selected: any[];
    constructor(parent: AdminConsoleParentPage, adminService: AdminService, _liveAnnouncer: LiveAnnouncer, changeDetectorRef: ChangeDetectorRef);
    sort: MatSort;
    ngOnInit(): void;
    get nextItemIndex(): number;
    grantPermission(role: AuthRole, permission: AuthPermission): void;
    revokePermission(role: AuthRole, permission: AuthPermission): void;
    onAddItemAction(): void;
    onRemove(key: string): void;
    onRemoveSelectedAction(keys: string[]): void;
    onItemChange(role: AuthRole): void;
    /**
     * Borrowed directly from Angular Material examples: https://material.angular.io/components/table/overview
     */
    /** Whether the number of selected elements matches the total number of rows. */
    isAllSelected(): boolean;
    /** Selects all rows if they are not all selected; otherwise clear selection. */
    toggleAllRows(): void;
    /** The label for the checkbox on the passed row */
    checkboxLabel(row?: AuthRole): string;
    /** Announce the change in sort state for assistive technology. */
    announceSortChange(sortState: Sort): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<RoleManagerPage, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RoleManagerPage, "tanj-role-manager-page", never, {}, {}, never, never, false>;
}
