import { PluginProperty } from '../../api/core/plugin/PluginPropertyInterface';
import { BasePlugin, PropertiesWrapper } from '../common/BasePlugin';
import { ActivityAnalyzer, ActivityAnalyzerPluginResponse, ActivityAnalyzerRequest } from './ActivityAnalyzerInterface';
export interface ActivityAnalyzerBaseInstanceContext {
    properties: PropertiesWrapper;
    activityAnalyzer: ActivityAnalyzer;
}
export declare abstract class ActivityAnalyzerPlugin extends BasePlugin<ActivityAnalyzerBaseInstanceContext> {
    constructor(enableThrottling?: boolean);
    fetchActivityAnalyzer(activityAnalyzerId: string): Promise<ActivityAnalyzer>;
    fetchActivityAnalyzerProperties(activityAnalyzerId: string): Promise<PluginProperty[]>;
    protected instanceContextBuilder(activityAnalyzerId: string): Promise<ActivityAnalyzerBaseInstanceContext>;
    protected getInstanceContext(activityAnalyzerId: string): Promise<ActivityAnalyzerBaseInstanceContext>;
    protected abstract onActivityAnalysis(request: ActivityAnalyzerRequest, instanceContext: ActivityAnalyzerBaseInstanceContext): Promise<ActivityAnalyzerPluginResponse>;
    private initActivityAnalysis;
}
