/** * The runtime half of the `asChild` slot contract. * * Radix clones its own props onto the node an `asChild` slot is given, so the * slot takes exactly one ELEMENT. `ReactElement` states half of that: it rejects * a string, which would throw inside Radix anyway. It does NOT reject a * FRAGMENT — `<>` is a `ReactElement` whose `type` is the fragment symbol — * and a fragment is the worse of the two, because React drops every prop cloned * onto it: the opener renders, carries no `aria-haspopup`/`aria-expanded`/ * `aria-controls` and no handler, and fails nothing. */ import type { ReactElement } from 'react'; /** Raises when an `asChild` slot is handed a fragment. `slot` names the prop. */ export declare function assertSlotElement(element: ReactElement, slot: string): void; //# sourceMappingURL=element-slot.d.ts.map