import { DataResponseError, DataResponseReturnType } from "../common/types"; import { LANGUAGE_CODE } from "../common/constants"; import { Configuration, EmailName, Message } from '@nylas/core'; import dayjs from 'dayjs'; import 'dayjs/locale/fr'; import 'dayjs/locale/es'; import 'dayjs/locale/de'; import 'dayjs/locale/nl'; import 'dayjs/locale/sv'; import 'dayjs/locale/ja'; import 'dayjs/locale/zh-cn'; import 'dayjs/locale/ko'; export declare function getTimezoneOffset(timezone: string): string; export declare function sanitize(text: string): any; export declare function format(first: string, middle: string, last: string): string; export declare function removeUndefined(obj: any): { [key: string]: any; }; export declare function debug(...args: any[]): void; export declare function error(...args: any[]): void; export declare function isTestEnvironment(): boolean; export declare function uniqueID(): string; export declare function formatEventName(propKey: string): string; export declare function formatDateTime(dateTimestamp: number): string; export declare function formatRecipient(recipient: EmailName): string | undefined; export declare function formatParticipants(participants: EmailName[], meEmail?: string, messageCount?: number, max?: number): string; export declare const formatTimeAgo: (date: Date) => string | undefined; export declare function getLastDayOfMonth(date: Date): Date; export declare function getFirstDayOfMonth(date: Date): Date; export declare function getFirstHourOfDay(date: Date): Date; export declare function isSameDay(date1: Date, date2: Date): boolean; export declare function normalizeDateInput(dateInput?: Date | string | number | null): Date | undefined; export declare function isSameDayTimezone(timeslot: Date, comparisonDate: Date, timezoneStr: string): boolean; export declare function formatBookedEventDate(date: Date, timezoneStr: string, language?: string): string; export declare function isSameMonth(date1: Date, date2: Date): boolean; export declare function toTitleCase(str: string): string; export declare function formatFolderName(folderName: string): string; export declare function detectHTMLOrPlainText(html: string): "html" | "plain"; export declare function detectIfMessageIsHTML(message: Message): boolean; export declare function parsePlainTextToHTML(text: string): string; export declare function htmlToPlainText(html: string): string; export declare function getStartHourOfDay(date: Date): Date; export declare function getEndHourOfDay(date: Date): Date; export declare function get24HourTime(date: Date): string; export declare function getUserTimezone(): string; export declare const getEventRecurrence: (recurrence: any) => string | null; export declare const validateTimeFormatInput: (text: any) => boolean; export declare const validateExactTimeFormat: (input: any) => boolean; export declare function roundToNearest15Minutes(time?: dayjs.Dayjs | null): any; export declare function autocompleteTimeFormat(input: any): string; export declare function formatTime(time: string): dayjs.Dayjs; export declare function formatTimezone(date: Date, timezone: string): string; export declare function convertTo12HourFormat(timeStr: string): string; export declare function convertTo24HourFormat(timeStr: string): string; export declare function timeToMinutes(time: any): number; export declare function minutesToTime(minutes: any): string; export declare function getBrowser(): "Edge (Chromium)" | "Chrome" | "Safari" | "Firefox" | "Internet Explorer" | "Edge (Legacy)" | "Unknown"; export declare function dataResponse(data: T, error?: DataResponseError | null): DataResponseReturnType; export declare function parsePreviewLink(link: string, config?: Partial): string; export declare function isNonPrintableKey(event: any): boolean; export declare function addDaysToCurrentDate(startDate: any, days: any): Date; export declare function addMinutesToCurrentTime(startDate: any, minutes: any): Date; export declare function isObject(item: any): any; export declare function mergeDeep(target: any, source: any): any; export declare function convertMinutesToHoursAndMinutes(minutes: number): string; export declare function checkForMissingSlots(slots: string[], host: HTMLElement): void; export declare function compactStringToUUIDs(compactString: string): string[]; export declare const t: (key: any) => string; export declare function detectBrowserLanguageCode(): LANGUAGE_CODE | null; export declare const capitalizeFirstLetter: (str: string) => string; export declare const translateMonth: (month: string) => string; export declare const isValidUrl: (url: string) => boolean; export declare const isValidImage: (url: string) => Promise; interface CustomOptions { frequency?: 'daily' | 'weekly' | 'monthly' | 'yearly'; interval?: number; daysOfWeek?: string[]; monthlySameDate?: boolean; end?: { type: 'never' | 'on' | 'after'; date?: string; count?: number; }; } export declare function generateRRule(selectedDate: string, option: 'none' | 'daily' | 'weekly' | 'monthly' | 'yearly' | 'custom', endDate?: string, customOptions?: CustomOptions, timezoneStr?: string): string | null; export declare function getCalendarRange(currentDate: string, viewType: 'week' | 'month' | 'day'): { startTime: number; endTime: number; }; export {};