import { Location } from '@angular/common';
import { OnInit } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';
import { BehaviorSubject } from 'rxjs';
import { ICurrentTenant, ITenant, TenantService, TenantStatus, UserService } from '@c8y/client';
import { ActionControl, AlertService, AppStateService, Column, DisplayOptions, ModalService, Pagination, PasswordService, Permissions, TenantUiService } from '@c8y/ngx-components';
import * as i0 from "@angular/core";
export declare class TenantListComponent implements OnInit {
    appState: AppStateService;
    private alertService;
    private modalService;
    private translateService;
    private tenantService;
    private tenantUiService;
    private location;
    private passwordService;
    private userService;
    private permissionsService;
    tenants$: BehaviorSubject<ITenant[]>;
    isPermittedToCreateTenanant: boolean;
    currentTenant: ICurrentTenant;
    isManagementTenant: boolean;
    TOP_TENANT_NAME: string;
    title: string;
    loadMoreItemsLabel: string;
    loadingItemsLabel: string;
    displayOptions: DisplayOptions;
    columns: Column[];
    pagination: Pagination;
    showSearch: boolean;
    actionControls: ActionControl[];
    noResultsMessage: "No tenants to display.";
    noDataMessage: "There are no tenants defined.";
    noResultsSubtitle: "Refine your search terms or check your spelling.";
    noDataSubtitle: "Create the first tenant.";
    TenantStatus: typeof TenantStatus;
    constructor(appState: AppStateService, alertService: AlertService, modalService: ModalService, translateService: TranslateService, tenantService: TenantService, tenantUiService: TenantUiService, location: Location, passwordService: PasswordService, userService: UserService, permissionsService: Permissions);
    ngOnInit(): Promise<void>;
    loadTenants(): void;
    getColumns(): Column[];
    getPagination(): Pagination;
    getActionControls(): ActionControl[];
    createTenant(): void;
    goToDetails(tenant: ITenant): void;
    activateTenant(tenant: any): Promise<void>;
    suspendTenant(tenant: any): Promise<void>;
    delete(tenant: any): Promise<void>;
    isActive(tenant: ITenant): boolean;
    isSuspended(tenant: ITenant): boolean;
    downloadNewsletterEmails(): Promise<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<TenantListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TenantListComponent, "c8y-tenant-list", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=tenant-list.component.d.ts.map