import { AdaptableObject, SuspendableObject } from './AdaptableObject';
/**
 * Defines when an action will be run - either one-off or recurring
 */
export interface Schedule {
    /**
     * Hour the Schedule will run
     */
    Hour: number;
    /**
     * Minute the Schedule will run
     */
    Minute: number;
    /**
     * A one off date on which the Schedule will run
     */
    OneOffDate?: string;
    /**
     * Days on which Schedule will run
     */
    DaysOfWeek?: Weekdays;
}
/**
 * Base Schedule object - typically overriden by Functions
 */
export interface BaseSchedule extends AdaptableObject, SuspendableObject {
    /**
     * Name of the Schedule
     */
    Name: string;
    /**
     * The Schedule to run
     */
    Schedule: Schedule;
    /**
     * The type of Schedule
     */
    ScheduleType: 'Report' | 'ipushpull' | 'Reminder' | 'OpenFin';
}
export type Weekdays = Weekday[];
export type Weekday = 'Sunday' | 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday';
