/// <reference types="node" />
/**
 * @private
 * @inner
 */
import type { Hashable } from './hasher';
import TypedArray = NodeJS.TypedArray;
/**
 * List of functions responsible for converting certain types to string
 */
export type Stringifiers = {
    [key: string]: (obj: any) => string;
};
/**
 * Prefixes that used when type coercion is disabled
 */
export declare const PREFIX: {
    string: string;
    number: string;
    bigint: string;
    boolean: string;
    symbol: string;
    undefined: string;
    null: string;
    function: string;
    array: string;
    date: string;
    set: string;
    map: string;
};
/**
 * Converts Hashable to string
 * @private
 * @param obj object to convert
 * @returns object string representation
 */
export declare function _hashable(obj: Hashable): string;
/**
 * Converts string to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _stringCoerce(obj: string): string;
/**
 * Converts string to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _string(obj: string): string;
/**
 * Converts string to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _stringTrimCoerce(obj: string): string;
/**
 * Converts string to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _stringTrim(obj: string): string;
/**
 * Converts number to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _numberCoerce(obj: number): string;
/**
 * Converts number to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _number(obj: number): string;
/**
 * Converts BigInt to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _bigIntCoerce(obj: bigint): string;
/**
 * Converts BigInt to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _bigInt(obj: bigint): string;
/**
 * Converts boolean to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _booleanCoerce(obj: boolean): string;
/**
 * Converts boolean to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _boolean(obj: boolean): string;
/**
 * Converts symbol to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _symbolCoerce(): string;
/**
 * Converts symbol to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _symbol(obj: symbol): string;
/**
 * Converts undefined to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _undefinedCoerce(): string;
/**
 * Converts undefined to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _undefined(): string;
/**
 * Converts null to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _nullCoerce(): string;
/**
 * Converts null to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _null(): string;
/**
 * Converts function to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _functionCoerce(obj: Function): string;
/**
 * Converts function to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _function(obj: Function): string;
/**
 * Converts function to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _functionTrimCoerce(obj: Function): string;
/**
 * Converts function to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _functionTrim(obj: Function): string;
/**
 * Converts date to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _dateCoerce(obj: Date): string;
/**
 * Converts date to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _date(obj: Date): string;
/**
 * Converts array to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _arraySort(this: Stringifiers, obj: any[]): string;
/**
 * Converts array to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _array(this: Stringifiers, obj: any[]): string;
/**
 * Converts TypedArray to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _typedArraySort(this: Stringifiers, obj: TypedArray): string;
/**
 * Converts TypedArray to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _typedArray(this: Stringifiers, obj: TypedArray): string;
/**
 * Converts set to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _setSortCoerce(this: Stringifiers, obj: Set<any>): string;
/**
 * Converts set to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _setSort(this: Stringifiers, obj: Set<any>): string;
/**
 * Converts set to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _set(this: Stringifiers, obj: Set<any>): string;
/**
 * Converts set to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _setCoerce(this: Stringifiers, obj: Set<any>): string;
/**
 * Converts object to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _object(this: Stringifiers, obj: {
    [key: string]: any;
}): string;
/**
 * Converts object to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _objectSort(this: Stringifiers, obj: {
    [key: string]: any;
}): string;
/**
 * Converts map to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _map(this: Stringifiers, obj: Map<any, any>): string;
/**
 * Converts map to string
 * @private
 * @param obj object to convert
 * @return object string representation
 */
export declare function _mapSort(this: Stringifiers, obj: Map<any, any>): string;
//# sourceMappingURL=stringifiers.d.ts.map