import type { DateRange } from './models';
export type { DateRange };
export declare function formatNativeDate(date: Date): string;
/**
 * Formata uma data segundo um padrão simples contendo os tokens `dd`, `MM` e `yyyy`.
 * Usado apenas para exibição em campos `type="text"` (modo `range`), onde o browser
 * não controla o formato. Para `type="date"` nativo o formato é definido pelo browser.
 */
export declare function formatWithPattern(date: Date, pattern: string): string;
export declare function formatTime(h: number, m: number, s?: number): string;
/** Parses yyyy-MM-dd. Returns null when invalid. */
export declare function parseDate(raw: string): Date | null;
export declare function isSameDay(a: Date, b: Date): boolean;
export declare function stripTime(date: Date): number;
export declare function parseRangeInput(raw: string, separator?: string): DateRange | null;
export declare function parseTimeInput(raw: string, base: Date | null, maxHours: number, maxMinutes: number): Date | null;
export declare function parseYearInput(raw: string): Date | null;
export declare function parseMonthInput(raw: string): Date | null;
export declare function parseDateTimeInput(raw: string): Date | null;
export declare function parseInput(mode: string, raw: string, base: Date | null, maxHours: number, maxMinutes: number, rangeSeparator?: string): Date | DateRange | null;
export declare function formatValueForInput(mode: string, value: Date | DateRange | Date[] | null, rangeSeparator?: string, dateFormat?: string, multipleSeparator?: string): string;
