import { EventEmitter, OnChanges, OnInit } from '@angular/core';
import { Export, Schedule, EmitterPayload, ActionType } from './export-schedules.interface';
import { ReportsService } from './reports.service';
import { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';
import { OptionsService } from '@c8y/ngx-components';
import { CronService } from './cron.service';
import { IdReference } from '@c8y/client';
import { TranslateService } from '@ngx-translate/core';
import { UserService } from '@c8y/client';
import * as i0 from "@angular/core";
export declare class ExportSchedulesComponent implements OnInit, OnChanges {
    private reportsService;
    private bsModalService;
    cronService: CronService;
    private translateService;
    private userService;
    private optionsService;
    set exportId(exportId: IdReference);
    onSchedulesUpdate: EventEmitter<Schedule[]>;
    exp: Export;
    scheduleList: Schedule[];
    initialSchedule: Schedule;
    buttonLabels: any;
    listClass: string;
    loadingStatus: any;
    sortType: string;
    sortReverse: boolean;
    isOpen: any;
    isFlipped: boolean;
    isEditMenuOpen: boolean;
    modalRef: BsModalRef;
    currentUserEmail: string;
    hasRequiredRole: boolean;
    private _exportId;
    private defaultExportEmailTemplate;
    constructor(reportsService: ReportsService, bsModalService: BsModalService, cronService: CronService, translateService: TranslateService, userService: UserService, optionsService: OptionsService);
    ngOnInit(): Promise<void>;
    ngOnChanges(): void;
    translateButtonTitles(): void;
    getCurrentUserEmail(): Promise<string[]>;
    checkRole(): Promise<boolean>;
    getScheduleList(withProgress: boolean): Promise<void>;
    addSchedule(): void;
    editSchedule(schedule: Schedule, index: number, event: any): void;
    duplicateSchedule(schedule: Schedule, event: any): void;
    openAddEditModal(exportId: IdReference, schedule: Schedule, actionType: ActionType, index?: number): void;
    getMessageFromModal(payload: EmitterPayload, index?: number): void;
    removeSchedule(schedule: Schedule, index: number, event: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ExportSchedulesComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ExportSchedulesComponent, "export-schedules", never, { "exportId": { "alias": "exportId"; "required": false; }; }, { "onSchedulesUpdate": "onSchedulesUpdate"; }, never, never, false, never>;
}
//# sourceMappingURL=export-schedules.component.d.ts.map