import { EventEmitter, OnChanges, SimpleChanges, Type } from '@angular/core';
import { RCalendarMonthModelService } from '../../services/calendar-month-model.service';
import { RCalendarCell, RCalendarSize, RCalendarSizeValues } from '../../model';
/**
 * Provides capability pick days.
 * */
export declare class RCalendarDayPickerComponent<D, T> implements OnChanges {
    private monthModel;
    /**
     * Describes which month picker have to render.
     * */
    visibleDate: D;
    /**
     * Defines if we should render previous and next months
     * in the current month view.
     * */
    boundingMonths: boolean;
    /**
     * Minimum available date for selection.
     * */
    min: D;
    /**
     * Maximum available date for selection.
     * */
    max: D;
    /**
     * Predicate that decides which cells will be disabled.
     * */
    filter: (D: any) => boolean;
    /**
     * Custom day cell component. Have to implement `RCalendarCell` interface.
     * */
    set setCellComponent(cellComponent: Type<RCalendarCell<D, T>>);
    cellComponent: Type<RCalendarCell<any, any>>;
    /**
     * Size of the component.
     * Can be 'medium' which is default or 'large'.
     * */
    size: RCalendarSize;
    static ngAcceptInputType_size: RCalendarSizeValues;
    /**
     * Already selected date.
     * */
    date: T;
    /**
     * Determines should we show week numbers column.
     * False by default.
     * */
    get showWeekNumber(): boolean;
    set showWeekNumber(value: boolean);
    protected _showWeekNumber: boolean;
    static ngAcceptInputType_showWeekNumber: any;
    /**
     * Sets symbol used as a header for week numbers column
     * */
    weekNumberSymbol: string;
    /**
     * Fires newly selected date.
     * */
    dateChange: EventEmitter<D>;
    get large(): boolean;
    /**
     * Day picker model.
     * Provides all days in current month and if boundingMonth is true some days
     * from previous and next one.
     * */
    weeks: D[][];
    constructor(monthModel: RCalendarMonthModelService<D>);
    ngOnChanges({ visibleDate, boundingMonths }: SimpleChanges): void;
    onSelect(day: D): void;
}
