import { FormControl } from "@angular/forms";
/**
 * nestedGet
 * Safely retrieves a deep property from a nested object.
 *
 * @param {any} object The object to begin retrieval from;
 * @param {string} propertySequence A period-delimited list of properties to retrieve;
 * @param {any} defaultValue The value to return if the property does not exist.
 *
 * @return {any} The value stored in the property sequence
 * Example usage: var value = nestedGet( deploymentConfig, "config.aws.scope.include", [] );
 * If deploymentConfig contains deploymentConfig.config.aws.scope.include, that property will be returned.
 * If it does not, the empty array will be returned instead.
 */
export declare function nestedGet(object: any, propertySequence: string, defaultValue: any): any;
/**
 * Returns a function that sets an "exit fullscreen handler" for a given angular component
 */
export declare function eventHandlerWhenExitingFullScreen(): (p: any) => void;
/**
 * sets the fullscreen mode for agiven HTML element.
 */
export declare function fullScreen(element: any, isFullScreen: boolean): boolean;
/**
 * trimValidator
 * FormControl validator which checks if a text input is an empty string
 */
export declare function trimValidator(control: FormControl): {
    emptyString: {
        value: boolean;
    };
} | null;
export declare function ipValidator(control: FormControl): {
    validIp: {
        value: true;
    };
} | null;
export declare function ipValidator2(control: FormControl): {
    invalidIp: {
        value: true;
    };
} | null;
export declare function dnsNameValidator(control: FormControl): {
    validDnsName: {
        value: boolean;
    };
} | null;
export declare function portsValidator(control: FormControl, multiValues?: boolean): {
    invalidPort: {
        value: boolean;
    };
} | null;
/**
 * cidrValidator
 * FormControl validator for checking a valid CIDR
 */
export declare function cidrValidator(allowAsterisk?: boolean, allowComas?: boolean, required?: boolean): (control: FormControl) => {
    cidrValidity: {
        value: string;
    };
};
/**
 * daysOfMonth It validate all of separated values by comma,
 * those must be a number between 1 and 31
 */
export declare function daysOfMonth(control: FormControl): {
    daysOfMonth: boolean;
    items: string[];
} | null;
/**
 * Convert bytes to KB, MB, GB, TB, PB
 *
 * @param bytes Bytes to convert
 * @param decimals Numbers of decimals to convert, 2 decimal by default
 */
export declare function bytesToSize(bytes: number): string;
/**
 *  @method getCsvData
 *
 *  It builds a CSV structure data, transforming the data received into an array to
 *  start creating the csv string data.
 *
 *  @param {any} data The json data that it will be translated into CSV.
 *
 *  @returns {string} rawCsv The csv file in string format.
 */
export declare function getCsvData(data: any): string;
/**
 * nestedGetByKey
 * Gets value from nested object by key (deep search).
 *
 * @param {any} object The object containing the search key;
 * @param {string} searchKey The key to be searched;
 * @param {any} defaultValue The value to return if the property does not exist.
 *
 * @return {any} The value stored in the search key otherwise defaultValue
 */
export declare function nestedGetByKey(object: any, searchKey: string, defaultValue?: any): any;
