import { DeviceType, Conjunction } from './utils-types'; export declare function format(first: string | undefined, middle: string | undefined, last: string | undefined): string; export declare function hasMultipleTrueValues(arr: T[], key: keyof T): boolean; export declare function extractValuesByKey(objects: T[], key: keyof T): Array; export declare function organizeObjectKeys(data: any[], columns: string[]): any[]; export declare function removeObjectsBySpecificKey(objects: T[], key: keyof T, value: boolean | 'true'): [T[], T[]]; /** * Takes an input value and determines whether or not it is a number. * * @param {string | number} value - The value you would like to test against. * * @returns {boolean} */ export declare function isNumber(value: string | number): boolean; export declare function isEmpty(str: string | undefined | null): boolean; /** * Takes a string value of "true" and converts it to boolean true. * * All other values are converted to boolean false. * * Has advantages over the built in JavaScript Boolean() constructor / function. * * Using Boolean() could lead to unexpected results. * * e.g. Boolean("false") evaluates to a boolean value of true. * * @param {string} value - The value you would like to convert to a boolean. * * @returns {boolean} */ export declare function convertStringToBoolean(value: string): boolean; /** * Retrieves the keys from an enum and lists them in an array. * * @param {object} enumObject - The enum you wish to get the keys of. * * @returns {string[]} */ export declare function retrieveEnumKeys(enumObject: object): string[]; /** * Prints an array as a comma delimited list, with the last element being preceded by a conjunction. * As per ontario.ca content guidelines, there is no Oxford comma. * * @param {Array} arr - The array that you wish to print. * @param {Conjunction} conjunctionType - Whether you want the sentence to end with 'and value.' or 'or value.' * * @returns {string} */ export declare function printArray(arr: Array, conjunctionType?: Conjunction): string; /** * Grabs the HTML element of the page. * * More targetted than document.documentElement as the documentElement could * in theory be any element that is the top level. e.g.
if the page is not * set up to be semantically correct. * * @returns {HTMLElement} */ export declare function getRootHTMLElement(): HTMLElement; /** * Determines the device type based on screen breakpoints. * * @returns {DeviceType} */ export declare function determineDeviceType(): DeviceType;