import { ForwardedRef } from 'react'; import { ZDSElement } from '../_shared/z-base'; import { CleanProps } from './customElement.helpers'; import { CustomElementProps, ExtractOnKeys } from './helpers.types'; /** * A custom hook that integrates a custom element with React, allowing for event handling and property mapping. * * @template T - The type of the props for the custom element. * @template H - The type of the custom element. * @template Omitted - The keys of the props to be omitted. * * @param {T} props - The properties to be passed to the custom element. * @param {ForwardedRef} reference - A forwarded ref to the custom element. * @param {{ [K in keyof T]?: string } & { [K in ExtractOnKeys]: string }} [customMapping={}] - An optional mapping of prop keys to event names. * @param {readonly Omitted[]} [slots] - An optional array of prop keys to be omitted. * * @returns {CleanProps & { ref: React.ForwardedRef; }} The cleaned props with the forwarded ref. */ export declare function useCustomElementWithEvents(props: T, reference: ForwardedRef, customMapping: ({ [K in keyof T]?: string | undefined; } & { [K_1 in ExtractOnKeys]: string; }) | undefined, slots: readonly Omitted[]): CleanProps & { ref: React.ForwardedRef; };