/*!
 * @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 { OnInit } from '@angular/core';
import { FormControl, FormGroup } from '@angular/forms';
import { SearchWidget } from '../../models/search-widget.interface';
import { SearchWidgetSettings } from '../../models/search-widget-settings.interface';
import { SearchQueryBuilderService } from '../../services/search-query-builder.service';
import { LiveErrorStateMatcher } from '../../forms/live-error-state-matcher';
import { ReplaySubject } from 'rxjs';
import { DatetimeAdapter, MatDatetimepickerInputEvent } from '@mat-datetimepicker/core';
import { DateAdapter } from '@angular/material/core';
import * as i0 from "@angular/core";
export interface DatetimeRangeValue {
    from: string;
    to: string;
}
interface FormProps {
    from: FormControl<Date>;
    to: FormControl<Date>;
}
export declare const DEFAULT_DATETIME_FORMAT: string;
export declare class SearchDatetimeRangeComponent implements SearchWidget, OnInit {
    private dateAdapter;
    private dateTimeAdapter;
    from: FormControl<Date>;
    to: FormControl<Date>;
    form: FormGroup<FormProps>;
    matcher: LiveErrorStateMatcher;
    id: string;
    settings?: SearchWidgetSettings;
    context?: SearchQueryBuilderService;
    datetimePickerFormat: string;
    maxDatetime: any;
    fromMaxDatetime: any;
    isActive: boolean;
    startValue: any;
    enableChangeUpdate: boolean;
    displayValue$: ReplaySubject<string>;
    private readonly destroyRef;
    constructor(dateAdapter: DateAdapter<Date>, dateTimeAdapter: DatetimeAdapter<Date>);
    getFromValidationMessage(): string;
    getToValidationMessage(): string;
    ngOnInit(): void;
    apply(model: Partial<{
        from: Date;
        to: Date;
    }>, isValidValue: boolean, updateContext?: boolean): void;
    submitValues(): void;
    hasValidValue(): boolean;
    getCurrentValue(): DatetimeRangeValue;
    updateDisplayValue(): void;
    setValue(parsedDate: string): void;
    clear(): void;
    reset(): void;
    private updateQuery;
    onChangedHandler(event: MatDatetimepickerInputEvent<Date>, formControl: FormControl<Date>): void;
    hasParseError(formControl: FormControl<Date>): boolean;
    forcePlaceholder(event: any): void;
    setFromMaxDatetime(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SearchDatetimeRangeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SearchDatetimeRangeComponent, "adf-search-datetime-range", never, {}, {}, never, never, true, never>;
}
export {};
