/*!
 * @license
 * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { EventEmitter, OnInit } from '@angular/core';
import { DateAdapter, MatDateFormats } from '@angular/material/core';
import { DateFnsAdapter } from '@angular/material-date-fns-adapter';
import { InLastDateType } from './in-last-date-type';
import { DateRangeType } from './date-range-type';
import { SearchDateRange } from './search-date-range';
import { FormBuilder, UntypedFormControl } from '@angular/forms';
import { UserPreferencesService } from '@alfresco/adf-core';
import * as i0 from "@angular/core";
export declare class SearchDateRangeComponent implements OnInit {
    private formBuilder;
    private userPreferencesService;
    private dateAdapter;
    private dateFormatConfig;
    dateFormat: string;
    maxDate: string;
    field: string;
    set initialValue(value: SearchDateRange);
    changed: EventEmitter<Partial<SearchDateRange>>;
    valid: EventEmitter<boolean>;
    form: import("@angular/forms").FormGroup<{
        dateRangeType: import("@angular/forms").FormControl<DateRangeType>;
        inLastValueType?: import("@angular/forms").FormControl<InLastDateType>;
        inLastValue?: import("@angular/forms").FormControl<string>;
        betweenStartDate?: import("@angular/forms").FormControl<Date>;
        betweenEndDate?: import("@angular/forms").FormControl<Date>;
    }>;
    betweenStartDateFormControl: import("@angular/forms").FormControl<Date>;
    betweenEndDateFormControl: import("@angular/forms").FormControl<Date>;
    convertedMaxDate: Date;
    readonly DateRangeType: typeof DateRangeType;
    readonly InLastDateType: typeof InLastDateType;
    private readonly destroyRef;
    constructor(formBuilder: FormBuilder, userPreferencesService: UserPreferencesService, dateAdapter: DateAdapter<DateFnsAdapter>, dateFormatConfig: MatDateFormats);
    readonly endDateValidator: (formControl: UntypedFormControl) => {
        [key: string]: boolean;
    };
    ngOnInit(): void;
    private updateValidators;
    private onChange;
    dateChanged(event: Event, formControl: UntypedFormControl): void;
    narrowDownAllowedCharacters(event: Event): void;
    preventIncorrectNumberCharacters(event: KeyboardEvent): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<SearchDateRangeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SearchDateRangeComponent, "adf-search-date-range", never, { "dateFormat": { "alias": "dateFormat"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "field": { "alias": "field"; "required": false; }; "initialValue": { "alias": "initialValue"; "required": false; }; }, { "changed": "changed"; "valid": "valid"; }, never, never, true, never>;
}
