export declare function getEndpoint(env: string): "http://localhost:8080" | "https://socket.ai12z.net" | "http://127.0.0.1:5000" | "https://dev-api.ai12z.net" | "https://api.ai12z.net";
export declare function getBackendProtocol(env: string): "legacy" | "v2";
export declare function getPaprikaEndpoint(env: string): "http://localhost:3000" | "https://dev.ai12z.net" | "https://app.ai12z.net";
export declare function getMetaInfo(): {
    origin: string;
    title: string;
    userAgent: string;
    referrer: string;
    language: string;
    legacyResponse: boolean;
    description: string;
};
export declare function submitForm(apiKey: string, env: string, keyName: string, formData: any, controlType?: any): Promise<any>;
export declare function getSpeechToText(apiKey: string, lang: string, env: string, audioBase64: string): Promise<any>;
export declare function getFormByKeyName(apiKey: string, env: string, keyName: string): Promise<any>;
export declare function getWidgetContentByType(apiKey: string, env: string, keyName: string, parameters: string): Promise<any>;
export declare function getKBContent(apiKey: string, env: string, kbId: string): Promise<any>;
export declare function format(first: string, middle: string, last: string): string;
export declare function search(apiKey: string, env: string, terms: string): Promise<any>;
export declare function askAI(apiKey: string, env: string, question: string, conversationId: string, followUp?: boolean, metadata?: any): Promise<any>;
export declare function getAudioContent(apiKey: string, env: string, content: string, voiceType: string): Promise<any>;
export declare function askImgAI(apiKey: string, env: string, base64Images: any, question: string): Promise<any>;
export declare function base64ToBlob(base64: string, mimeType: string): Blob;
export declare function removeHtmlTags(text: string): string;
export declare function sendFeedback(apiKey: string, env: string, insightId: string, feedback: {
    value: 1 | -1;
}): Promise<any>;
export declare function debounce(func: any, timeout?: number): (...args: any[]) => void;
export declare function checkStatus(apiKey: string, env: string): Promise<any>;
export declare function generateUUID(): string;
export declare function updateButtonEvents(htmlContent: string): {
    body: string;
    buttons: {
        id: string;
        label: string;
        onClick: () => void;
    }[];
};
export declare function getConfig(payload: any, env: string): Promise<any>;
export declare function verifyRecaptcha(payload: any, env: string): Promise<any>;
export declare function getOrCreateVisitorId(): string;
export declare function getComponentByControlType(data: any, inputType: string): HTMLItemListElement;
export declare function getBotTemplate(type: any): {
    name: string;
    content: string;
}[];
export declare function getTemplate(type: any): {
    name: string;
    content: string;
}[];
export declare function splitContent(content: any): {
    before: any;
    inside: any;
    after: any;
};
export declare function getBroswerLang(): any;
export declare function getAllLanguagesInSurvey(surveyJson: any): Set<string>;
export declare function isString(val: unknown): val is string;
export declare function isObject(value: unknown): boolean;
export declare function customOptions(context: any, options: any): any;
export declare function chop(str: unknown): string;
export declare function changecase(str: string, fn: (ch: string) => string): string;
export declare function options(thisArg: any, locals: any, options: any): any;
export declare function isOptions(val: any): boolean;
export declare function isUndefined(val: any): boolean;
export declare function indexOf(array: any, value: any): number;
export declare function utilValue(val: any, context: any, options: any): any;
export declare function isBlock(options: any): boolean;
export declare function utilResult(val: any): any;
export interface UTMConfig {
    enabled?: boolean;
    values?: Record<string, string>;
    applyTo?: {
        answerLinks?: boolean;
        carouselLinks?: boolean;
        searchResultLinks?: boolean;
        welcomePanelLinks?: boolean;
    };
    behavior?: {
        existingUtmHandling?: 'skip' | 'merge' | 'overwrite';
        ignoreEmpty?: boolean;
        lowercaseKeys?: boolean;
        urlEncode?: boolean;
    };
}
export declare function updateAnchorTags(htmlContent: string, linkTarget: string, className: string, utmConfig?: UTMConfig | Record<string, string>, linkType?: string): string;
/**
 * Calculate the size of a string in bytes (UTF-8 encoding)
 */
export declare function getStringSize(str: string): number;
/**
 * Get the current size of localStorage in bytes
 */
export declare function getLocalStorageSize(): number;
export declare function formatTimestamp(date: Date): string;
export declare function generateMessage(conversationId: string): {
    text: string;
    isUser: boolean;
    id: string;
    isLoading: boolean;
    timestamp: string;
    images: any[];
    conversationId: string;
    formModel: {};
    surveyDomId: string;
};
/**
 * Clean up old conversations based on date to free up storage space
 * @param conversations Array of conversations to clean up
 * @param maxSizeBytes Maximum size in bytes before cleanup
 * @returns Cleaned up conversations array
 */
export declare function cleanupOldConversations(conversations: any[], maxSizeBytes?: number): any[];
export declare function splitContentMultiple(content: string): {
    parts: any[];
    controls: any[];
    hasControls: boolean;
    controlCount: number;
};
export declare function getSessionState(stateName: string): Promise<string>;
export declare function insertStyles(linkURL: string, element: HTMLElement): Promise<void>;
/**
 * Returns true only when the URL uses the https: protocol.
 * Rejects relative URLs, protocol-relative URLs, javascript: / data: URIs,
 * and any other non-HTTPS scheme.
 */
export declare function isValidHttpsUrl(url: string): boolean;
