import * as _angular_core from '@angular/core'; import { OnDestroy, OnInit, ElementRef, TemplateRef } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { MatFormFieldAppearance, FloatLabelType } from '@angular/material/form-field'; import { SdViewDefDirective } from '@sdcorejs/angular/forms/directives'; import { SdViewed, SdViewedInput, SdFormControl } from '@sdcorejs/angular/forms/models'; import { Size } from '@sdcorejs/utils/models'; type SdDatetimeModelValue = string | number | Date | undefined | null; declare class SdDatetime implements OnDestroy, OnInit { #private; id: string; inputRef: _angular_core.Signal | undefined>; private readonly dateTimePicker; sdLabelTemplate: _angular_core.Signal | undefined>; sdValueTemplate: _angular_core.Signal | undefined>; sdViewDef: _angular_core.Signal | undefined>; private ref; private elementRef; private formConfig; autoIdInput: _angular_core.InputSignal; autoId: _angular_core.Signal; readonly dataDisabled: _angular_core.Signal<"true" | "false">; readonly dataInvalid: _angular_core.Signal<"true" | "false">; readonly dataEmpty: _angular_core.Signal<"true" | "false">; readonly dataValue: _angular_core.Signal; readonly dataRequired: _angular_core.Signal<"true" | "false">; readonly dataErrorMessage: _angular_core.Signal; name: _angular_core.InputSignal; size: _angular_core.InputSignal; form: _angular_core.InputSignalWithTransform | undefined, any>; label: _angular_core.InputSignal; helperText: _angular_core.InputSignal; placeholder: _angular_core.InputSignal; hideInlineError: _angular_core.InputSignalWithTransform; required: _angular_core.InputSignalWithTransform; disabled: _angular_core.InputSignalWithTransform; /** Display mode: `false` edit · `true` static view · `'inline'` view + click-to-edit (datetime overlay). */ viewed: _angular_core.InputSignalWithTransform; /** Hiển thị thêm cột giây trong picker. Mặc định: chỉ HH:MM. */ showSeconds: _angular_core.InputSignalWithTransform; /** Whether to show the value-gated clear button in edit and inline modes. */ clearable: _angular_core.InputSignalWithTransform; /** `true` when `viewed === 'inline'`. */ readonly isInline: _angular_core.Signal; /** `true` when `viewed === true` (static view, no editor). */ readonly isViewed: _angular_core.Signal; /** Open the datetime overlay from the inline text face. No-op unless `viewed='inline'`. */ enterInlineEdit: () => void; /** View display template: `sdViewDef` overrides the projected `#sdValue` (unified). */ readonly viewTemplate: _angular_core.Signal | undefined>; inlineError: _angular_core.InputSignal; /** * Tổng hợp error message để hiển thị trong tooltip khi hideInlineError = true. */ readonly errorMessage: _angular_core.Signal; hyperlink: _angular_core.InputSignal; appearanceInput: _angular_core.InputSignal; appearance: _angular_core.Signal; floatLabel: _angular_core.InputSignal; minInput: _angular_core.InputSignal; minDateInput: _angular_core.InputSignal; resolvedMin: _angular_core.Signal; maxInput: _angular_core.InputSignal; maxDateInput: _angular_core.InputSignal; resolvedMax: _angular_core.Signal; valueModel: _angular_core.ModelSignal; viewedDate: _angular_core.Signal; sdChange: _angular_core.OutputEmitterRef; sdFocus: _angular_core.OutputEmitterRef; isMobileOrTablet: boolean; formControl: SdFormControl; isFocused: boolean; isValid?: boolean; /** State popup — true khi picker package đang mở. */ pickerOpened: _angular_core.Signal; ngOnInit(): void; ngOnDestroy(): void; /** Mở popup chọn datetime, neo vào input. */ open(): void; /** Đóng popup (public — gọi từ template nếu cần). */ close(): void; onPickerConfirm(value: Date): void; onFocus: () => void; onBlur: () => void; onClick: () => void; blur: () => void; focus: () => void; focusInputElement(): void; onKeyDown: (event: KeyboardEvent) => boolean; /** * Khi user gõ trực tiếp vào input và rời focus → validate format dd/MM/yyyy HH:mm * Hỗ trợ cả format có giây. */ onConfirmInput: (event: any) => void; clear: ($event: any) => void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { SdDatetime };