import * as React from 'react';
import { type HTMLMotionProps } from 'motion/react';
type AnyProps = Record;
type DOMMotionProps = Omit, 'ref'> & {
ref?: React.Ref;
};
type WithAsChild = (Base & {
asChild: true;
children: React.ReactElement;
}) | (Base & {
asChild?: false | undefined;
});
/**
* Props for the Slot component.
*
* @example
* ```tsx
*
*
*
* ```
*/
export interface ISlotProps extends DOMMotionProps {
/** Child element to render with motion enhancements. */
children?: any;
}
type SlotProps = ISlotProps;
/**
* Slot component - Motion-enhanced composition primitive.
*
* Wraps a child element with motion capabilities using the asChild pattern.
* When the child is already a motion component, it's used directly.
* Otherwise, a motion wrapper is created with the child's element type.
*
* @param children - Child element to render with motion enhancements
* @param ref - Ref to the merged element
*
* @example
* ```tsx
* // Basic usage
*
*
*
*
* // With motion props
*
*
*
* ```
*/
export declare function Slot({ children, ref, ...props }: SlotProps): import("react/jsx-runtime").JSX.Element | null;
export type { WithAsChild, DOMMotionProps, AnyProps };
//# sourceMappingURL=index.d.ts.map