import { OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
import { Calendar } from 'primeng/calendar';
import { TranslationService } from '../../../services/translation.service';
import { LocaleService } from '../../../services/locale.service';
import { DynamicFieldBaseComponent } from './dynamic-field-base.component';
import * as i0 from "@angular/core";
/**
 * DynamicFieldDateComponent
 *
 * O FormControl.value SEMPRE armazena a data no formato ISO: "yyyy-MM-dd" (ex: "2026-05-18").
 * A variável `displayValue` mantém o valor formatado no locale do usuário para exibição no input.
 * Isso garante que qualquer componente que acesse form.value receba o valor pronto para o backend.
 */
export declare class DynamicFieldDateComponent extends DynamicFieldBaseComponent implements OnInit, OnDestroy {
    private localeService;
    private cdr;
    calendarPicker: Calendar;
    currentDateFormat: string;
    dateMask: string;
    calendarValue: Date | null;
    /** Valor de exibição no formato locale (ex: "18/05/2026" para pt-BR) */
    displayValue: string | null;
    /** Controla a renderização do p-calendar (só existe no DOM quando necessário) */
    showCalendar: boolean;
    minDateValue?: Date;
    private langSub?;
    private valueSub?;
    private currentLocale;
    private updatingFromControl;
    constructor(translationService: TranslationService, localeService: LocaleService, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    /**
     * Sincroniza o displayValue a partir do valor ISO do FormControl.
     * Aceita: "yyyy-MM-dd", Date, locale string "dd/MM/yyyy", ou null.
     */
    private syncDisplayFromControl;
    /** Chamado quando o usuário completa a digitação da máscara */
    onDisplayValueComplete(): void;
    /** Chamado quando o input perde foco */
    onDisplayValueBlur(): void;
    /**
     * Converte o displayValue (locale) para ISO e seta no FormControl.
     */
    private syncControlFromDisplay;
    /** Seta o valor no control sem disparar o subscriber interno */
    private setControlValue;
    /** Converte ISO "yyyy-MM-dd" para locale string */
    private isoToLocale;
    /** Converte locale string para ISO "yyyy-MM-dd" */
    private localeToIso;
    /** Converte Date para ISO "yyyy-MM-dd" */
    private dateToIso;
    /** Converte locale string para Date */
    private localeToDate;
    private updateDateFormat;
    toggleCalendar(event: Event): void;
    onCalendarSelect(date: Date): void;
    onCalendarClear(): void;
    isControlDisabled(): boolean;
    getPlaceholder(): string;
    private initMinDate;
    static ɵfac: i0.ɵɵFactoryDeclaration<DynamicFieldDateComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DynamicFieldDateComponent, "sia-dynamic-field-date", never, {}, {}, never, never, true, never>;
}
