import React from 'react';
import type { ResponsiveProps } from '../types';
import type { UseBreakpointsOptions } from './BreakpointContext';
import type { MediaQueryProps } from './MediaQuery';
declare global {
namespace JSX {
interface IntrinsicAttributes {
slot?: string;
}
}
}
export declare type WithMediaQueryProps
= MediaQueryProps
& P;
export declare type WithMediaQueryStyleProps
= P & UseBreakpointsOptions
;
export declare type WithMediaQueryInnerProps
= P & {
/**
* @TJS-ignore
*/
dataSet?: Record;
/**
* @TJS-ignore
*/
hostDataSet?: Record;
/**
* @TJS-ignore
*/
containerDataSet?: Record;
};
/**
* A higher order component that will enhance a given component so
* that if a `breakpoints` or `(xs|sm|md|lg|xl)Style` prop is provided
* that component will be wrapped in a `MediaQuery`
*
* @param Component a component to enhance with
* the `breakpoints` props
* @return an enhanced component that will apply styles
* based on conditions specified in the `breakpoints` prop
* @example
* ```tsx
* const ResponsiveView = withMediaQuery(View);
*
*
* ```
*/
export declare const withMediaQuery: >(Component: React.ComponentType>) => React.FC>;