import { NehonixSharedUtils } from "../common/NehonixCommonUtils";
import { MaliciousPatternOptions } from "../services/MaliciousPatterns.service";
import { AsyncUrlCheckResult, AsyncUrlValidationOptions, UrlCheckResult, UrlValidationLevel, UrlValidationOptions } from "../types";
export declare class NehonixCoreUtils extends NehonixSharedUtils {
    private static defautltValidationOpt;
    /**
     * Checks a URL string and returns detailed validation results.
     * @param url The URL string to check
     * @param options Validation options
     * @returns UrlCheckResult object with detailed validation information
     */
    /**
     * Checks a URL string and returns detailed validation results.
     * @param url The URL string to check
     * @param options Validation options
     * @returns UrlCheckResult object with detailed validation information
     */
    static checkUrl(url: string, options?: UrlValidationOptions): UrlCheckResult;
    /**
     * Validates a URL string according to specified options.
     * @param url The URL string to validate
     * @param options Validation options
     * @returns boolean indicating if the URL is valid
     */
    static isValidUrl(url: string, options?: UrlValidationOptions): boolean;
    static asyncIsUrlValid(...args: Parameters<typeof this.asyncCheckUrl>): Promise<boolean>;
    static asyncCheckUrl(url: string, options?: AsyncUrlValidationOptions): Promise<AsyncUrlCheckResult>;
    /**
     * Analyzes a URL for potential security threats
     * @param url The URL to analyze
     * @param options Detection options
     * @returns Detailed analysis of security threats
     */
    static analyzeMaliciousPatterns(url: string, options?: MaliciousPatternOptions): Promise<import("../services/MaliciousPatterns.service").MaliciousPatternResult>;
    /**
     * Quick check if a URL contains malicious patterns
     * @param url The URL to check
     * @param options Detection options
     * @returns Boolean indicating if URL contains malicious patterns
     */
    static hasMaliciousPatterns(url: string, options?: MaliciousPatternOptions): Promise<boolean>;
    static detectDuplicatedValues(url: string): {
        duplicatedKeys: string[];
        duplicatedValues: string[];
        params: Record<string, string[]>;
    };
    /**
     * Checks if the string matches base64 pattern
     */
    static hasBase64Pattern(input: string): boolean;
    /**
     * Raw hexadecimal detection
     * @param input
     * @returns
     */
    static hasRawHexString(input: string): boolean;
    static hasJWTFormat(input: string): boolean;
    static getValidationOptionsByLevel(level: UrlValidationLevel, baseOptions?: Partial<UrlValidationOptions>): UrlValidationOptions;
}
export { NehonixCoreUtils as ncu };
//# sourceMappingURL=NehonixCoreUtils.d.ts.map