/**
 * The `util` module provides a set of functions commonly needed to author custom components.
 * Many functions in the `util` module are used to coerce data into a particular type, and can be accessed through `util.types`.
 * For example, `util.types.toInt("5.5")` will return an integer, `5`.
 */
import { KeyValuePair, DataPayload, ObjectSelection, ObjectFieldMap, JSONForm, ConnectionDefinition, Element } from "./types";
export declare const isObjectWithOneTruthyKey: (value: unknown, keys: string[]) => boolean;
export declare const isObjectWithTruthyKeys: (value: unknown, keys: string[]) => boolean;
/**
 * This function returns a lower cased version of the headers passed to it.
 *
 * - `lowerCaseHeaders({"Content-Type": "Application/JSON"})` will return `{"content-type": "Application/JSON"}`
 * - `lowerCaseHeaders({"Cache-Control": "max-age=604800"})` will return `{"cache-control": "max-age=604800"}`
 * - `lowerCaseHeaders({"Accept-Language": "en-us"})` will return `{"accept-language": "en-us"}`
 * @param headers The headers to convert to lower case
 * @returns This function returns a header object
 * */
export declare const lowerCaseHeaders: (headers: Record<string, string>) => Record<string, string>;
/**
 * This function parses a JSON string (if JSON) and returns an object, or returns the object.
 *
 * - `toObject('{"foo":"bar","baz":123}')` will return object `{foo: "bar", baz: 123}`
 * - `toObject({foo:"bar",baz:123})` will return object `{foo: "bar", baz: 123}`
 *
 * @param value The JSON string or object to convert
 * @returns This function returns an object, parsing JSON as necessary
 */
export declare const toObject: (value: unknown) => object;
declare const _default: {
    types: {
        isBool: (value: unknown) => value is boolean;
        toBool: (value: unknown, defaultValue?: boolean) => boolean;
        isInt: (value: unknown) => value is number;
        toInt: (value: unknown, defaultValue?: number) => number;
        isNumber: (value: unknown) => boolean;
        toNumber: (value: unknown, defaultValue?: number) => number;
        isBigInt: (value: unknown) => value is bigint;
        toBigInt: (value: unknown) => bigint;
        isDate: (value: unknown) => value is Date;
        toDate: (value: unknown) => Date;
        isUrl: (value: string) => boolean;
        isBufferDataPayload: (value: unknown) => value is DataPayload;
        toBufferDataPayload: (value: unknown) => DataPayload;
        isData: (value: unknown) => boolean;
        toData: (value: unknown) => DataPayload;
        isString: (value: unknown) => value is string;
        toString: (value: unknown, defaultValue?: string) => string;
        keyValPairListToObject: <TValue = unknown>(kvpList: KeyValuePair<unknown>[], valueConverter?: (value: unknown) => TValue) => Record<string, TValue>;
        isJSON: (value: string) => boolean;
        toJSON: (value: unknown, prettyPrint?: boolean, retainKeyOrder?: boolean) => string;
        lowerCaseHeaders: (headers: Record<string, string>) => Record<string, string>;
        isObjectSelection: (value: unknown) => value is ObjectSelection;
        toObjectSelection: (value: unknown) => ObjectSelection;
        isObjectFieldMap: (value: unknown) => value is ObjectFieldMap;
        toObjectFieldMap: (value: unknown) => ObjectFieldMap;
        isJSONForm: (value: unknown) => value is JSONForm;
        toJSONForm: (value: unknown) => JSONForm;
        isPicklist: (value: unknown) => boolean;
        isSchedule: (value: unknown) => boolean;
        isConnection: (value: unknown) => value is ConnectionDefinition;
        isElement: (value: unknown) => value is Element;
        toObject: (value: unknown) => object;
        cleanObject: (obj: Record<string, unknown>, predicate?: (v: any) => boolean) => Record<string, unknown>;
    };
};
export default _default;
