import * as i0 from '@angular/core';
import { OnInit } from '@angular/core';
import * as i1 from '@c8y/ngx-components';
import { DataGridComponent, Column, Row, Pagination, ActionControl, BulkActionControl, DisplayOptions, AlertService, ModalService } from '@c8y/ngx-components';
import * as i2 from 'ngx-bootstrap/tooltip';
import * as i3 from '@angular/forms';
import * as i4 from 'ngx-bootstrap/buttons';
import * as i5 from 'ngx-bootstrap/popover';
import { UserService, FetchClient, IManagedObject, CrlService } from '@c8y/client';
import { ActivatedRoute } from '@angular/router';
import { BehaviorSubject, Observable } from 'rxjs';
import { TranslateService } from '@ngx-translate/core';

declare class DeviceProvisionedCertificatesService {
    private userService;
    private client;
    constructor(userService: UserService, client: FetchClient);
    getDeviceProvisionedCertificates(device: IManagedObject): Promise<ProvisionedCertificate[] | undefined>;
    private getDeviceUserName;
    static ɵfac: i0.ɵɵFactoryDeclaration<DeviceProvisionedCertificatesService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DeviceProvisionedCertificatesService>;
}

type ProvisionedCertificate = {
    serialNumber: string;
    notBefore: string;
    notAfter: string;
};
declare class DeviceTabProvisionedCertificatesComponent implements OnInit {
    private alertService;
    private modalService;
    private deviceSerialsService;
    private crlService;
    private route;
    private translateService;
    dataGrid: DataGridComponent;
    reloading: boolean;
    reload$: BehaviorSubject<void>;
    tableTitle: "Provisioned certificates";
    columns: Column[];
    rows$: Observable<Array<Row & ProvisionedCertificate>>;
    pagination: Pagination;
    actionControls: ActionControl[];
    bulkActionControls: BulkActionControl[];
    displayOptions: DisplayOptions;
    protected readonly PX_ACTIONS: {
        APPLY_FILTER: string;
        RESET_FILTER: string;
        REMOVE_FILTER: string;
        CLEAR_FILTER: string;
        CUSTOM_ACTION: string;
        ADD_CUSTOM_COLUMN: string;
        REMOVE_CUSTOM_COLUMN: string;
        REORDER_COLUMNS: string;
        CHANGE_VISIBILITY: string;
        CHANGE_SORTING_ORDER: string;
        CHANGE_PAGINATION: string;
        SELECT_ALL_ITEMS: string;
        BULK_DELETE: string;
        BULK_EXPORT: string;
        BULK_CUSTOM_ACTION: string;
        BULK_CANCEL: string;
        SELECT_ITEM: string;
        EDIT_ITEM: string;
        DELETE_ITEM: string;
        EXPORT_ITEM: string;
        CUSTOM_ACTION_ITEM: string;
        RELOAD: string;
        SEARCH: string;
        CLEAR_SEARCH: string;
    };
    constructor(alertService: AlertService, modalService: ModalService, deviceSerialsService: DeviceProvisionedCertificatesService, crlService: CrlService, route: ActivatedRoute, translateService: TranslateService);
    ngOnInit(): void;
    reload(): void;
    getExpirationHighlight(item: ProvisionedCertificate): {
        expired: boolean;
        icon: string;
        textClass: string;
        tooltipText: string;
    };
    revokeProvisionedCertificates(serialNumbersInHex: string[]): Promise<void>;
    private confirmRevocation;
    static ɵfac: i0.ɵɵFactoryDeclaration<DeviceTabProvisionedCertificatesComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DeviceTabProvisionedCertificatesComponent, "device-tab-serials-component", never, {}, {}, never, never, true, never>;
}

declare class DeviceProvisionedCertificatesModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<DeviceProvisionedCertificatesModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<DeviceProvisionedCertificatesModule, never, [typeof i1.CoreModule, typeof i2.TooltipModule, typeof i3.ReactiveFormsModule, typeof i4.ButtonsModule, typeof i5.PopoverModule, typeof DeviceTabProvisionedCertificatesComponent], never>;
    static ɵinj: i0.ɵɵInjectorDeclaration<DeviceProvisionedCertificatesModule>;
}

export { DeviceProvisionedCertificatesModule };
//# sourceMappingURL=index.d.ts.map
