import type { ForwardedRef } from 'react'; type PropKey = Extract; type Binding = readonly [PropKey, string]; export interface ColletRuntimeConfig { readonly attributes: readonly Binding[]; readonly routedAttributes: readonly Binding[]; readonly booleanProps: readonly PropKey[]; readonly propertyProps: readonly PropKey[]; readonly definedPropertyProps: readonly PropKey[]; readonly events: readonly (readonly [string, PropKey])[]; /** * Every prop this wrapper consumes itself. Anything a consumer passes that is * NOT in here is a DOM attribute or a native React handler and is forwarded * verbatim to the host element — `data-testid`, `id`, `aria-*`, * `onMouseEnter`, `slot`. Dropping them silently was the single most * common thing a React consumer hit before it could even reach a bug. */ readonly ownProps: readonly string[]; readonly serializers?: Partial, (value: any) => unknown>>; } export declare function useColletElement(props: Props, forwardedRef: ForwardedRef, config: ColletRuntimeConfig): { ref: (node: Element | null) => (() => void) | undefined; attrs: Record; }; export {};