/**
 * @kosService core.utils
 * @kosApiLevel 2
 */
export declare function formatDateSince(date: Date): string;
/**
 * @kosService core.utils
 * @kosApiLevel 3
 */
export declare const isLeapYear: (year: number) => boolean;
/**
 * @kosService core.utils
 * @kosApiLevel 3
 */
export declare const getDaysInMonth: (year: number, month: number) => number;
/**
 * @kosService core.utils
 * @kosApiLevel 3
 */
export declare const addMonthsToDate: (date: Date, value: number) => Date;
/**
 * @kosService core.utils
 * @kosApiLevel 3
 */
export declare const addDaysToDate: (date: Date, value: number) => Date;
interface FormatDateOptions {
    dateStyle?: "short" | "medium" | "long" | "full";
    locales?: string | string[];
}
interface FormatTimeOptions {
    timeStyle?: "short" | "medium" | "long" | "full";
    locales?: string | string[];
}
interface FormatDateTimeOptions extends FormatDateOptions, FormatTimeOptions {
}
/**
 * Formats a date according to the specified `dateStyle` and locale.
 *
 * Uses `Intl.DateTimeFormat` internally.
 *
 * - `"short"` uses a custom format: `dd/mm/yyyy` (e.g., `31/12/2025`)
 * - Other styles use built-in `Intl` formatting
 *
 * ### Example Output
 * ```ts
 * formatDate(new Date("2025-12-31"), { dateStyle: "short" });  // "31/12/2025"
 * formatDate(new Date("2025-12-31"), { dateStyle: "medium" }); // "Dec 31, 2025"
 * formatDate(new Date("2025-12-31"), { dateStyle: "long" });   // "December 31, 2025"
 * formatDate(new Date("2025-12-31"), { dateStyle: "full" });   // "Wednesday, December 31, 2025"
 * ```
 *
 * @param date - The date object or timestamp to format.
 * @param options - Options to customize formatting.
 * @param options.dateStyle - One of `"short"`, `"medium"`, `"long"`, or `"full"`.
 * @param options.locales - Optional locale string or array of locale strings.
 * @returns A formatted date string.
 *
 * @kosService core.utils
 * @kosApiLevel 3
 */
export declare const formatDate: (date?: Date | number, { dateStyle, locales }?: FormatDateOptions) => string;
/**
 * Formats a time according to the specified `timeStyle` and locale.
 *
 * Uses `Intl.DateTimeFormat` internally.
 *
 * ### Example Output
 * ```ts
 * formatTime(new Date("2025-12-31T23:59:59"), { timeStyle: "short" });  // "11:59 PM"
 * formatTime(new Date("2025-12-31T23:59:59"), { timeStyle: "medium" }); // "11:59:59 PM"
 * formatTime(new Date("2025-12-31T23:59:59"), { timeStyle: "long" });   // "11:59:59 PM EST"
 * formatTime(new Date("2025-12-31T23:59:59"), { timeStyle: "full" });   // "11:59 PM Eastern Standard Time"
 * ```
 *
 * @param date - The date object or timestamp to extract the time from.
 * @param options - Options to customize time formatting.
 * @param options.timeStyle - One of `"short"`, `"medium"`, `"long"`, or `"full"`.
 * @param options.locales - Optional locale string or locale array.
 * @returns A formatted time string.
 *
 * @kosService core.utils
 * @kosApiLevel 3
 */
export declare const formatTime: (date?: Date | number, { locales, timeStyle }?: FormatTimeOptions) => string;
/**
 * Formats a date and/or time using custom formatting logic based on `dateStyle` and `timeStyle`.
 *
 * Uses explicit `Intl.DateTimeFormat` options for full control over the output format.
 *
 * - `"short"` date is always `dd/mm/yyyy`
 * - `"short"` time is always 12-hour format (e.g., `11:59 PM`)
 * - Supports combining both formats into a single string
 *
 * ### Example Output
 * ```ts
 * formatDateTime(new Date("2025-12-31T23:59:59"), {
 *   dateStyle: "short",
 *   timeStyle: "short"
 * }); // "31/12/2025, 11:59 PM"
 *
 * formatDateTime(new Date("2025-12-31T23:59:59"), {
 *   dateStyle: "medium",
 *   timeStyle: "medium"
 * }); // "Dec 31, 2025, 11:59:59 PM"
 *
 * formatDateTime(new Date("2025-12-31T23:59:59"), {
 *   dateStyle: "long",
 *   timeStyle: "long"
 * }); // "December 31, 2025, 11:59:59 PM EST"
 *
 * formatDateTime(new Date("2025-12-31T23:59:59"), {
 *   dateStyle: "full",
 *   timeStyle: "full"
 * }); // "Wednesday, December 31, 2025, 11:59 PM Eastern Standard Time"
 *
 * formatDateTime(new Date("2025-12-31T23:59:59"), {
 *   timeStyle: "short"
 * }); // "11:59 PM"
 * ```
 *
 * @param date - The `Date` object or timestamp to format.
 * @param options - Formatting options.
 * @param options.dateStyle - Custom date format: `"short"`, `"medium"`, `"long"`, or `"full"`.
 * @param options.timeStyle - Custom time format: `"short"`, `"medium"`, `"long"`, or `"full"`.
 * @param options.locales - Optional locale string or locale array.
 * @returns A string representing the formatted date and/or time.
 *
 * @kosService core.utils
 * @kosApiLevel 3
 */
export declare const formatDateTime: (date?: Date | number, { dateStyle, locales, timeStyle, }?: FormatDateTimeOptions) => string;
export {};
//# sourceMappingURL=date-utils.d.ts.map