import React from 'react';
import { getResolvedAttributes } from '@atlaskit/link-analytics/resolved-attributes';
import { context } from './analytics';
type SmartLinkAnalyticsContextProps = {
    children?: React.ReactNode;
    display?: string;
    id?: string | undefined;
    source?: string;
    url: string;
};
type SmartLinkAnalyticsContextType = {
    attributes?: typeof context & ReturnType<typeof getResolvedAttributes> & {
        display?: string;
        id?: string;
    };
    source?: string;
};
type GetByUrlFn = (url: string, props: Omit<SmartLinkAnalyticsContextProps, 'children' | 'url'>) => SmartLinkAnalyticsContextType;
type UseSmartLinkAnalyticsUtilsReturn = {
    getByUrl: GetByUrlFn;
};
/**
 * Provides an analytics context data to supply attributes to events based on a URL
 * and the link state in the store
 */
export declare const useSmartLinkAnalyticsUtils: () => UseSmartLinkAnalyticsUtilsReturn;
/**
 * Provides an analytics context data to supply attributes to events based on a URL
 * and the link state in the store
 * @deprecated Use useSmartLinkAnalyticsUtils instead
 */
export declare const useSmartLinkAnalyticsContext: ({ display, id, source, url, }: Exclude<SmartLinkAnalyticsContextProps, "children">) => SmartLinkAnalyticsContextType | undefined;
/**
 * Provides an analytics context to supply attributes to events based on a URL
 * and the link state in the store
 */
export declare const SmartLinkAnalyticsContext: ({ children, display, id, source, url, }: SmartLinkAnalyticsContextProps) => React.JSX.Element;
export {};
