type Args = T extends (...args: infer R) => any ? R : never; type AnyFunction = (...args: T[]) => any; type Extractable = { [key: string]: any; } | undefined; /** * Capitalizes the first letter of a string * @param {string} text * @returns {string} */ declare const capitalize: (text: string) => string; declare function callAllHandlers void>(...fns: (T | undefined)[]): (event: Args[0]) => void; declare function callAll(...fns: (T | undefined)[]): (arg: Args[0]) => void; declare function extractProperty(key: K | string, defaultValue: D | string | boolean, ...objs: Extractable[]): string | boolean | D | Extractable[K]; declare function getUniqueID(prefix: string): string; /** * This function removes all event handlers from an object. */ declare function removeEvents(input: { [key: string]: any; }): { [key: string]: any; }; export { callAll, callAllHandlers, capitalize, extractProperty, getUniqueID, removeEvents };