import type { DatetimePickerMode, InputTimeType, NavigationAction, WeekDayIndex } from './datetime-picker.types'; /** * Formata uma data para exibição no campo de entrada, conforme o modo do datetime-picker. * @param date Data a ser formatada * @param mode Modo do datetime-picker * @returns String formatada ou vazia se a data for inválida */ export declare function formatDateForInput(date: Date | null | undefined, mode: DatetimePickerMode): string; /** * Retorna o dia do mês com zero à esquerda. * @param date Data para a qual o dia do mês será obtido * @returns String representando o dia do mês com dois dígitos */ export declare function getDayWithLeadingZero(date: Date): string; /** * Retorna o rótulo do mês e ano para uma determinada data. * @param date Data para a qual o rótulo será obtido * @returns Rótulo do mês e ano no formato "MMMM yyyy" */ export declare function getMonthYearLabel(date: Date): string; /** * Retorna o ícone correspondente a uma ação de navegação. * @param action Ação de navegação * @returns Nome do ícone */ export declare function getIconForAction(action: NavigationAction): string; /** * Resolve o ícone do campo de entrada com base no modo atual. * @param mode Modo do datetime-picker * @returns Nome do ícone */ export declare function getInputIcon(mode: DatetimePickerMode): string; /** * Retorna as datas que serão exibidas na visualização do mês. * @param baseDate Data base para o mês * @param weekStartsOn Dia da semana em que a semana começa * @returns Array de datas para exibir no calendário */ export declare function getMonthViewDates(baseDate: Date, weekStartsOn: WeekDayIndex): Date[]; /** * Retorna os rótulos dos dias da semana, ajustados conforme o dia de início da semana. * @param weekStartsOn Dia da semana em que a semana começa * @param weekdays Array com os nomes abreviados dos dias da semana * @returns Array de rótulos dos dias da semana reordenados */ export declare function getWeekdayLabels(weekStartsOn: WeekDayIndex, weekdays: string[]): string[]; /** * Retorna o rótulo aria para um campo de tempo específico. * @param type Tipo de campo de tempo (hora ou minuto) * @returns Rótulo aria correspondente ao campo de tempo */ export declare function getTimeFieldAriaLabel(type: InputTimeType): string; /** * Retorna a configuração do campo de tempo com base no tipo especificado. * @param type Tipo de campo de tempo (hora ou minuto) * @param baseDate Data base para obter os valores * @returns Objeto contendo o valor atual e as ações de navegação */ export declare function getTimeFieldConfig(type: InputTimeType, baseDate: Date): { value: number; nextAction: "next-hour"; prevAction: "previous-hour"; } | { value: number; nextAction: "next-minute"; prevAction: "previous-minute"; }; /** * Retorna o valor do campo de tempo formatado com dois dígitos. * @param type Tipo de campo de tempo (hora ou minuto) * @param baseDate Data base para obter os valores * @returns Valor formatado do campo de tempo */ export declare function getTimeFieldValue(type: InputTimeType, baseDate: Date): string; /** * Retorna o rótulo aria para um botão de navegação específico. * @param action Ação de navegação * @param baseDate Data base atual * @returns Rótulo aria correspondente à ação de navegação */ export declare function getNavigationAriaLabel(action: NavigationAction, baseDate: Date): string; /** * Analisa o valor de entrada de data e retorna um objeto Date ou null se inválido. * @param value Valor de entrada a ser analisado * @param base Data base para análise * @returns Objeto Date válido ou null se inválido */ export declare function parseDateInput(value: string, base: Date): Date | null; /** * Analisa o valor de entrada de tempo e retorna um objeto Date ou null se inválido. * @param value Valor de entrada a ser analisado * @param base Data base para análise * @returns Objeto Date válido ou null se inválido */ export declare function parseTimeInput(value: string, base: Date): Date | null; /** * Analisa o valor de entrada de data e hora e retorna um objeto Date ou null se inválido. * @param value Valor de entrada a ser analisado * @param base Data base para análise * @returns Objeto Date válido ou null se inválido */ export declare function parseDateTimeInput(value: string, base: Date): Date | null; /** * Analisa o valor de entrada e retorna um objeto Date ou null se inválido. * @param value Valor de entrada a ser analisado * @param mode Modo do datetime-picker * @param fallbackBase Data base de fallback * @returns Objeto Date válido ou null se inválido */ export declare function parseInputValue(value: string, mode: DatetimePickerMode, fallbackBase: Date): Date | null;