import { ImpersonationService } from "./impersonation.service";
import { LoggerService } from '../../logger/services/logger.service';
import { SnackBarService } from '../../snack-bar/services/snack-bar.service';
import { UserImpersonateInjectionData } from '../../side-menu/content-components/user-impersonate/model/user-impersonate-injection-data';
import { UserService } from '../../user/services/user.service';
import { MatDialog } from '@angular/material/dialog';
import * as i0 from "@angular/core";
export declare class ImpersonationUserSelectService {
    protected _log: LoggerService;
    protected _snackBar: SnackBarService;
    protected _impersonation: ImpersonationService;
    protected _user: UserService;
    protected _dialog: MatDialog;
    protected _userImpersonateComponent: any;
    protected _adminImpersonateComponent: any;
    constructor(_log: LoggerService, _snackBar: SnackBarService, _impersonation: ImpersonationService, _user: UserService, _dialog: MatDialog, _userImpersonateComponent: any, _adminImpersonateComponent: any);
    /**
     * Opens side menu with users who can be impersonated by logged user
     */
    selectImpersonate(): void;
    protected injectedData(): UserImpersonateInjectionData;
    protected isAdmin(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<ImpersonationUserSelectService, [null, null, null, null, null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ImpersonationUserSelectService>;
}
