export { ArrayUtilities, BrowserUtilities, ColorUtilities, DateUtilities, NumberUtilities, Utilities, ValidationUtilities } from '@sdcorejs/utils/fns';

declare const StringUtilities: {
    /** @deprecated Use REGEX_VN_PHONE instead */
    REGEX_PHONE_VN: string;
    /** @deprecated Use REGEX_VN_ID instead */
    REGEX_IDVN: string;
    /** @deprecated Use REGEX_VN_ID_OR_PASSPORT instead */
    REGEX_IDVN_OR_PASSPORT: string;
    /** @deprecated Use {@link ValidationUtilities.isEmail} instead */
    isValidEmail: (value: any) => boolean;
    /** @deprecated Use {@link ValidationUtilities.isPhone} instead */
    isValidPhone: (value: any) => boolean;
    /** @deprecated Use {@link ValidationUtilities.isCode} instead */
    isValidCode: (value: any) => boolean;
    REGEX_EMAIL: string;
    REGEX_PHONE: string;
    REGEX_VN_PHONE: string;
    REGEX_VN_ID: string;
    REGEX_PASSPORT: string;
    REGEX_VN_ID_OR_PASSPORT: string;
    REGEX_TIME: string;
    REGEX_URL: string;
    REGEX_DOMAIN: string;
    REGEX_IPV4: string;
    REGEX_IPV6: string;
    REGEX_IMAGE_URL: string;
    REGEX_SLUG: string;
    REGEX_NUMBER: string;
    REGEX_INTEGER: string;
    REGEX_DECIMAL: string;
    REGEX_POSITIVE_NUMBER: string;
    REGEX_UUID: string;
    REGEX_CODE_16: string;
    REGEX_CODE_32: string;
    REGEX_HEX_COLOR: string;
    REGEX_BASE64: string;
    changeAliasLowerCase: (alias: any) => string;
    aliasIncludes: (alias: any, searchText: any) => boolean;
    format: (template: string, ...arr: any[]) => string;
    templateToDisplay: (template: string, entity: Record<string, any>) => string;
    parseExpression: (template: string, entity: Record<string, any>) => any;
    encrypt: (obj: any) => string;
    decrypt: (encripted: string) => any;
    isNullOrEmpty: (value: any) => boolean;
    isNullOrWhiteSpace: (value: any) => boolean;
    convertToSnakeCaseCode: (name: string) => string;
    generateUniqueCode: (name: string, existingCodes: string[]) => string;
    sha256: (input: string) => Promise<string>;
};

/**
 * @deprecated Use {@link Utilities} and {@link BrowserUtilities} from `@sdcorejs/utils/fns` instead.
 * - upload/download/clipboard/isMobile → BrowserUtilities
 * - allWithPaging (→ fetchAllByPaging) / randomId / hash / parseQueryParams / generateUuid / getNestedValue → Utilities
 */
declare const SdUtilities: {
    upload: (option?: {
        extensions?: string[];
        maxSizeInMb?: number;
        validator?: (fileName: string) => string;
        multiple?: boolean;
    }) => Promise<File | File[] | null>;
    download: (fileOrPath: File | string | undefined | null, fileName?: string | null) => void;
    downloadBlob: (blob: Blob, fileName?: string) => void;
    changeAliasLowerCase: (alias: string) => string;
    copyToClipboard: (text: string) => void;
    allWithPaging: <T = unknown>(func: (pageSize: number, pageNumber: number) => Promise<{
        items: T[];
        total: number;
    }>, defaultPageSize?: number) => Promise<T[]>;
    isIncognito: () => Promise<boolean>;
    isMobile: () => boolean;
    randomId: (prefix?: string | null) => string;
    hash: (obj: any) => string;
    parseQueryParams: (queryString?: string) => Record<string, string>;
    getClientPublicIp: () => Promise<string | null>;
    generateUuid: () => string;
    getNestedValue: (obj: any, path: string) => any;
};

/** @deprecated Use {@link ColorUtilities.hslToHex} from `@sdcorejs/utils/fns` instead */
declare const hslToHex: (h: number, s: number, l: number) => string;
/** @deprecated Use {@link ColorUtilities.rgbToHex} from `@sdcorejs/utils/fns` instead */
declare const rgbToHex: (r: number, g: number, b: number) => string;

export { SdUtilities, StringUtilities, hslToHex, rgbToHex };
