import { OpenFinReport, OpenFinSchedule, OpenFinState } from '../AdaptableState/OpenFinState';
import { AdaptableAlert } from '../AdaptableState/Common/AdaptableAlert';
import { OpenFinPluginOptions } from '../AdaptableOptions/OpenFinPluginOptions';
/**
 * Provides run-time access to the OpenFin Plugin
 */
export interface OpenFinApi {
    /**
     * Retrieves the OpenFinPlugOptions provided in OpenFin Plugin
     */
    getPluginOptions(): OpenFinPluginOptions;
    /**
     * Retrieves the OpenFin section of System State
     */
    getOpenFinState(): OpenFinState | undefined;
    /**
     * Whether OpenFin is available
     */
    isOpenFinAvailable(): boolean;
    /**
     * Whether OpenFin is currently running
     */
    isOpenFinRunning(): boolean;
    /**
     * Displays Alert as an OpenFin Notification
     * @param alert Alert to display
     */
    showNotificationForAlert(alert: AdaptableAlert): void;
    /**
     * Shows a notification in OpenFin
     * @param notification
     */
    showNotification(notification: any): void;
    /**
     * Retrieves the Throttle time for live updates
     */
    getOpenFinThrottleTime(): number | undefined;
    /**
     * Retrieves the OpenFin currently sending live data to Excel
     */
    getCurrentLiveOpenFinReport(): OpenFinReport | undefined;
    /**
     * Retrieves all Schedules that send data to Excel via OpenFin
     */
    getOpenFinSchedules(): OpenFinSchedule[];
    /**
     * Runs Report in Excel as Live Report (so updates as AdapTable ticks)
     * @param OpenFinReport Report to Run
     */
    startLiveData(OpenFinReport: OpenFinReport): void;
    /**
     * Stops live data; data will no longer be sent from AdapTable to Excel
     */
    stopLiveData(): void;
}
