type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
/**
 * Merges sets of props together:
 *  - duplicate `className` props get concatenated
 *  - duplicate `style` props get shallow merged (later props have precedence for conflicting rules)
 *  - duplicate functions (to be used for event handlers) get called in order from left to right
 * @param props Sets of props to merge together. Later props have precedence.
 */
declare const _default: <T extends {}[]>(...props: T) => UnionToIntersection<T[number]> extends infer T_1 ? { [K in keyof T_1]: K extends "className" ? string : K extends "style" ? UnionToIntersection<T[number]>[K] : Exclude<Extract<T[number], { [Q in K]: unknown; }>[K], undefined>; } : never;
export = _default;
