import { Injector, OnInit, TemplateRef } from '@angular/core';
import { DateAdapter } from '@angular/material/core';
import { MatDatepicker, MatDatepickerInputEvent } from '@angular/material/datepicker';
import { OntimizeMomentDateAdapter } from '../../../../../shared/material/date/ontimize-moment-date-adapter';
import { DateFilterFunction } from '../../../../../types/date-filter-function.type';
import { ODateValueType } from '../../../../../types/o-date-value.type';
import { OBaseTableCellEditor } from '../o-base-table-cell-editor.class';
import * as i0 from "@angular/core";
export declare const DEFAULT_INPUTS_O_TABLE_CELL_EDITOR_DATE: string[];
export declare class OTableCellEditorDateComponent extends OBaseTableCellEditor implements OnInit {
    protected injector: Injector;
    protected momentDateAdapter: DateAdapter<OntimizeMomentDateAdapter>;
    templateref: TemplateRef<any>;
    format: string;
    protected locale: string;
    oStartView: 'month' | 'year';
    protected min: string;
    protected max: string;
    oTouchUi: boolean;
    protected startAt: string;
    filterDate: DateFilterFunction;
    _dateValueType: ODateValueType;
    oStartAt: Date;
    oMinDate: Date;
    oMaxDate: Date;
    private momentSrv;
    minDateString: string;
    maxDateString: string;
    protected datepicker: MatDatepicker<Date>;
    constructor(injector: Injector, momentDateAdapter: DateAdapter<OntimizeMomentDateAdapter>);
    initialize(): void;
    protected handleKeyup(event: KeyboardEvent): void;
    startEdition(data: any): void;
    getCellData(): any;
    commitEdition(): void;
    protected getValueByValyType(): any;
    onDateChange(event: MatDatepickerInputEvent<any>): void;
    openDatepicker(d: MatDatepicker<Date>): void;
    set dateValueType(val: any);
    get dateValueType(): any;
    onClosed(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<OTableCellEditorDateComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<OTableCellEditorDateComponent, "o-table-cell-editor-date", never, { "format": "format"; "locale": "locale"; "oStartView": "start-view"; "min": "min"; "max": "max"; "oTouchUi": "touch-ui"; "startAt": "start-at"; "filterDate": "filter-date"; "dateValueType": "date-value-type"; }, {}, never, never, false, never>;
}
