import type { PropsWithChildren } from "react"; type TrackedFeatures = "visibility-change" | "hierarchy-level-filtering" | "filtering" | "hierarchy-level-size-limit-hit" | "zoom-to-node" | "error-timeout" | "error-unknown"; interface TelemetryContext { onPerformanceMeasured: (featureId: string, duration: number) => void; onFeatureUsed: (props: { featureId?: TrackedFeatures; reportInteraction: boolean; }) => void; } /** @beta */ export interface TelemetryContextProviderProps { /** Callback that is invoked when performance of tracked feature is measured. */ onPerformanceMeasured?: (featureId: string, duration: number) => void; /** Callback that is invoked when a tracked feature is used. */ onFeatureUsed?: (featureId: string) => void; /** Unique identifier that is appended to feature id to help track which component used that feature. */ componentIdentifier: string; } /** @beta */ export declare function TelemetryContextProvider({ children, onPerformanceMeasured, onFeatureUsed, componentIdentifier, }: PropsWithChildren): import("react/jsx-runtime.js").JSX.Element; export declare function useTelemetryContext(): TelemetryContext; interface UseReportingActionProps { action: TAction; featureId?: TrackedFeatures; } /** @internal */ export declare function useReportingAction void>({ action, featureId }: UseReportingActionProps): (...args: Parameters) => void; export {}; //# sourceMappingURL=UseTelemetryContext.d.ts.map