import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { DateInputMetadata } from './types';
import * as i0 from "@angular/core";
export declare class DateInputComponent implements OnInit, OnChanges {
    private i18n;
    private presets;
    constructor();
    /**
     * Preset name to apply. Presets define reusable date input configurations
     * that can be registered at app level via provideValtechPresets().
     *
     * @example
     * <val-date-input preset="form-field" [props]="{ control: ctrl }"></val-date-input>
     */
    preset?: string;
    /**
     * Input configuration object. Values here override preset values.
     * @type {DateInputMetadata}
     * @property control - The Angular FormControl for the date input.
     * @property hint - The hint text for the input.
     */
    props: Partial<DateInputMetadata>;
    /**
     * Resolved props after merging preset + explicit props.
     */
    resolvedProps: DateInputMetadata;
    /** Done button text - from props or i18n default */
    get doneText(): string;
    /** Cancel button text - from props or i18n default */
    get cancelText(): string;
    /** Presentación del datetime (default: date). */
    get presentation(): string;
    /** Locale del datetime — honra el prop del consumer (default es-ES). */
    get datetimeLocale(): string;
    /** Primer día de la semana — honra el prop del consumer (default lunes). */
    get firstDayOfWeek(): number;
    /**
     * Opciones de formato para `ion-datetime` (binding, NO string). Honra el prop
     * del consumer y cae a un default sensato (date medium / time short).
     */
    get datetimeFormatOptions(): {
        date?: {
            dateStyle?: 'full' | 'long' | 'medium' | 'short';
        };
        time?: {
            timeStyle?: 'full' | 'long' | 'medium' | 'short';
        };
    };
    /** Texto del trigger cuando NO hay valor (placeholder explícito o default i18n). */
    get placeholderText(): string;
    /** Id del trigger/datetime — estable; se garantiza no vacío en resolveProps. */
    get triggerId(): string;
    /** Valor formateado del control para mostrar en el trigger ('' si vacío). */
    get displayValue(): string;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * Merge preset configuration with explicit props.
     * Explicit props take precedence over preset values.
     */
    private resolveProps;
    private applyDefaultValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<DateInputComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DateInputComponent, "val-date-input", never, { "preset": { "alias": "preset"; "required": false; }; "props": { "alias": "props"; "required": false; }; }, {}, never, never, true, never>;
}
