import { Observable } from 'rxjs';
import { BabylonButtonI, BodyComponent } from '../interfaces';
export declare class Utils {
    static snakeToCamel(snake: string): string;
    static convertObjectKeysToCamelCase(obj: any): any;
    static formatLinkType(linkType: string): string | undefined;
    static findComponent<T>(body: BodyComponent<T>[], name: string): T | undefined;
    static convertToBase64(file: File): Promise<string>;
    static normalizeText(text: string): string;
    static mapButtons(button: any | any[] | undefined | null, buttonType?: string): BabylonButtonI[] | undefined;
    private static processSingleButton;
    static loadScript$(src: string): Observable<void>;
    static loadStyle$(href: string): Observable<boolean>;
    static safeOpenExternal(url: string): void;
    static extractNumberRange(value?: string | null, fallback?: number[]): number[];
    static sortButtonsByOrder<T extends {
        order?: any;
    }>(buttons?: Array<T | undefined | null> | null, opts?: {
        keepOriginal?: boolean;
    }): T[];
    static toSlug(input: string): string;
    static uniqueSlug(label: string, used: Set<string>): string;
    static canonicalHotelTypeSlug(label: string): string;
    /**
     * Comprueba si el tipo es un hotel en varios idiomas
     */
    static isHotel(type?: string): boolean;
    static getFormattedUrl(link: any): string;
    static isApartment(type?: string): boolean;
    static showIfSup(value?: string | null): string;
}
