import { ForwardedRef, CSSProperties, ReactNode, Context } from 'react'; import { DOMProps as DOMProps$1, RefObject } from '@react-types/shared'; declare const DEFAULT_SLOT: unique symbol; interface SlottedValue { slots?: Record; } type WithRef = T & { ref?: ForwardedRef; }; type SlottedContextValue = SlottedValue | T | null | undefined; type ContextValue = SlottedContextValue>; interface StyleProps { /** The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. */ className?: string; /** The inline [style](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/style) for the element. */ style?: CSSProperties; } interface DOMProps extends StyleProps, DOMProps$1 { /** The children of the component. */ children?: ReactNode; } interface SlotProps { /** * A slot name for the component. Slots allow the component to receive props from a parent component. * An explicit `null` value indicates that the local props completely override all props received from a parent. */ slot?: string | null; } declare function useSlottedContext(context: Context>, slot?: string | null): T | null | undefined; declare function useContextProps(props: T & SlotProps, ref: ForwardedRef, context: Context>): [T, RefObject]; export { ContextValue, DEFAULT_SLOT, DOMProps, SlotProps, SlottedContextValue, StyleProps, WithRef, useContextProps, useSlottedContext };