import { FormControl } from '@angular/forms';
import { TranslateService } from '@ngx-translate/core';
import { ExtendedProcessRole, ProcessList, ProcessListItem } from '../role-assignment/services/ProcessList';
import { GroupInterface } from '../../resources/interface/group';
import { LoadingEmitter } from '../../utility/loading-emitter';
import { UserInviteService } from './services/user-invite.service';
import { OrganizationListService } from './services/organization-list.service';
import { SignUpService } from '../../authentication/sign-up/services/sign-up.service';
import { SnackBarService } from '../../snack-bar/services/snack-bar.service';
import { OnDestroy, OnInit } from '@angular/core';
import { Subscription } from "rxjs";
import * as i0 from "@angular/core";
export declare abstract class AbstractUserInviteComponent implements OnInit, OnDestroy {
    protected _userInviteService: UserInviteService;
    protected _orgList: OrganizationListService;
    protected _signUpService: SignUpService;
    protected _snackBar: SnackBarService;
    protected _translate: TranslateService;
    invitedEmailControl: FormControl<string>;
    invitedGroups: Array<GroupInterface>;
    invitedRoles: Array<ExtendedProcessRole>;
    nets: ProcessList;
    filteredProcesses: Array<ProcessListItem>;
    protected SEARCH_DEBOUNCE_TIME: number;
    searchNetControl: FormControl<any>;
    protected subNetValueChanges: Subscription;
    loading: LoadingEmitter;
    constructor(_userInviteService: UserInviteService, _orgList: OrganizationListService, _signUpService: SignUpService, _snackBar: SnackBarService, _translate: TranslateService);
    get groups(): GroupInterface[];
    ngOnInit(): void;
    ngOnDestroy(): void;
    removeGroup(org: GroupInterface): void;
    addGroup(org: GroupInterface): void;
    removeRole(role: ExtendedProcessRole): void;
    addRole(role: ExtendedProcessRole): void;
    invite(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractUserInviteComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AbstractUserInviteComponent, "ncc-abstract-user-invite", never, {}, {}, never, never, false, never>;
}
