import { Logger } from 'n8n-core';
import type { ExecutionLifecycleHooks } from 'n8n-core';
import { type IRun } from 'n8n-workflow';
import { SharedWorkflowRepository } from '../../databases/repositories/shared-workflow.repository';
import { InsightsConfig } from './insights.config';
export declare class InsightsCollectionService {
    private readonly sharedWorkflowRepository;
    private readonly insightsConfig;
    private readonly logger;
    private readonly cachedMetadata;
    private bufferedInsights;
    private flushInsightsRawBufferTimer;
    private isAsynchronouslySavingInsights;
    private flushesInProgress;
    constructor(sharedWorkflowRepository: SharedWorkflowRepository, insightsConfig: InsightsConfig, logger: Logger);
    startFlushingTimer(): void;
    stopFlushingTimer(): void;
    shutdown(): Promise<void>;
    workflowExecuteAfterHandler(ctx: ExecutionLifecycleHooks, fullRunData: IRun): Promise<void>;
    private saveInsightsMetadataAndRaw;
    flushEvents(): Promise<void>;
}
