import { MessageAfterDelay } from '../types/core/MessageAfterDelay';
/**
 * check value to be boolean
 * @param val
 * @return {boolean}
 */
export declare const isValidBool: (val: any) => boolean;
/**
 * check value to be object
 * @param val
 * @return {boolean}
 */
export declare const isValidObject: (val: unknown) => val is Record<string, unknown>;
/**
 * check value to be function
 * @param val
 * @return {boolean}
 */
export declare const isValidFunction: (val: any) => boolean;
/**
 * check value to be string
 * @param val
 * @return {boolean}
 */
export declare const isValidString: (val: any) => boolean;
/**
 * check value to be finite number
 * @param val
 * @return {boolean}
 */
export declare const isValidNumber: (val: any) => boolean;
/**
 * validates string in given array and set its value
 * @param {String[]} availableValues - array of available values
 * @param {String} valueToSet - value that should be set
 */
export declare const isValidDistinctStringInArray: (availableValues: string[], valueToSet: string) => boolean;
type ValidationResult = {
    isValid: true;
    invalidPathsWithReason: null;
} | {
    isValid: false;
    invalidPathsWithReason: Record<string, string>;
};
export declare const isValidDeepPartial: <T extends Record<string, unknown>>(original: T, candidate: unknown) => ValidationResult;
export declare const validateMessageAfterDelay: (value: unknown, name: string, type: string) => MessageAfterDelay | undefined;
declare const _default: {
    isValidBool: (val: any) => boolean;
    isValidFunction: (val: any) => boolean;
    isValidString: (val: any) => boolean;
    isValidNumber: (val: any) => boolean;
    isValidDistinctStringInArray: (availableValues: string[], valueToSet: string) => boolean;
    isValidDeepPartial: <T extends Record<string, unknown>>(original: T, candidate: unknown) => ValidationResult;
};
export default _default;
