import * as _angular_core from '@angular/core'; import { OnDestroy, OnInit, ElementRef, TemplateRef } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { MatDatepicker, MatDatepickerInputEvent } from '@angular/material/datepicker'; import { MatFormFieldAppearance, FloatLabelType } from '@angular/material/form-field'; import { SdViewDefDirective, SdLabelDefDirective } from '@sdcorejs/angular/forms/directives'; import { SdViewed, SdViewedInput, SdFormControl } from '@sdcorejs/angular/forms/models'; import { Size } from '@sdcorejs/utils/models'; type SdDateModelValue = string | number | Date | undefined | null; declare class SdDate implements OnDestroy, OnInit { #private; id: string; inputRef: _angular_core.Signal | undefined>; datePicker: _angular_core.Signal | undefined>; sdLabelTemplate: _angular_core.Signal | undefined>; sdValueTemplate: _angular_core.Signal | undefined>; sdViewDef: _angular_core.Signal | undefined>; sdLabelDef: _angular_core.Signal; private ref; 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 (calendar). */ viewed: _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 calendar 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; sdChange: _angular_core.OutputEmitterRef; sdFocus: _angular_core.OutputEmitterRef; isMobileOrTablet: boolean; formControl: SdFormControl; isFocused: boolean; isValid?: boolean; ngOnInit(): void; ngOnDestroy(): void; onFocus: () => void; onBlur: () => void; onClick: () => void; blur: () => void; focus: () => void; /** Open the datepicker calendar programmatically (anchors to the field input). */ open: () => void; focusInputElement(): void; onKeyDown: (event: KeyboardEvent) => boolean; onKeyup: (event: any) => void; onChange: (event: MatDatepickerInputEvent) => void; clear: ($event: any) => void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { SdDate };