import { EventEmitter, QueryList, DoCheck, OnInit } from '@angular/core';
import { ICalendarDate } from '../../calendar/calendar';
import { IgxDayItemComponent } from './day-item.component';
import { DateRangeDescriptor } from '../../core/dates';
import { IgxCalendarBaseDirective } from '../calendar-base';
import { IViewChangingEventArgs } from './days-view.interface';
import { IgxDaysViewNavigationService } from '../days-view/daysview-navigation.service';
export declare class IgxDaysViewComponent extends IgxCalendarBaseDirective implements DoCheck, OnInit {
    daysNavService: IgxDaysViewNavigationService;
    /**
     * 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
     */
    changeDaysView: boolean;
    /**
     * @hidden
     */
    onDateSelection: EventEmitter<ICalendarDate>;
    /**
     * @hidden
     */
    onViewChanging: EventEmitter<IViewChangingEventArgs>;
    /**
     * @hidden
     */
    dates: QueryList<IgxDayItemComponent>;
    /**
     * @hidden
     */
    outOfRangeDates: DateRangeDescriptor[];
    /**
     * @hidden
     */
    nextMonthView: IgxDaysViewComponent;
    /**
     * @hidden
     */
    prevMonthView: IgxDaysViewComponent;
    /**
     * The default css class applied to the component.
     *
     * @hidden
     */
    styleClass: boolean;
    /**
     * @hidden
     */
    constructor(daysNavService: IgxDaysViewNavigationService);
    /**
     * @hidden
     */
    get getCalendarMonth(): ICalendarDate[][];
    /**
     * @hidden
     */
    ngOnInit(): void;
    /**
     * @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
     */
    private disableOutOfRangeDates;
    /**
     * @hidden
     */
    getFirstMonthView(): IgxDaysViewComponent;
    /**
     * @hidden
     */
    private getLastMonthView;
    /**
     * @hidden
     */
    private get isSingleSelection();
    /**
     * @hidden
     */
    onKeydownArrow(event: KeyboardEvent): void;
    /**
     * @hidden
     */
    onKeydownHome(event: KeyboardEvent): void;
    /**
     * @hidden
     */
    onKeydownEnd(event: KeyboardEvent): void;
}
