/*!
 * @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 { DateFnsAdapter } from '@angular/material-date-fns-adapter';
import { MatDateFormats } from '@angular/material/core';
import { UserPreferencesService } from '../services/user-preferences.service';
import { Locale } from 'date-fns';
import * as i0 from "@angular/core";
/**
 * Date-fns adapter with moment-to-date-fns conversion.
 *
 * Automatically switches locales based on user preferences.
 * Supports custom display format.
 *
 * @example
 *
 * Add the following to the component `providers` section
 *
 * providers: [
 *  { provide: MAT_DATE_FORMATS, useValue: ADF_FORM_DATE_FORMATS },
 *  { provide: DateAdapter, useClass: AdfDateFnsAdapter }
 * ]
 *
 * Setting custom format
 *
 * constructor(private dateAdapter: DateAdapter<Date>) {}
 *
 * ngOnInit() {
 *   const adapter = this.dateAdapter as AdfDateFnsAdapter;
     adapter.displayFormat = '<custom date-fns format>';
 * }
 */
export declare const DEFAULT_DATE_FORMAT = "dd-MM-yyyy";
/**
 * Material date formats for Date-fns
 */
export declare const ADF_DATE_FORMATS: MatDateFormats;
export declare class AdfDateFnsAdapter extends DateFnsAdapter {
    private formats;
    private _displayFormat?;
    get displayFormat(): string | null;
    set displayFormat(value: string | null);
    constructor(matDateLocale: Locale, formats: MatDateFormats, preferences: UserPreferencesService);
    parse(value: any, parseFormat: string | string[]): Date;
    format(date: Date, displayFormat: string): string;
    private parseAndValidateDate;
    static ɵfac: i0.ɵɵFactoryDeclaration<AdfDateFnsAdapter, [{ optional: true; }, { optional: true; }, null]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AdfDateFnsAdapter>;
}
