import { ButtonTexts, SlideShowType, TimelineMode } from '@models/TimelineModel';
/**
 * Converts hex color to RGBA format
 * @param hex - Hex color code (e.g. #FFFFFF)
 * @param alpha - Opacity value between 0 and 1
 * @returns RGBA color string
 */
export declare const hexToRGBA: (hex: string, alpha: number) => string;
/**
 * Returns the appropriate theme based on dark mode preference
 * @param isDark - Whether dark mode is enabled
 * @returns Theme object
 */
export declare const getDefaultThemeOrDark: (isDark?: boolean) => import("../models/Theme").Theme;
/**
 * Returns default class names for timeline components
 * @returns Object of default CSS class names
 */
export declare const getDefaultClassNames: () => Readonly<{
    readonly card: "rc-card";
    readonly cardMedia: "rc-card-media";
    readonly cardSubTitle: "rc-card-subtitle";
    readonly cardText: "rc-card-text";
    readonly cardTitle: "rc-card-title";
    readonly controls: "rc-controls";
    readonly title: "rc-title";
}>;
/**
 * Returns default button text translations
 * @returns Object containing all button text strings
 */
export declare const getDefaultButtonTexts: () => ButtonTexts;
/**
 * Determines slideshow type based on timeline mode
 * @param mode - Timeline display mode
 * @returns Appropriate slideshow animation type
 */
export declare const getSlideShowType: (mode: TimelineMode) => SlideShowType;
/**
 * Type guard to check if text is an array of strings
 * @param text - Text string or array of strings
 * @returns Boolean indicating if input is string array
 */
export declare const isTextArray: (text: string | string[]) => text is string[];
/**
 * Sanitizes HTML text to prevent XSS attacks
 * @param text - Text string or array of strings to sanitize
 * @returns Sanitized text string or array
 */
export declare const sanitizeHtmlText: (text: string | string[]) => string | string[];
/**
 * Generates a cryptographically secure random ID
 * @returns Unique string ID
 */
export declare const getUniqueID: () => string;
