/// <reference path="../../../../../../../typescript_definitions/jquery.d.ts" />
export type ViewportInfo = {
    l: number;
    t: number;
    w: number;
    h: number;
};
export declare class Utils {
    static isIPhoneX(): boolean;
    static isAndroid(): boolean;
    static isiOS(): boolean;
    static isMobile(): boolean;
    static getViewport(): ViewportInfo;
    static getContrastYIQ(r: number, g: number, b: number): 'black' | 'white';
    static getContrastYIQHex(hexcolor: string): 'black' | 'white';
    static arrayContains(array: any[], itemToSearch: any): boolean;
    static getColorBrightness(hex: string): number;
    static isColorDark(hex: string): boolean;
    static changeColorLuminosity(hex: string, lum?: number): string;
    static cropImageTransparency(imageDataURI: any, targetWidth: number, targetHeight: number, callback: any): void;
    static trimImageAsync(imageDataURI: string): Promise<string | null>;
    private static trimCanvas;
    static cropImageTransparencyAsync(imageDataURI: string, targetWidth: number, targetHeight: number): Promise<string | null>;
    private static removeBlanks;
    /** Draw an image from data uri on a width * height canvas, create canvas inside method and return the data uri of canvas */
    static resizeImageFromDataUri(dataUrl: string, width: number, height: number, padding: number): Promise<string>;
    static getColorImage(hex: string, width: number, height: number): string | null;
    /**
    * Split a string into chunks of the given size
    * @param  {String} str is the String to split
    * @param  {Number} size is the size you of the cuts
    * @return {Array} an Array with the strings
    */
    static chunkString(str: string, size: number): string[] | null;
    static getStringHashCode(str: any): number;
    static getAbsoluteUrl(relative: string): string;
    static dataURItoBlob(dataURI: any): Blob;
    static getRandomString(length: any, keyspace: any): string;
    static flipImage(arrayBuffer: any, type: any): Promise<unknown>;
}
