/**
 *
 * @param templateSegments : array di stringhe, dove gli elementi sono i segnaposto delle variabili {{1}}, {{2}} e le stringhe di testo
 * @param templateInsertedValues : oggetto con le chiavi dei segnaposto e i valori delle variabili {1: 'ciao'}
 * @returns una stringa con il testo del template, con i segnaposto sostituiti dai valori delle variabili
 */
export declare function reconstructTemplateText(templateSegments: string[], templateInsertedValues: {
    [key: string]: string;
}): string;
/**
 *
 * @param text : il testo del template base, con i segnaposto {{1}}, {{2}} dove l'utente inserisce le variabili
 * @returns lo stesso testo diviso in un array di stringhe, dove gli elementi sono i segnaposto e le stringhe di testo
 */
export declare function toSplittedTemplatePlaceholders(text: string): string[];
/**
 *
 * @param variablesFromUser : array di oggetti con le chiavi key e value, dove key è il nome della variabile e value è il valore della variabile
 * @returns oggetto con le chiavi 1, 2, 3... e i valori delle variabili
 * Rende compatibile il template e le variabili inserite dall'utente
 */
export declare function getTemplateInsertedValues(variablesFromUser: {
    key: string;
    value: string;
}[]): {
    [key: string]: string;
};
/**
 * @param templateText il testo del template base, con i segnaposto {{1}}, {{2}} dove l'utente inserisce le variabili
 * @param templateSectionKey la chiave della sezione del template, ad esempio BUTTONS, TEXT, ecc.
 * E' la chiave con cui vengono salvati i valori delle variabili.
 * @param variablesFromMessage array di oggetti con le chiavi key e value.
 * Se valorizzato: ci si trova in un messaggio di tipo template
 * @param values oggetto con le chiavi sectionkey_1, sectionkey_2... e i valori delle variabili.
 * Se valorizzato: si sta creando un template nuovo.
 * @description  Questa funzione costruisce il testo del template con le variabili inserite dall'utente.
 * Può prendere i valori delle variabili in forma di oggetto oppure in forma di array di oggetti.
 * Questo perchè la preview in un invio di nuovo messaggio template riceve le variabili in forma differente
 * dalla preview di un messaggio template nella conversazione.
 * @returns il testo completo del template con le variabili inserite dall'utente
 */
export declare function buildTemplateTextWithInsertedValues({ templateText, templateSectionKey, variablesFromMessage, values, }: {
    templateText: string;
    variablesFromMessage?: {
        key: string;
        value: string;
    }[];
    values?: {
        [key: string]: string;
    };
    templateSectionKey: string;
}): string;
export declare const extractFileDataFromFile: (file: File) => Promise<{
    fileBytes: string;
    fileName: string;
} | null>;
export declare function getUserInitials(userFullName: string): string;
/**
 *
 * @param sentDate data di invio del messaggio in formato ISOstring: YYYY-MM-DDTHH:mm:ss.sssZ
 * @returns La data in formato "ieri", "giorno della settimana" o "giorno mese anno"
 */
export declare function buildPreviewDate(sentDate: string): string;
export declare function buildSentDate(sentDate: string): string;
