import { EventEmitter, Type } from '@angular/core';
import { NbCalendarCell, NbCalendarSize, NbCalendarViewMode, NbDateService } from '../calendar-kit';
export interface NbCalendarRange<D> {
    start: D;
    end?: D;
}
export declare class NbCalendarRangeComponent<D> {
    protected dateService: NbDateService<D>;
    boundingMonth: boolean;
    startView: NbCalendarViewMode;
    min: D;
    max: D;
    filter: (D: any) => boolean;
    _cellComponent: Type<NbCalendarCell<D, NbCalendarRange<D>>>;
    dayCellComponent: Type<NbCalendarCell<D, NbCalendarRange<D>>>;
    monthCellComponent: Type<NbCalendarCell<D, NbCalendarRange<D>>>;
    _yearCellComponent: Type<NbCalendarCell<D, NbCalendarRange<D>>>;
    yearCellComponent: Type<NbCalendarCell<D, NbCalendarRange<D>>>;
    size: NbCalendarSize;
    visibleDate: D;
    showHeader: boolean;
    range: NbCalendarRange<D>;
    rangeChange: EventEmitter<NbCalendarRange<D>>;
    constructor(dateService: NbDateService<D>);
    onChange(date: D): void;
    private initDateIfNull;
    private handleSelected;
    private selectionStarted;
    private selectStart;
    private selectEnd;
    private selectRange;
}
