import { DateTime } from "./type/DateTime";
import { Decimal } from "./type/Decimal";
import { Time } from "./type/Time";
/**
 * This class consists exclusively of the static methods that operate on the types of the specified values
 */
export declare class Types {
    /**
     * Converts a value to the `string` data type
     * @param value Source value
     * @returns New value of the type `string`, or _null_ if the specified value has a _null_ value or _undefined_
     */
    static toString(value: any): string | null;
    /**
     * Converts a value to the `number` data type and truncates decimal values if any
     * @param value Source value
     * @returns New `number` value as an _integer_, or _null_ if the specified `value` has a _null_ value or _undefined_
     */
    static toInteger(value: any): number | null;
    /**
     * Converts a value to the JavaScript's `number` data type
     * @param value Source value
     * @returns A value of type `number`, or _null_ if the source `value` has a _null_ value or _undefined_
     */
    static toNumber(value: any): number | null;
    /**
     *
     * @param value
     * @param prec
     * @returns
     */
    static toDecimal(value: any, prec?: number): Decimal | null;
    /**
     * Converts a value to the JavaScript's `boolean` data type
     * @param value Source value
     * @returns A value of type `boolean`, or _null_ if the source `value` has a _null_ value or _undefined_
     */
    static toBoolean(value: any): boolean | null;
    /**
     * Converts a value to the JavaScript's `date` data type
     * @param value Source value
     * @returns A value of type `date`, or _null_ if the source `value` has a _null_ value or _undefined_
     */
    static toDate(value: any): Date | null;
    /**
     *
     * @param value
     * @returns
     */
    static toTime(value: any): Time | null;
    /**
     *
     * @param value
     * @returns
     */
    static toDateTime(value: any): DateTime | null;
    /**
     * Converts a value to the specified data type
     * @param value Source value
     * @param type Type of the result value needed
     * @returns A value of specified `type`, or _null_ if the source `value` has a _null_ value or _undefined_
     */
    static toType(value: any, type: string): any;
}
