import { ApiBase } from './ApiBase';
import { ScheduleApi } from '../ScheduleApi';
import { BaseSchedule } from '../../AdaptableState/Common/Schedule';
import { ReportSchedule } from '../../AdaptableState/ExportState';
import { IPushPullSchedule } from '../../AdaptableState/IPushPullState';
import { OpenFinSchedule } from '../../AdaptableState/OpenFinState';
import { ReminderSchedule, ScheduleState } from '../../AdaptableState/ScheduleState';
import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
export declare class ScheduleApiImpl extends ApiBase implements ScheduleApi {
    constructor(_adaptable: IAdaptable);
    getScheduleState(): ScheduleState;
    getSchedules(): BaseSchedule[];
    getReminderSchedules(config?: {
        includeLayoutNotAssociatedObjects?: boolean;
    }): ReminderSchedule[];
    getScheduleById(id: BaseSchedule['Uuid']): BaseSchedule;
    getActiveReminderSchedules(): ReminderSchedule[];
    getSuspendedReminderSchedules(): ReminderSchedule[];
    addReminderSchedule(schedule: ReminderSchedule): ReminderSchedule;
    deleteReminderSchedule(schedule: ReminderSchedule): void;
    editReminderSchedule(schedule: ReminderSchedule): ReminderSchedule;
    suspendReminderSchedule(schedule: ReminderSchedule): ReminderSchedule;
    unSuspendReminderSchedule(schedule: ReminderSchedule): ReminderSchedule;
    getReportSchedules(config?: {
        includeLayoutNotAssociatedObjects?: boolean;
    }): ReportSchedule[];
    getActiveReportSchedules(): ReportSchedule[];
    getSuspendedReportSchedules(): ReportSchedule[];
    addReportSchedule(schedule: ReportSchedule): ReportSchedule;
    editReportSchedule(schedule: ReportSchedule): ReportSchedule;
    deleteReportSchedule(schedule: ReportSchedule): void;
    suspendReportSchedule(schedule: ReportSchedule): ReportSchedule;
    unSuspendReportSchedule(schedule: ReportSchedule): ReportSchedule;
    getIPushPullSchedules(config?: {
        includeLayoutNotAssociatedObjects?: boolean;
    }): IPushPullSchedule[];
    getActiveIPushPullSchedules(): IPushPullSchedule[];
    getSuspendedIPushPullSchedules(): IPushPullSchedule[];
    addIPushPullSchedule(schedule: IPushPullSchedule): IPushPullSchedule;
    editIPushPullSchedule(schedule: IPushPullSchedule): IPushPullSchedule;
    deleteIPushPullSchedule(schedule: IPushPullSchedule): void;
    suspendIPushPullSchedule(schedule: IPushPullSchedule): IPushPullSchedule;
    unSuspendIPushPullSchedule(schedule: IPushPullSchedule): IPushPullSchedule;
    getOpenFinSchedules(config?: {
        includeLayoutNotAssociatedObjects?: boolean;
    }): OpenFinSchedule[];
    getActiveOpenFinSchedules(): OpenFinSchedule[];
    getSuspendedOpenFinSchedules(): OpenFinSchedule[];
    addOpenFinSchedule(schedule: OpenFinSchedule): OpenFinSchedule;
    editOpenFinSchedule(schedule: OpenFinSchedule): OpenFinSchedule;
    deleteOpenFinSchedule(schedule: OpenFinSchedule): void;
    suspendOpenFinSchedule(schedule: OpenFinSchedule): OpenFinSchedule;
    unSuspendOpenFinSchedule(schedule: OpenFinSchedule): OpenFinSchedule;
    applySchedule(schedule: BaseSchedule, scheduleType: 'Report' | 'ipushpull' | 'Reminder' | 'OpenFin'): void;
    openScheduleSettingsPanel(): void;
}
