import { AfterViewInit, EventEmitter, Injector, OnDestroy, TemplateRef } from '@angular/core';
import { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';
import { BsModalService } from 'ngx-bootstrap/modal';
import * as i0 from "@angular/core";
export declare class DateTimePickerComponent implements AfterViewInit, OnDestroy {
    protected inj: Injector;
    private bsModalService;
    private isDateOpen;
    private isTimeOpen;
    private appLocale;
    datetimepickerTemplate: TemplateRef<any>;
    private mode;
    private placement;
    private _bsDatepickerConfig;
    private minTime;
    private maxTime;
    private _displayFormat;
    change: EventEmitter<Date>;
    private _value;
    private changedValue;
    private modalRef;
    private excludedDatesToDisable;
    constructor(inj: Injector, bsModalService: BsModalService);
    set value(d: Date);
    set bsDatepickerConfig(config: BsDatepickerConfig);
    set excludedDaysToDisable(v: number[]);
    get bsDatepickerConfig(): BsDatepickerConfig;
    set displayFormat(format: string);
    validateSelectedDate(): boolean;
    get displayFormat(): string;
    /**
     * This method is used to highlight the current date
     */
    private hightlightToday;
    private hideOnClick;
    getDateLabel(): any;
    openDatePicker(): void;
    openTimePicker(): void;
    onDateUpdate(newVal: any): void;
    onTimeUpdate(newVal: any): void;
    show(): void;
    clear(): void;
    setToday(): void;
    reset(): void;
    hideModal(): void;
    onCancelClick(): void;
    onOkClick(): void;
    triggerChange(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DateTimePickerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DateTimePickerComponent, "wm-datetimepicker", never, { "mode": { "alias": "mode"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "_bsDatepickerConfig": { "alias": "config"; "required": false; }; "minTime": { "alias": "minTime"; "required": false; }; "maxTime": { "alias": "maxTime"; "required": false; }; "_displayFormat": { "alias": "_displayFormat"; "required": false; }; "excludedDatesToDisable": { "alias": "excludedDatesToDisable"; "required": false; }; "value": { "alias": "value"; "required": false; }; "bsDatepickerConfig": { "alias": "config"; "required": false; }; "excludedDaysToDisable": { "alias": "excludedDaysToDisable"; "required": false; }; "displayFormat": { "alias": "displayFormat"; "required": false; }; }, { "change": "change"; }, never, never, false, never>;
}
export declare class TimePickerComponent implements AfterViewInit {
    protected inj: Injector;
    options: {
        hour: any[];
        minute: any[];
        second: any[];
        meridian: string[];
    };
    private value;
    private min;
    private max;
    change: EventEmitter<Date>;
    constructor(inj: Injector);
    private populateNumbers;
    set({ index, value }: {
        index: any;
        value: any;
    }, unit: 'HOUR' | 'MINUTE' | 'SECOND' | 'MERIDIAN'): void;
    get hour(): any;
    get minute(): any;
    get second(): any;
    get meridian(): string;
    onDateUpdate(newVal: any): void;
    ngAfterViewInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TimePickerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TimePickerComponent, "wm-timepicker", never, { "value": { "alias": "value"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; }, { "change": "change"; }, never, never, false, never>;
}
