import { SlotProps } from "./types.cjs";
import { Slots } from "./Slots.cjs";
import { ReactNode } from "react";
//#region src/Slots/useSlots.d.ts
/**
* Collects default children and named `Template` children into renderable slots.
*
* The returned `Slot` component renders default content when no `name` is
* supplied, renders fallback children when a named slot is missing, supports
* `props` injection for element/function slot content, and supports `map` for
* custom wrapping or transformation.
*
* @param defaultNodes - Children to scan for default content and `Template` markers.
* @returns The slot boundary component and the collected slot renderer.
*
* @example
* ```tsx
* function Panel({ children }: { children: React.ReactNode }) {
* const { Slot } = useSlots(children);
*
* return (
* <>
*
*
* >
* );
* }
* ```
*/
declare function useSlots(defaultNodes: ReactNode): {
Slots: typeof Slots;
Slot: (props: SlotProps) => import("react").JSX.Element | ReactNode[] | null;
};
//#endregion
export { useSlots };
//# sourceMappingURL=useSlots.d.cts.map