import { OnInit, ElementRef } from '@angular/core'; import * as i0 from "@angular/core"; export interface TimePickerValue { startDate: Date | null; startTime: Date | null; endDate: Date | null; endTime: Date | null; selectedDay: Date | null; activeTab: 'absolute' | 'daily'; } export interface DateValidationError { field: 'startDate' | 'endDate' | 'selectedDay'; message: string; } /** * Figma Time Picker Component * Full time range picker built to exact Figma specifications * * Design Specs from Figma (node-id: 1900-34030): * - Container: 302px width, 10px border-radius, white background * - Tabs: Absolute/Daily with 48px height, blue active underline * - Absolute tab: Start/End rows with date (120px) + time (88px) inputs * - Daily tab: Select day input (120px) + calendar * - Calendar: Inline datepicker with July 2024 default * - Footer: Cancel + Apply buttons with 24px gap */ export declare class ScDatepickerComponent implements OnInit { private readonly dtConfig; startDateInput?: ElementRef; endDateInput?: ElementRef; selectedDayInput?: ElementRef; readonly initialStartDate: import("@angular/core").InputSignal; readonly initialEndDate: import("@angular/core").InputSignal; activeTab: import("@angular/core").WritableSignal; startDate: import("@angular/core").WritableSignal; startTime: import("@angular/core").WritableSignal; endDate: import("@angular/core").WritableSignal; endTime: import("@angular/core").WritableSignal; startDateDisplay: import("@angular/core").WritableSignal; endDateDisplay: import("@angular/core").WritableSignal; selectedDay: import("@angular/core").WritableSignal; selectedDayDisplay: import("@angular/core").WritableSignal; calendarDate: import("@angular/core").WritableSignal; focusedField: import("@angular/core").WritableSignal<"startDate" | "endDate" | "selectedDay" | null>; validationErrors: import("@angular/core").WritableSignal; valueChange: import("@angular/core").OutputEmitterRef; apply: import("@angular/core").OutputEmitterRef; cancel: import("@angular/core").OutputEmitterRef; constructor(); ngOnInit(): void; /** * Handle tab change event */ onTabChange(value: string | number): void; /** * Check if a date is within the selected range (for range highlighting) */ isDateInRange(date: Date): boolean; /** * Parse date string in DD/MM/YYYY format to Date object */ private parseDate; formatDate(date: Date | null): string; /** * Validate date range (end date must be after start date) */ private validateDateRange; /** * Check if field has validation error */ hasError(field: 'startDate' | 'endDate' | 'selectedDay'): boolean; /** * Handle start date input focus */ onStartDateFocus(): void; /** * Handle start date input change - updates calendar in real-time as user types */ onStartDateChange(): void; /** * Handle start date input blur (validate and parse) */ onStartDateBlur(): void; /** * Handle end date input focus */ onEndDateFocus(): void; /** * Handle end date input change - updates calendar in real-time as user types */ onEndDateChange(): void; /** * Handle end date input blur (validate and parse) */ onEndDateBlur(): void; /** * Handle selected day input focus (Daily tab) */ onSelectedDayFocus(): void; /** * Handle selected day input change (Daily tab) - updates calendar in real-time as user types */ onSelectedDayChange(): void; /** * Handle selected day input blur (Daily tab) */ onSelectedDayBlur(): void; /** * Handle calendar date selection */ onDateSelect(date: Date): void; /** * Handle Cancel button */ onCancel(): void; /** * Handle Apply button */ onApply(): void; /** * Get current picker value */ private getCurrentValue; /** * Emit value change */ private emitValue; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }