import { CalendarSchedulerEvent, SchedulerViewDay, SchedulerView } from '../models';
import { DayViewHour } from 'calendar-utils';
import { DateAdapter } from 'angular-calendar';
export declare enum DAYS_OF_WEEK {
    SUNDAY = 0,
    MONDAY = 1,
    TUESDAY = 2,
    WEDNESDAY = 3,
    THURSDAY = 4,
    FRIDAY = 5,
    SATURDAY = 6
}
export declare const DAYS_IN_WEEK: number;
export declare const HOURS_IN_DAY: number;
export declare const MINUTES_IN_HOUR: number;
export declare const SECONDS_IN_DAY: number;
export declare const DEFAULT_HOUR_SEGMENT_HEIGHT_PX = 40;
export declare const DEFAULT_EVENT_WIDTH_PERCENT = 100;
export declare const DEFAULT_HOUR_SEGMENTS = 2;
export interface GetSchedulerViewHourGridArgs {
    viewDate: Date;
    hourSegments: number;
    dayStart: {
        hour: number;
        minute: number;
    };
    dayEnd: {
        hour: number;
        minute: number;
    };
}
export declare function getSchedulerViewHourGrid(dateAdapter: DateAdapter, args: GetSchedulerViewHourGridArgs): DayViewHour[];
export interface GetSchedulerViewArgs {
    events?: CalendarSchedulerEvent[];
    viewDate: Date;
    hourSegments: 1 | 2 | 4 | 6;
    weekStartsOn: number;
    startsWithToday: boolean;
    dayStart: {
        hour: number;
        minute: number;
    };
    dayEnd: {
        hour: number;
        minute: number;
    };
    excluded?: number[];
    eventWidth: number;
    hourSegmentHeight: number;
}
export declare function getSchedulerView(dateAdapter: DateAdapter, args: GetSchedulerViewArgs): SchedulerView;
export interface GetSchedulerViewDaysArgs {
    viewDate: Date;
    weekStartsOn: number;
    startsWithToday: boolean;
    excluded?: number[];
    weekendDays?: number[];
}
export declare function getSchedulerViewDays(dateAdapter: DateAdapter, args: GetSchedulerViewDaysArgs): SchedulerViewDay[];
export interface GetEventsInPeriodArgs {
    events: CalendarSchedulerEvent[];
    periodStart: Date;
    periodEnd: Date;
}
