import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { AuthorizationService } from './authorization.service';
import * as i0 from "@angular/core";
export declare abstract class HasEnablePermission implements OnInit, OnDestroy {
    private readonly authorization;
    protected readonly cdr: ChangeDetectorRef;
    private readonly scope;
    private readonly valueAccessor;
    identifier: string;
    private _subscription?;
    constructor(authorization: AuthorizationService, cdr: ChangeDetectorRef, scope?: string | null, valueAccessor?: ControlValueAccessor[] | null);
    ngOnInit(): void;
    ngOnDestroy(): void;
    abstract setDisabled(disabled: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<HasEnablePermission, [null, null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<HasEnablePermission>;
}
