import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core';
import { DatePickerComponent } from './date-picker.component';
import { DatePickerService } from '../../services/date-picker/date-picker.service';
import { DateRange } from '../../models/common/date-range';
import { IDateRange } from '../../models/common/date-range.interface';
export declare type IQuickDateRangeOptionLabel = 'This Week' | 'This Month' | 'Last 7 Days' | 'Last 30 Days' | 'Last 3 Months' | string;
export interface IQuickDateRangeOption {
    label: IQuickDateRangeOptionLabel;
    value: DateRange;
}
export declare class DateRangePickerComponent implements OnInit {
    private datePickerService;
    cd: ChangeDetectorRef;
    constructor(datePickerService: DatePickerService, cd: ChangeDetectorRef);
    startDateEl: DatePickerComponent;
    endDateEl: DatePickerComponent;
    selectEl: HTMLSelectElement;
    showTime: boolean;
    allowQuickFilter: boolean;
    quickDateRangeOptions: IQuickDateRangeOption[];
    rangeLength: number;
    initialRange: DateRange;
    initialQuickDateRangeOption: IQuickDateRangeOptionLabel;
    dateChanged: EventEmitter<IDateRange>;
    value: IDateRange;
    startDateStr: string;
    endDateStr: string;
    quickEntryMode: boolean;
    today: string;
    defaultQuickDateRangeOptions: IQuickDateRangeOption[];
    ngOnInit(): void;
    getQuickFilterOptions(): IQuickDateRangeOption[];
    subtractDays(days: number): string;
    quickFilterChange(event: any): void;
    updateValues(value: DateRange): void;
    onStartDateChanged(startDate: string): void;
    onEndDateChanged(endDate: string): void;
    emitChange(start: string, end: string): void;
    ensureLogicalRange(range: DateRange): DateRange;
}
