diff --git a/src/Serenity.Net.Services/Reporting/IReportCallbackInterceptor.cs b/src/Serenity.Net.Services/Reporting/IReportCallbackInterceptor.cs
new file mode 100644
index 0000000000..087db2b0ee
--- /dev/null
+++ b/src/Serenity.Net.Services/Reporting/IReportCallbackInterceptor.cs
@@ -0,0 +1,14 @@
+namespace Serenity.Reporting;
+
+///
+/// Abstraction for a report callback interceptor that is called by ~/Serenity.Extensions/Report/Render.
+/// This is implemented by HtmlReportCallbackUrlInterceptor to implement impersonation and transient
+/// granting during report callbacks.
+///
+public interface IReportCallbackInterceptor
+{
+ ///
+ /// Intercepts ReportController Render action callbacks.
+ ///
+ ReportRenderResult InterceptCallback(ReportRenderOptions options, Func action);
+}
\ No newline at end of file