/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { OnInit } from '@angular/core';
import { ColumnComponent } from '../columns/column.component';
import { FilterService } from './filter.service';
import { FilterDescriptor } from '@progress/kendo-data-query';
import { BaseFilterCellComponent } from './base-filter-cell.component';
import { FilterComponent } from './filter-component.interface';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { CalendarView, DateInputFormatPlaceholder } from '@progress/kendo-angular-dateinputs';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare class DateFilterComponent extends BaseFilterCellComponent implements FilterComponent, OnInit {
    protected localization: LocalizationService;
    /**
     * The column with which the filter is associated.
     * @type {ColumnComponent}
     */
    column: ColumnComponent;
    /**
     * The default filter operator. Defaults to `contains`.
     * @type {string}
     * @default 'gte'
     */
    operator: string;
    /**
     * The current filter for the associated column field.
     * @readonly
     * @type {FilterDescriptor}
     */
    get currentFilter(): FilterDescriptor;
    /**
     * Specifies the date format that is used when the component is not focused.
     * By default, the `column.format` value is used (if set).
     */
    set format(value: string);
    /**
     * Specifies the date format that is used when the component is not focused.
     * By default, the `column.format` value is used (if set).
     *
     * @readonly
     * @type {string}
     */
    get format(): string;
    /**
     * Specifies the smallest value that is valid.
     * @type {Date}
     */
    min: Date;
    /**
     * Specifies the greatest value that is valid.
     * @type {Date}
     */
    max: Date;
    /**
     * Defines the descriptions of the format sections in the input field.
     * [See possible format options](slug:placeholders_dateinput#toc-format-sections-description).
     */
    formatPlaceholder: DateInputFormatPlaceholder;
    /**
     * Specifies the hint that the component displays when its value is `null`.
     */
    placeholder: string;
    /**
     * Defines the active view that the calendar initially renders.
     * By default, the active view is `month`.
     *
     * You have to set `activeView` within the `topView`-`bottomView` range.
     * @default 'month'
     */
    activeView: CalendarView;
    /**
     * Defines the bottommost calendar view, to which the user can navigate.
     * @default 'month'
     */
    bottomView: CalendarView;
    /**
     * Defines the topmost calendar view, to which the user can navigate.
     * @default 'century'
     */
    topView: CalendarView;
    /**
     * Determines whether to display a week number column in the `month` view of the Calendar.
     * @default false
     */
    weekNumber: boolean;
    private get columnFormat();
    /**
     * The current filter operator for the associated column field.
     * @readonly
     * @type {string}
     */
    get currentOperator(): string;
    private _format;
    private subscription;
    constructor(filterService: FilterService, localization: LocalizationService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    protected localizationChange(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DateFilterComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DateFilterComponent, never, never, { "column": { "alias": "column"; "required": false; }; "operator": { "alias": "operator"; "required": false; }; "format": { "alias": "format"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "formatPlaceholder": { "alias": "formatPlaceholder"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "activeView": { "alias": "activeView"; "required": false; }; "bottomView": { "alias": "bottomView"; "required": false; }; "topView": { "alias": "topView"; "required": false; }; "weekNumber": { "alias": "weekNumber"; "required": false; }; }, {}, never, never, false, never>;
}
