export declare function isEmpty(str: string | null): boolean;
export declare function numberToWord(num: number): string;
export declare function isJWT(string: unknown): boolean;
export declare function equals(a: unknown, b: unknown): boolean;
export declare function propertiesEqual(a: Record<string, unknown>, b: Record<string, unknown>, properties?: string[]): boolean;
export declare function copy(a: unknown): any;
/**
 * Converts a metabase version to a list of numeric components, it converts pre-release
 * components to numbers and pads the numeric part to 4 numbers to make comparison easier
 */
export declare function versionToNumericComponents(version: string): number[] | null;
/**
 * this should correctly compare all version formats Metabase uses, e.g.
 * 0.0.9, 0.0.10-snapshot, 0.0.10-alpha1, 0.0.10-rc1, 0.0.10-rc2, 0.0.10-rc10
 * 0.0.10, 0.1.0, 0.2.0, 0.10.0, 1.1.0
 */
export declare function compareVersions(aVersion: string, bVersion: string): -1 | 0 | 1;
export declare function compareVersions(aVersion: string | null | undefined, bVersion: string | null | undefined): null;
export declare function newVersionAvailable({ currentVersion, latestVersion, }: {
    currentVersion: string;
    latestVersion: string;
}): boolean;
export declare function versionIsLatest({ currentVersion, latestVersion, }: {
    currentVersion: string;
    latestVersion: string;
}): boolean;
export declare const isEEBuild: () => boolean;
