import { AfterViewInit, EventEmitter, ChangeDetectorRef, SimpleChanges, OnChanges } from '@angular/core';
import { I18nService } from '../i18n/i18n.service';
import { CalendarHoliday } from '../calendar/interfaces/calendar-holiday.interface';
import * as i0 from "@angular/core";
export interface FilterTime {
    range: DateRange;
    selected: boolean;
}
export interface DateRange {
    start: Date;
    end: Date;
}
export declare class TlTimeAvailablePicker implements AfterViewInit, OnChanges {
    private change;
    private i18nService;
    availableTimes: Array<DateRange>;
    color: string;
    loading: boolean;
    maxHeight: string;
    width: string;
    dateValue: Date;
    value: Array<DateRange>;
    holidays: Array<CalendarHoliday>;
    changeSelect: EventEmitter<any>;
    filterTimes: Array<FilterTime>;
    selectedTime: Array<FilterTime>;
    notFoundMessage: string;
    constructor(change: ChangeDetectorRef, i18nService: I18nService);
    ngAfterViewInit(): void;
    private setUpData;
    private resetArrays;
    private handleValueChange;
    private getDateOnFilter;
    private getSelectedArray;
    private deselectAll;
    private findSelected;
    private handleDeselect;
    setSelectedTime(time: FilterTime, index: number): void;
    private getFirstIndex;
    private getLastIndex;
    private selectMany;
    private updateTime;
    ngOnChanges(changes: SimpleChanges): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TlTimeAvailablePicker, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TlTimeAvailablePicker, "tl-time-available-picker", never, { "availableTimes": "availableTimes"; "color": "color"; "loading": "loading"; "maxHeight": "maxHeight"; "width": "width"; "dateValue": "dateValue"; "value": "value"; "holidays": "holidays"; }, { "changeSelect": "changeSelect"; }, never, never, false, never>;
}
//# sourceMappingURL=time-available-picker.d.ts.map