import { EventEmitter, QueryList, DoCheck } from '@angular/core';
import { ICalendarDate } from '../../calendar/calendar';
import { IgxDayItemComponent } from './day-item.component';
import { DateRangeDescriptor } from '../../core/dates';
import { IgxCalendarBase } from '../calendar-base';
export declare class IgxDaysViewComponent extends IgxCalendarBase implements DoCheck {
    /**
     * Sets/gets the `id` of the days view.
     * If not set, the `id` will have value `"igx-days-view-0"`.
     * ```html
     * <igx-days-view id="my-days-view"></igx-days-view>
     * ```
     * ```typescript
     * let daysViewId =  this.daysView.id;
     * ```
     */
    id: string;
    /**
     * @hidden
     */
    animationAction: any;
    /**
     * @hidden
     */
    changeDaysView: boolean;
    /**
     * @hidden
     */
    onDateSelection: EventEmitter<ICalendarDate>;
    /**
     * @hidden
     */
    onViewChanged: EventEmitter<Date>;
    /**
     * @hidden
     */
    dates: QueryList<IgxDayItemComponent>;
    /**
     * @hidden
     */
    nextDate: Date;
    /**
     * @hidden
     */
    callback: (dates?: any, next?: any) => void;
    /**
     * @hidden
     */
    isKeydownTrigger: boolean;
    /**
     * @hidden
     */
    outOfRangeDates: DateRangeDescriptor[];
    /**
     * @hidden
     */
    nextMonthView: IgxDaysViewComponent;
    /**
     * @hidden
     */
    prevMonthView: IgxDaysViewComponent;
    /**
     * The default css class applied to the component.
     *
     * @hidden
     */
    styleClass: boolean;
    /**
     * @hidden
     */
    readonly getCalendarMonth: ICalendarDate[][];
    /**
     * @hidden
     */
    ngDoCheck(): void;
    /**
     * Returns the locale representation of the date in the days view.
     *
     * @hidden
     */
    formattedDate(value: Date): string;
    /**
     * @hidden
     */
    generateWeekHeader(): string[];
    /**
     * @hidden
     */
    rowTracker(index: any, item: any): string;
    /**
     * @hidden
     */
    dateTracker(index: any, item: any): string;
    /**
     * @hidden
     */
    isCurrentMonth(value: Date): boolean;
    /**
     * @hidden
     */
    isCurrentYear(value: Date): boolean;
    /**
     * @hidden
     */
    isSelected(date: ICalendarDate): boolean;
    /**
     * @hidden
     */
    isLastInRange(date: ICalendarDate): boolean;
    /**
     * @hidden
     */
    isFirstInRange(date: ICalendarDate): boolean;
    /**
     * @hidden
     */
    isWithinRange(date: Date, checkForRange: boolean, min?: Date, max?: Date): boolean;
    /**
     *@hidden
     */
    focusActiveDate(): void;
    /**
     * @hidden
     */
    selectDay(event: any): void;
    /**
     * @hidden
     */
    animationDone(event: any, isLast: boolean): void;
    /**
     * @hidden
     */
    private focusPreviousUpDate;
    /**
     * @hidden
     */
    private focusNextDownDate;
    /**
     * @hidden
     */
    private focusPreviousDate;
    /**
     * @hidden
     */
    private focusNextDate;
    /**
     * @hidden
     */
    private disableOutOfRangeDates;
    /**
     * Helper method that does deselection for all month views when selection is "multi"
     * If not called, selection in other month views stays
     * @hidden
     */
    private deselectDateInMonthViews;
    /**
     * @hidden
     */
    private deselectMultipleInMonth;
    /**
     * @hidden
     */
    private getFirstMonthView;
    /**
     * @hidden
     */
    private getLastMonthView;
    /**
     * @hidden
     */
    private isDayFocusable;
    /**
     * @hidden
     */
    private readonly isSingleSelection;
    /**
     * @hidden
     */
    private focusFirstDay;
    /**
     * @hidden
     */
    private focusLastDay;
    /**
     * @hidden
     */
    onKeydownArrowUp(event: KeyboardEvent): void;
    /**
     * @hidden
     */
    onKeydownArrowDown(event: KeyboardEvent): void;
    /**
     * @hidden
     */
    onKeydownArrowLeft(event: KeyboardEvent): void;
    /**
     * @hidden
     */
    onKeydownArrowRight(event: KeyboardEvent): void;
    /**
     * @hidden
     */
    onKeydownHome(event: KeyboardEvent): void;
    /**
     * @hidden
     */
    onKeydownEnd(event: KeyboardEvent): void;
}
