import React from 'react';
import { type ContextPublicAttributes, type ContextStaticProps } from './types';
/**
 * HOC for attaching MediaAnalyticsContext to a top-level React Component.
 *
 * Similar than "packages/analytics/analytics-next/src/hocs/withAnalyticsContext.tsx",
 * except that we restrict attributes put in this context using ContextPublicAttributes and ContextPrivateAttributes.
 *
 * As a constraint, the wrapped React Component's props must extend ContextStaticProps.
 *
 * @param {ContextPublicAttributes} attributes public attributes to put in context
 *
 * @see packages/analytics/analytics-next/src/hocs/withAnalyticsContext.tsx
 */
export declare const withMediaAnalyticsContext: (contextPublicAttributes: ContextPublicAttributes) => <Props extends ContextStaticProps, Component extends React.ComponentType<Props>>(WrappedComponent: React.JSXElementConstructor<Props> & Component) => React.ForwardRefExoticComponent<React.PropsWithoutRef<JSX.LibraryManagedAttributes<Component, Props>> & React.RefAttributes<any>>;
