/**
 * Formatting utility functions
 */
import { StyleDto, MentionDto } from '../types/common.types';
/**
 * Formatting utilities class
 */
export declare class FormatUtils {
    /**
     * Format timestamp to readable string
     */
    static formatTimestamp(timestamp: string | number): string;
    /**
     * Format duration in milliseconds to human readable format
     */
    static formatDuration(ms: number): string;
    /**
     * Format file size in bytes to human readable format
     */
    static formatFileSize(bytes: number): string;
    /**
     * Format phone number for display
     */
    static formatPhoneNumber(phoneNumber: string): string;
    /**
     * Truncate text with ellipsis
     */
    static truncateText(text: string, maxLength: number): string;
    /**
     * Capitalize first letter of each word
     */
    static capitalizeWords(text: string): string;
    /**
     * Convert camelCase to kebab-case
     */
    static camelToKebab(text: string): string;
    /**
     * Convert kebab-case to camelCase
     */
    static kebabToCamel(text: string): string;
    /**
     * Format percentage
     */
    static formatPercentage(value: number, decimals?: number): string;
    /**
     * Format number with thousand separators
     */
    static formatNumber(num: number): string;
    /**
     * Create styled text with formatting
     */
    static createStyledText(text: string, styles: Array<{
        start: number;
        length: number;
        style: 'bold' | 'italic' | 'underline' | 'strikethrough';
    }>): {
        content: string;
        styles: StyleDto[];
    };
    /**
     * Create mentions in text
     */
    static createMentions(text: string, mentions: Array<{
        userId: string;
        displayName: string;
        start: number;
    }>): {
        content: string;
        mentions: MentionDto[];
    };
    /**
     * Extract mentions from text (e.g., @username)
     */
    static extractMentions(text: string): Array<{
        username: string;
        start: number;
        length: number;
    }>;
    /**
     * Extract hashtags from text
     */
    static extractHashtags(text: string): Array<{
        hashtag: string;
        start: number;
        length: number;
    }>;
    /**
     * Extract URLs from text
     */
    static extractUrls(text: string): Array<{
        url: string;
        start: number;
        length: number;
    }>;
    /**
     * Clean text by removing special characters
     */
    static cleanText(text: string): string;
    /**
     * Generate random string
     */
    static generateRandomString(length: number): string;
    /**
     * Generate UUID v4
     */
    static generateUuid(): string;
    /**
     * Escape HTML characters
     */
    static escapeHtml(text: string): string;
    /**
     * Unescape HTML characters
     */
    static unescapeHtml(text: string): string;
    /**
     * Convert text to slug format
     */
    static toSlug(text: string): string;
    /**
     * Format relative time (e.g., "2 hours ago")
     */
    static formatRelativeTime(timestamp: string | number): string;
    /**
     * Mask sensitive information
     */
    static maskSensitiveInfo(text: string, type: 'phone' | 'email' | 'custom', customPattern?: RegExp): string;
}
//# sourceMappingURL=format.utils.d.ts.map